Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59720bb2 authored by Benjamin Franz's avatar Benjamin Franz
Browse files

Add profile policy to set work challenge background color

Adding a policy for profile owners to set the background color of the
confirm credential screen for the managed profile.

Bug: 26638631

Change-Id: Iea36b94c5a42b6ae12cc36921ec5f840306e81a1
parent 6c4f4284
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -5806,6 +5806,7 @@ package android.app.admin {
    method public java.lang.String getLongSupportMessage(android.content.ComponentName);
    method public int getMaximumFailedPasswordsForWipe(android.content.ComponentName);
    method public long getMaximumTimeToLock(android.content.ComponentName);
    method public int getOrganizationColor(android.content.ComponentName);
    method public boolean getPackageSuspended(android.content.ComponentName, java.lang.String);
    method public android.app.admin.DevicePolicyManager getParentProfileInstance(android.content.ComponentName);
    method public long getPasswordExpiration(android.content.ComponentName);
@@ -5874,6 +5875,7 @@ package android.app.admin {
    method public void setMasterVolumeMuted(android.content.ComponentName, boolean);
    method public void setMaximumFailedPasswordsForWipe(android.content.ComponentName, int);
    method public void setMaximumTimeToLock(android.content.ComponentName, long);
    method public void setOrganizationColor(android.content.ComponentName, int);
    method public boolean setPackageSuspended(android.content.ComponentName, java.lang.String, boolean);
    method public void setPasswordExpirationTimeout(android.content.ComponentName, long);
    method public void setPasswordHistoryLength(android.content.ComponentName, int);
+2 −0
Original line number Diff line number Diff line
@@ -5943,6 +5943,7 @@ package android.app.admin {
    method public java.lang.String getLongSupportMessage(android.content.ComponentName);
    method public int getMaximumFailedPasswordsForWipe(android.content.ComponentName);
    method public long getMaximumTimeToLock(android.content.ComponentName);
    method public int getOrganizationColor(android.content.ComponentName);
    method public boolean getPackageSuspended(android.content.ComponentName, java.lang.String);
    method public android.app.admin.DevicePolicyManager getParentProfileInstance(android.content.ComponentName);
    method public long getPasswordExpiration(android.content.ComponentName);
@@ -6017,6 +6018,7 @@ package android.app.admin {
    method public void setMasterVolumeMuted(android.content.ComponentName, boolean);
    method public void setMaximumFailedPasswordsForWipe(android.content.ComponentName, int);
    method public void setMaximumTimeToLock(android.content.ComponentName, long);
    method public void setOrganizationColor(android.content.ComponentName, int);
    method public boolean setPackageSuspended(android.content.ComponentName, java.lang.String, boolean);
    method public void setPasswordExpirationTimeout(android.content.ComponentName, long);
    method public void setPasswordHistoryLength(android.content.ComponentName, int);
+2 −0
Original line number Diff line number Diff line
@@ -5808,6 +5808,7 @@ package android.app.admin {
    method public java.lang.String getLongSupportMessage(android.content.ComponentName);
    method public int getMaximumFailedPasswordsForWipe(android.content.ComponentName);
    method public long getMaximumTimeToLock(android.content.ComponentName);
    method public int getOrganizationColor(android.content.ComponentName);
    method public boolean getPackageSuspended(android.content.ComponentName, java.lang.String);
    method public android.app.admin.DevicePolicyManager getParentProfileInstance(android.content.ComponentName);
    method public long getPasswordExpiration(android.content.ComponentName);
@@ -5876,6 +5877,7 @@ package android.app.admin {
    method public void setMasterVolumeMuted(android.content.ComponentName, boolean);
    method public void setMaximumFailedPasswordsForWipe(android.content.ComponentName, int);
    method public void setMaximumTimeToLock(android.content.ComponentName, long);
    method public void setOrganizationColor(android.content.ComponentName, int);
    method public boolean setPackageSuspended(android.content.ComponentName, java.lang.String, boolean);
    method public void setPasswordExpirationTimeout(android.content.ComponentName, long);
    method public void setPasswordHistoryLength(android.content.ComponentName, int);
+51 −0
Original line number Diff line number Diff line
@@ -5129,4 +5129,55 @@ public class DevicePolicyManager {
            return null;
        }
    }

    /**
     * Called by a profile owner of a managed profile to set the color used for customization.
     * This color is used as background color of the confirm credentials screen for that user.
     * The default color is {@link android.graphics.Color#GRAY}.
     *
     * <p>The confirm credentials screen can be created using
     * {@link android.app.KeyguardManager#createConfirmDeviceCredentialIntent}.
     *
     * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
     * @param color The 32bit representation of the color to be used.
     */
    public void setOrganizationColor(@NonNull ComponentName admin, int color) {
        try {
            mService.setOrganizationColor(admin, color);
        } catch (RemoteException re) {
            Log.w(TAG, REMOTE_EXCEPTION_MESSAGE, re);
        }
    }

    /**
     * Called by a profile owner of a managed profile to retrieve the color used for customization.
     * This color is used as background color of the confirm credentials screen for that user.
     *
     * @param admin Which {@link DeviceAdminReceiver} this request is associated with.
     * @return The 32bit representation of the color to be used.
     */
    public int getOrganizationColor(@NonNull ComponentName admin) {
        try {
            return mService.getOrganizationColor(admin);
        } catch (RemoteException re) {
            Log.w(TAG, REMOTE_EXCEPTION_MESSAGE, re);
            return 0;
        }
    }

    /**
     * @hide
     * Retrieve the customization color for a given user.
     *
     * @param userHandle The user id of the user we're interested in.
     * @return The 32bit representation of the color to be used.
     */
    public int getOrganizationColorForUser(int userHandle) {
        try {
            return mService.getOrganizationColorForUser(userHandle);
        } catch (RemoteException re) {
            Log.w(TAG, REMOTE_EXCEPTION_MESSAGE, re);
            return 0;
        }
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -263,4 +263,8 @@ interface IDevicePolicyManager {
    String getLongSupportMessageForUser(in ComponentName admin, int userHandle);

    boolean isSeparateProfileChallengeAllowed(int userHandle);

    void setOrganizationColor(in ComponentName admin, in int color);
    int getOrganizationColor(in ComponentName admin);
    int getOrganizationColorForUser(int userHandle);
}
Loading