-
-
Notifications
You must be signed in to change notification settings - Fork 20
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
'MATCH_UNINSTALLED_PACKAGES' flag exposes apps installed in other profiles without the proper permissions granted #1634
'MATCH_UNINSTALLED_PACKAGES' flag exposes apps installed in other profiles without the proper permissions granted #1634
Comments
Only main ("Owner") profile is allowed to see apps installed in other profiles. |
This information is accessible to user-installed apps on Owner profile only if Owner profile has a work profile:
Removing |
That seems odd. If a launcher needs access to all packages installed within the main and work profile for it to operate properly, why bother including user profiles? The launcher can't even be used there until it's installed. I'm just going to assume they did not account for user profiles at all (unless they're not a thing in AOSP). |
Presence of TODO and a bug ID suggests that this'll be fixed in some way in the future. |
I see. It'd be worth noting this bug down in the user profile section of the GrapheneOS site until it's been addressed. As I'm sure there are others who also use a work profile for personal use, but aren't aware it compromises the isolation of their user profiles to a degree. |
I've tested a build with this Update: Tested 20 launchers that came up in Play Store search for "launcher", none of them regressed with this build. |
This TODO has been added over 6 years ago, in October 2016: Commit message (scroll to the top of the page) says:
|
I assume this means the developers simply forgot to remove this hack overtime? Since it looks like all modern launchers rely on the newer API instead. |
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
AOSP takes backward compatibility very seriously. |
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details. Signed-off-by: Dmitrii <[email protected]>
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details. Signed-off-by: Dmitrii <[email protected]>
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
If the primary user had a work profile, then apps installed in primary user could see packages that were installed only in secondary user(s). They couldn't see which secondary user had which apps, only presence of such packages was revealed. This special handling of MATCH_UNINSTALLED_PACKAGES flag was added in October 2016 for compatibility with legacy launchers. It is not needed anymore, at least for popular third party launchers. Note that apps in owner user can still see apps in work profile of owner user, it's part of a public API. Also, apps that are not installed in primary user are visible in Settings -> Apps, with "Not installed for this user" subtitle. See commit 0d1fd8d and issue report GrapheneOS/os-issue-tracker#1634 for more details.
I was discussing with the developer of App Manager in this issue about how his app was able to view packages installed in other profiles without being granted the proper permissions:
INTERACT_ACROSS_USERS
orMANAGE_USERS
. The issue linked was initially only about packages installed within the work profile, but it does occur with user profiles as well.In the documentation of the app, it's mentioned that this feature isn't properly supported in "no root" mode (without the use of ADB or root). However, it's still able to view packages installed in other profiles while in this mode. Albeit it's not able to view their details, as it thinks they're uninstalled, but it's still shouldn't be aware of their presence.
The developer believes this is due to the use of the
MATCH_UNINSTALLED_PACKAGES
flag. According to its android developer page, the flag:"retrieve[s] some information about all applications (even uninstalled ones) which have data directories. This state could have resulted if applications have been deleted with flag DELETE_KEEP_DATA with a possibility of being replaced or reinstalled in future. Note: this flag may cause less information about currently installed applications to be returned."
Based on its note and my experience with it, it seems like it also returns installed applications within other profiles, bypassing the isolation they provide.
Device info
The text was updated successfully, but these errors were encountered: