Issue 6750: Respect app source during update using installer name
Description
Each installed app has its "installer" i.e. the app which installed that app. Use that value to update apps from specific sources. This value is visible from App Info page for that app under the "Store" section.
Note to reviewers
This a relatively big merge request, kindly go commit by commit to make sense of it all.
Screenshots
Technical details
Problem
If an app is present on both F-Droid and Google Play, App Lounge has not been showing the GPlay version for quite some time now. So if any user had a very old version of App Lounge and installed any such app from GPlay, in recent versions of App Lounge, the user can no longer update the app. This is because App Lounge always tries to update that app (installed from GPlay) from F-Droid. This causes a certificate mismatch error.
Solution
An app installed by App Lounge either has its installer set as:
- "App Lounge Store" (pointing to com.vending.android) - For apps installed from GPlay
- "App Lounge" (pointing to foundation.e.apps) - For open source apps installed from F-Droid / cleanapk.
For the users who had installed the affected apps from GPlay (in the old App Lounge), will still have those apps marked as installed from "App Lounge Store". We can check that field and even if the same app is present on F-Droid, we will show the update from GPlay and perform the update accordingly.