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

Work app store #2553

Open
wants to merge 82 commits into
base: master
Choose a base branch
from
Open

Conversation

fynngodau
Copy link
Contributor

@fynngodau fynngodau commented Sep 22, 2024

Supersedes and contains #2500. Supersedes and contains #2521.

Allows users to download apps to their work profile using the special vending component "Work app store". This component is disabled, and enabled only when a work profile is added (which in turn can only be done by a device or profile admin).

Yet to do:

  • rewrite download code for components (Implement SplitInstallService #2500 (comment))
    • don't allocate RAM for the entire download
    • download directly to installer session
  • add meaningful progress information
    • to store app
    • while downloading in the background through store app
    • while splitinstalling
  • determine and verify meaning of policy field in /getEnterpriseClientPolicy
  • test additional dpc services
  • show Work app store only after adding work account
  • automatic dependency installation (i.e. installing Google Chrome), see https://gitlab.com/AuroraOSS/AuroraStore/-/issues/346)
  • acquire user consent before provisioning work account → new settings screen in microG UI, is shared across accounts (note that custom ROM vendors are expected to grant microG the INTERACT_ACROSS_USERS permission for this)
  • automatically install / remove apps on demand of dpc controller → for future investigations

Mostly up-to-date screenshot:

Screenshot_1727017306

DaVinci9196 and others added 30 commits August 19, 2024 19:22
Verify that work accounts are only added by device owners or profile
owners.

For instance, Microsoft Intune will create a work profile (moving itself
to the work profile in the process) before using the work account servce
to create a work account, so at that point it will already be profile
owner. Apps that are not the profile owner will subsequently not be able
to disable the work account authenticator or remove the work account.
The personal account would not have an owner and thus no application
could enable the work account provider there.
@Uldiniad
Copy link
Contributor

@Iey4iej3
Copy link

Split Install Service is also used outside "work app store", without it some apps may not be able to download the necessary components so I think it should have priority in my opinion.

Why not split it (the rewritten one) in a separate PR so it can be merged in less time?

Agree with this.

@fynngodau
Copy link
Contributor Author

Hi, was wondering if there'd be any use for classes like https://review.calyxos.org/c/CalyxOS/platform_external_microg_GmsCore/+/33556/3/play-services-auth/src/main/java/com/google/android/gms/auth/account/WorkAccountApi.java ?

@Uldiniad As far as I can tell, these classes from https://developers.google.com/android/reference/com/google/android/gms/auth/account/WorkAccount are used as an interface for the consumer of the DPC controller library, aren't they? I don't think we need to implement those in microG, as they seem not to be part of the library-to-GMS API.

URI is only rewritten to reference the correct user ID (to become
`content://[email protected]`) if it is set to an
response intent's data, not if it is data of an intent that creates an
activity cross-profile. (Suspected platform bug.)
@mar-v-in mar-v-in removed this from the 0.3.7 milestone Mar 12, 2025
@fynngodau fynngodau requested a review from jonathanklee March 20, 2025 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants