Merge "Allow privileged apps to set the organization color." into nyc-dev
am: eff90bd5ff
* commit 'eff90bd5ff6bd50325149a5010183277bd76f4c6':
Allow privileged apps to set the organization color.
This commit is contained in:
@@ -16,12 +16,14 @@
|
||||
|
||||
package android.app.admin;
|
||||
|
||||
import android.annotation.ColorInt;
|
||||
import android.annotation.IntDef;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SdkConstant;
|
||||
import android.annotation.SdkConstant.SdkConstantType;
|
||||
import android.annotation.SystemApi;
|
||||
import android.annotation.UserIdInt;
|
||||
import android.app.Activity;
|
||||
import android.auditing.SecurityLog;
|
||||
import android.auditing.SecurityLog.SecurityEvent;
|
||||
@@ -5611,6 +5613,25 @@ public class DevicePolicyManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*
|
||||
* Sets the color used for customization.
|
||||
*
|
||||
* @param color The 32bit representation of the color to be used.
|
||||
* @param userId which user to set the color to.
|
||||
* @RequiresPermission(allOf = {
|
||||
* Manifest.permission.MANAGE_USERS,
|
||||
* Manifest.permission.INTERACT_ACROSS_USERS_FULL})
|
||||
*/
|
||||
public void setOrganizationColorForUser(@ColorInt int color, @UserIdInt int userId) {
|
||||
try {
|
||||
mService.setOrganizationColorForUser(color, userId);
|
||||
} 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.
|
||||
|
||||
@@ -277,6 +277,7 @@ interface IDevicePolicyManager {
|
||||
boolean isSeparateProfileChallengeAllowed(int userHandle);
|
||||
|
||||
void setOrganizationColor(in ComponentName admin, in int color);
|
||||
void setOrganizationColorForUser(in int color, in int userId);
|
||||
int getOrganizationColor(in ComponentName admin);
|
||||
int getOrganizationColorForUser(int userHandle);
|
||||
|
||||
|
||||
@@ -8324,6 +8324,21 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOrganizationColorForUser(int color, int userId) {
|
||||
if (!mHasFeature) {
|
||||
return;
|
||||
}
|
||||
enforceFullCrossUsersPermission(userId);
|
||||
enforceManageUsers();
|
||||
enforceManagedProfile(userId, "set organization color");
|
||||
synchronized (this) {
|
||||
ActiveAdmin admin = getProfileOwnerAdminLocked(userId);
|
||||
admin.organizationColor = color;
|
||||
saveSettingsLocked(userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getOrganizationColor(@NonNull ComponentName who) {
|
||||
if (!mHasFeature) {
|
||||
|
||||
Reference in New Issue
Block a user