MuntashirAkon / MuntashirAkon/AppManager

A comprehensive list of applications that cannot be fully backed up or restored using App Manager

Open
#617 0 comments 0 reactions 0 assignees View on GitHub
Discussion Feature: Backup Priority: 5
Dominant language
Java
Stars
9k
Forks
518
PR merge metrics
No merged PRs in 30d

Description

App Manager's backup system is designed in such as way that it can back up or restore any ordinary apps without issues. However, now and then, a few apps do not work as expected, especially the ones that utilise Android KeyStore. As a result, it might be useful to create a database of apps which cannot be backed up or restored using App Manager and even if they can, what caveats a user might look for.

**Purpose**
1. User can easily look for an app by either its package name (and label) to find potential problems. It is necessary that we also cover all the apps that are known to work. But this will be stored in a separate list (because we don't need it for other usage).
2. Bundle the list with App Manager in the future so that the user can be warned. By default, backing up apps with KeyStore is disabled, but in the future this could be replaced by this list so that a user may not need to be well-known about the KeyStore business.
3. Most importantly, understand the error pattern and fix them if possible.

**How it will work**
For portability as well as readability, each package name will have a separate JSON file with the format `package-name.json`. This file will contain **stable** version information only. The definition of stable is different here. **Stable**-ness of a version is defined by the following criteria (all have to be matched):
1. It's not a minor release. The definition of minor release varies from app to app, and it's left to the user to decide which is which. An example could be Poweramp v2 and Poweramp v3. Two are the major releases, and their features vary a lot. Restoring v2 is easier than restoring v3. But the restoring process is consistent on both releases i.e. the method of restoring any version of v3 is the same.
2. The method of restoring the release is the same as the previously documented version.
3. Restoring didn't work in the previous versions but it is working now.

**JSON schema**
Will be updated later on. In general, the JSON schema should be well structured, informative and localised (so that users of other language can understand the instructions too). In order to reduce burden on the translators, stresses shall be put on creating keywords and possibly, an optional app and version-specific summary. Another challenge would be detecting version _xxx_ or later for an app that uses special code such as the popular Google versioning.

**Location of repository and files**
The repository will be located under the organisation @amcommunity and (since I cannot afford a dynamic website or a domain,) a static website will be generated based on the json files and will be available as a subdomain under GitHub.

**Purpose of this issue**
To discuss what the JSON would contain to plan for a JSON schema. It is also my intention to create a JSON rule generator so that novice user can easily report issues in the repository.

Any user or tester who are actively trying back up/restore feature of App Manager are welcome to comment here. Thanks.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.