Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

grapheneos fdroid "No app store installed" #816

Open
mattfbacon opened this issue Dec 12, 2024 · 7 comments
Open

grapheneos fdroid "No app store installed" #816

mattfbacon opened this issue Dec 12, 2024 · 7 comments
Labels
bug needs info Requires more information from reporter

Comments

@mattfbacon
Copy link

After installing F-Droid I still get the message "no app store installed" when I try to manually install apps that couldn't be automatically restored.

@grote
Copy link
Collaborator

grote commented Dec 12, 2024

May be a Graphene specific issue. What app did installed these apps previously, when you did the backup? The same F-Droid?

Could you leave restore right after the message "no app store installed" appeared, then in the main screen, go to expert settings and export logcat from there? I'd be interested in the end of that log.

The code that creates the app store intent is here:

It uses a market://details?id=$packageName URI which all stores including F-Droid normally understand. If the installer of the app is known and the installer app is installed, we restrict the intent to that. There may be a bug in this logic, but lets wait for your log.

@mattfbacon
Copy link
Author

Yeah so they probably had org.fdroid.basic as the installation source because I was using CalyxOS and now I have org.fdroid.fdroid. But there should be a case for when the old installation source is no longer present that allows the normal behaviour of choosing any installer.

@grote
Copy link
Collaborator

grote commented Dec 12, 2024

I guess org.fdroid.basic is not installed then? Can you try with it installed, if it fixes the issue?

The logic should not restrict the intent to basic, if it isn't installed:

val isInstalled = isPackageInstalled.getOrPut(packageName) {
packageManager.isInstalled(packageName)
}
return if (isInstalled) packageName else null
}
}
fun PackageManager.isInstalled(packageName: String): Boolean {
return try {
getPackageInfo(packageName, 0)
true
} catch (e: PackageManager.NameNotFoundException) {
false
}

So F-Droid should be able to pick up the intent we send.

@grote
Copy link
Collaborator

grote commented Dec 12, 2024

F-Droid Basic installer matching first entered in 18013c0 which first appeared in 14-4.0 which is newer than 14-3.3 what you use. So that means the package of the intent should not get restricted and any app store can pick it up.

If you install aurora and/or F-Droid basic, is any app getting opened?

@mattfbacon
Copy link
Author

Yes, with F-Droid Basic installed it did work.

@grote
Copy link
Collaborator

grote commented Dec 12, 2024

That is weird. This sounds like it had restricted it to basic even though it isn't installed. Or normal F-Droid wasn't reacting to the intent?

@mattfbacon
Copy link
Author

I think it was an corner case from the fact that I had just installed normal F-Droid during the backup restore, F-Droid Basic itself was installed by the restore and I uninstalled it manually after, and the packages to be restored were marked as installed by F-Droid Basic. I can't reproduce the issue anymore and I also tested with some testing code to invoke the market URL intent and everything worked normally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug needs info Requires more information from reporter
Projects
None yet
Development

No branches or pull requests

2 participants