MuntashirAkon / AppManager

A full-featured package manager and viewer for Android
https://muntashirakon.github.io/AppManager/
Other
4.81k stars 270 forks source link

Integrated crash monitor #163

Open Atrate opened 3 years ago

Atrate commented 3 years ago

Strongly related to: https://github.com/MuntashirAkon/AppManager/issues/34#issuecomment-657995859

A feature that would IMHO fit AM would be crash monitor functionality that would work in the following way:

Additional features for monitoring crashes:

This feature is inspired by an Xposed module called Scoop that does the exact same thing.

MuntashirAkon commented 3 years ago

Now that #34 is implemented and @TacoTheDank's Scoop has gotten into F-Droid, I think we can start working on this.

TacoTheDank commented 3 years ago

@MuntashirAkon Maybe you could make a link to Scoop on F-Droid as part of an extension (like you did with UnApkm)? Although, you do already have the READ_LOGS permission in AM, so users might not want to have to go through the process of granting it again for a separate app. I'm just a tiny bit concerned that you're gonna end up making my app completely obsolete lmao (which I honestly don't mind, do whatever is best or easiest for you 👍).

Feel free to use the code from Scoop, just tell me when you implement it so that I can try to keep up 😄 also a code doc right before the class declaration that says something akin to // Based off of Scoop (https://github.com/TacoTheDank/Scoop) would be pretty sweet.

Just a forewarning: if you do use the Scoop codebase, you'll have to migrate it over from the deprecated Inquiry database implementation (which I also plan on doing myself), though I suppose that won't be too difficult for you considering all you've already done with this amazing app.

Take care! :P

MuntashirAkon commented 3 years ago

Maybe you could make a link to Scoop on F-Droid as part of an extension (like you did with UnApkm)?

Does the app offers an API that I can work with? UnAPKM offers a public API that can be used to integrate it to App Manager (or any other apps). Or maybe the whole log viewer can be supplied as a separate app.

I'm just a tiny bit concerned that you're gonna end up making my app completely obsolete lmao

Haha, not all users like integrating everything in one place.

also a code doc right before the class declaration that says something akin to // Based off of Scoop (https://github.com/TacoTheDank/Scoop) would be pretty sweet.

I can see that it's under Apache-2.0 which means I'd have to include your name in the copyright section of every file that I copy. I also include it in the credits section even if I only take hints from an app.

Just a forewarning: if you do use the Scoop codebase, you'll have to migrate it over from the deprecated Inquiry database implementation (which I also plan on doing myself), though I suppose that won't be too difficult for you considering all you've already done with this amazing app.

Thanks for the warning. I haven't decided anything about it yet (since it's a priority 5 issue). I'd have to do a feasibility study before I can decide anything.

TacoTheDank commented 3 years ago

Maybe you could make a link to Scoop on F-Droid as part of an extension (like you did with UnApkm)?

Does the app offers an API that I can work with? UnAPKM offers a public API that can be used to integrate it to App Manager (or any other apps).

Hmm, no, Scoop has no API. I have never tried this sort of thing before 😅 it would definitely be fun though. It would involve separating all the crash-catching logic from the app-specific logic, of course. I'll look into it for sure, although right now it's looking more like a pipe dream lol.

MuntashirAkon commented 3 years ago

I have never tried this sort of thing before 😅 it would definitely be fun though.

It definitely is, at least, on Android. I've built APIs using other languages and platforms but they are not as smooth as in Android. Although I hate a lot of things about Android, I definitely have to credit AOSP on this!

It would involve separating all the crash-catching logic from the app-specific logic, of course.

Yeah, use of a framework such as MVVM nicely does it as long as it's not a very complicated app (in which case this can be a nightmare if not documented properly).

I'll look into it for sure, although right now it's looking more like a pipe dream lol.

I don't know what this means but an API definitely involves pipes 😉 .