Loading api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5689,6 +5689,7 @@ package android.app.admin { method public java.util.List<java.lang.String> getCrossProfileWidgetProviders(android.content.ComponentName); method public int getCurrentFailedPasswordAttempts(); method public java.lang.String getDeviceInitializerApp(); method public android.content.ComponentName getDeviceInitializerComponent(); method public java.lang.String getDeviceOwner(); method public java.util.List<byte[]> getInstalledCaCerts(android.content.ComponentName); method public int getKeyguardDisabledFeatures(android.content.ComponentName); core/java/android/app/admin/DevicePolicyManager.java +21 −2 Original line number Diff line number Diff line Loading @@ -2639,8 +2639,8 @@ public class DevicePolicyManager { * called by the device owner. * @param initializer Which {@link DeviceAdminReceiver} to make device initializer. * @param initializerName The user-visible name of the device initializer. * @return whether the package was successfully registered as the device initializer. * @throws IllegalArgumentException if the package name is null or invalid * @return whether the component was successfully registered as the device initializer. * @throws IllegalArgumentException if the componentname is null or invalid * @throws IllegalStateException if the caller is not device owner or the device has * already been provisioned or a device initializer already exists. */ Loading Loading @@ -2709,6 +2709,25 @@ public class DevicePolicyManager { return null; } /** * @hide * Gets the device initializer component of the system. * * @return the component name of the device initializer. */ @SystemApi public ComponentName getDeviceInitializerComponent() { if (mService != null) { try { return mService.getDeviceInitializerComponent(); } catch (RemoteException re) { Log.w(TAG, "Failed to get device initializer"); } } return null; } /** * Sets the enabled state of the user. A user should be enabled only once it is ready to * be used. Loading core/java/android/app/admin/IDevicePolicyManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,7 @@ interface IDevicePolicyManager { void clearDeviceInitializer(in ComponentName who); boolean setDeviceInitializer(in ComponentName who, in ComponentName initializer, String initializerName); String getDeviceInitializer(); ComponentName getDeviceInitializerComponent(); void setUserIcon(in ComponentName admin, in Bitmap icon); } services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java +23 −5 Original line number Diff line number Diff line Loading @@ -110,9 +110,9 @@ class DeviceOwner { /** * Creates an instance of the device owner object with the device initializer set. */ static DeviceOwner createWithDeviceInitializer(String packageName, String ownerName) { static DeviceOwner createWithDeviceInitializer(ComponentName admin, String ownerName) { DeviceOwner owner = new DeviceOwner(); owner.mDeviceInitializer = new OwnerInfo(ownerName, packageName); owner.mDeviceInitializer = new OwnerInfo(ownerName, admin); return owner; } Loading Loading @@ -141,6 +141,10 @@ class DeviceOwner { mDeviceOwner = null; } ComponentName getDeviceInitializerComponent() { return mDeviceInitializer.admin; } String getDeviceInitializerPackageName() { return mDeviceInitializer != null ? mDeviceInitializer.packageName : null; } Loading @@ -149,8 +153,8 @@ class DeviceOwner { return mDeviceInitializer != null ? mDeviceInitializer.name : null; } void setDeviceInitializer(String packageName, String ownerName) { mDeviceInitializer = new OwnerInfo(ownerName, packageName); void setDeviceInitializer(ComponentName admin, String ownerName) { mDeviceInitializer = new OwnerInfo(ownerName, admin); } void clearDeviceInitializer() { Loading Loading @@ -235,7 +239,17 @@ class DeviceOwner { } else if (tag.equals(TAG_DEVICE_INITIALIZER)) { String name = parser.getAttributeValue(null, ATTR_NAME); String packageName = parser.getAttributeValue(null, ATTR_PACKAGE); String initializerComponentStr = parser.getAttributeValue(null, ATTR_COMPONENT_NAME); ComponentName admin = ComponentName.unflattenFromString(initializerComponentStr); if (admin != null) { mDeviceInitializer = new OwnerInfo(name, admin); } else { mDeviceInitializer = new OwnerInfo(name, packageName); Slog.e(TAG, "Error parsing device-owner file. Bad component name " + initializerComponentStr); } } else if (tag.equals(TAG_PROFILE_OWNER)) { String profileOwnerPackageName = parser.getAttributeValue(null, ATTR_PACKAGE); String profileOwnerName = parser.getAttributeValue(null, ATTR_NAME); Loading Loading @@ -303,6 +317,10 @@ class DeviceOwner { if (mDeviceInitializer.name != null) { out.attribute(null, ATTR_NAME, mDeviceInitializer.name); } if (mDeviceInitializer.admin != null) { out.attribute( null, ATTR_COMPONENT_NAME, mDeviceInitializer.admin.flattenToString()); } out.endTag(null, TAG_DEVICE_INITIALIZER); } Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +15 −2 Original line number Diff line number Diff line Loading @@ -4007,12 +4007,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { if (mDeviceOwner == null) { // Device owner state does not exist, create it. mDeviceOwner = DeviceOwner.createWithDeviceInitializer( initializer.getPackageName(), ownerName); initializer, ownerName); mDeviceOwner.writeOwnerFile(); return true; } else { // Device owner already exists, update it. mDeviceOwner.setDeviceInitializer(initializer.getPackageName(), ownerName); mDeviceOwner.setDeviceInitializer(initializer, ownerName); mDeviceOwner.writeOwnerFile(); return true; } Loading Loading @@ -4057,6 +4057,19 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { return null; } @Override public ComponentName getDeviceInitializerComponent() { if (!mHasFeature) { return null; } synchronized (this) { if (mDeviceOwner != null && mDeviceOwner.hasDeviceInitializer()) { return mDeviceOwner.getDeviceInitializerComponent(); } } return null; } @Override public void clearDeviceInitializer(ComponentName who) { if (!mHasFeature) { Loading Loading
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5689,6 +5689,7 @@ package android.app.admin { method public java.util.List<java.lang.String> getCrossProfileWidgetProviders(android.content.ComponentName); method public int getCurrentFailedPasswordAttempts(); method public java.lang.String getDeviceInitializerApp(); method public android.content.ComponentName getDeviceInitializerComponent(); method public java.lang.String getDeviceOwner(); method public java.util.List<byte[]> getInstalledCaCerts(android.content.ComponentName); method public int getKeyguardDisabledFeatures(android.content.ComponentName);
core/java/android/app/admin/DevicePolicyManager.java +21 −2 Original line number Diff line number Diff line Loading @@ -2639,8 +2639,8 @@ public class DevicePolicyManager { * called by the device owner. * @param initializer Which {@link DeviceAdminReceiver} to make device initializer. * @param initializerName The user-visible name of the device initializer. * @return whether the package was successfully registered as the device initializer. * @throws IllegalArgumentException if the package name is null or invalid * @return whether the component was successfully registered as the device initializer. * @throws IllegalArgumentException if the componentname is null or invalid * @throws IllegalStateException if the caller is not device owner or the device has * already been provisioned or a device initializer already exists. */ Loading Loading @@ -2709,6 +2709,25 @@ public class DevicePolicyManager { return null; } /** * @hide * Gets the device initializer component of the system. * * @return the component name of the device initializer. */ @SystemApi public ComponentName getDeviceInitializerComponent() { if (mService != null) { try { return mService.getDeviceInitializerComponent(); } catch (RemoteException re) { Log.w(TAG, "Failed to get device initializer"); } } return null; } /** * Sets the enabled state of the user. A user should be enabled only once it is ready to * be used. Loading
core/java/android/app/admin/IDevicePolicyManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,7 @@ interface IDevicePolicyManager { void clearDeviceInitializer(in ComponentName who); boolean setDeviceInitializer(in ComponentName who, in ComponentName initializer, String initializerName); String getDeviceInitializer(); ComponentName getDeviceInitializerComponent(); void setUserIcon(in ComponentName admin, in Bitmap icon); }
services/devicepolicy/java/com/android/server/devicepolicy/DeviceOwner.java +23 −5 Original line number Diff line number Diff line Loading @@ -110,9 +110,9 @@ class DeviceOwner { /** * Creates an instance of the device owner object with the device initializer set. */ static DeviceOwner createWithDeviceInitializer(String packageName, String ownerName) { static DeviceOwner createWithDeviceInitializer(ComponentName admin, String ownerName) { DeviceOwner owner = new DeviceOwner(); owner.mDeviceInitializer = new OwnerInfo(ownerName, packageName); owner.mDeviceInitializer = new OwnerInfo(ownerName, admin); return owner; } Loading Loading @@ -141,6 +141,10 @@ class DeviceOwner { mDeviceOwner = null; } ComponentName getDeviceInitializerComponent() { return mDeviceInitializer.admin; } String getDeviceInitializerPackageName() { return mDeviceInitializer != null ? mDeviceInitializer.packageName : null; } Loading @@ -149,8 +153,8 @@ class DeviceOwner { return mDeviceInitializer != null ? mDeviceInitializer.name : null; } void setDeviceInitializer(String packageName, String ownerName) { mDeviceInitializer = new OwnerInfo(ownerName, packageName); void setDeviceInitializer(ComponentName admin, String ownerName) { mDeviceInitializer = new OwnerInfo(ownerName, admin); } void clearDeviceInitializer() { Loading Loading @@ -235,7 +239,17 @@ class DeviceOwner { } else if (tag.equals(TAG_DEVICE_INITIALIZER)) { String name = parser.getAttributeValue(null, ATTR_NAME); String packageName = parser.getAttributeValue(null, ATTR_PACKAGE); String initializerComponentStr = parser.getAttributeValue(null, ATTR_COMPONENT_NAME); ComponentName admin = ComponentName.unflattenFromString(initializerComponentStr); if (admin != null) { mDeviceInitializer = new OwnerInfo(name, admin); } else { mDeviceInitializer = new OwnerInfo(name, packageName); Slog.e(TAG, "Error parsing device-owner file. Bad component name " + initializerComponentStr); } } else if (tag.equals(TAG_PROFILE_OWNER)) { String profileOwnerPackageName = parser.getAttributeValue(null, ATTR_PACKAGE); String profileOwnerName = parser.getAttributeValue(null, ATTR_NAME); Loading Loading @@ -303,6 +317,10 @@ class DeviceOwner { if (mDeviceInitializer.name != null) { out.attribute(null, ATTR_NAME, mDeviceInitializer.name); } if (mDeviceInitializer.admin != null) { out.attribute( null, ATTR_COMPONENT_NAME, mDeviceInitializer.admin.flattenToString()); } out.endTag(null, TAG_DEVICE_INITIALIZER); } Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +15 −2 Original line number Diff line number Diff line Loading @@ -4007,12 +4007,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { if (mDeviceOwner == null) { // Device owner state does not exist, create it. mDeviceOwner = DeviceOwner.createWithDeviceInitializer( initializer.getPackageName(), ownerName); initializer, ownerName); mDeviceOwner.writeOwnerFile(); return true; } else { // Device owner already exists, update it. mDeviceOwner.setDeviceInitializer(initializer.getPackageName(), ownerName); mDeviceOwner.setDeviceInitializer(initializer, ownerName); mDeviceOwner.writeOwnerFile(); return true; } Loading Loading @@ -4057,6 +4057,19 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { return null; } @Override public ComponentName getDeviceInitializerComponent() { if (!mHasFeature) { return null; } synchronized (this) { if (mDeviceOwner != null && mDeviceOwner.hasDeviceInitializer()) { return mDeviceOwner.getDeviceInitializerComponent(); } } return null; } @Override public void clearDeviceInitializer(ComponentName who) { if (!mHasFeature) { Loading