diff options
| author | 2018-12-05 23:27:47 +0000 | |
|---|---|---|
| committer | 2018-12-13 13:55:50 +0000 | |
| commit | 59486636d6688101b12f9d0bb2cbda6ef5f41ae4 (patch) | |
| tree | 31bb02601416ce893c957332a4ed54ded67e3d8f | |
| parent | 6145acc3a3ca2b0cbef60e0a2fa76649c0b22064 (diff) | |
Add metrics for DevicePolicyManagerService methods (Part 2)
CTS tests will be added in a later CL.
Bug: 119911940
Test: Manual
Change-Id: I0863b40add42bb3927c582d819b0cee0184d6501
| -rw-r--r-- | services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java | 312 |
1 files changed, 301 insertions, 11 deletions
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index bc550dc8bd12..1bf8f0d79a01 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -455,7 +455,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { /** * Strings logged with {@link - * com.android.internal.logging.nano.MetricsProto.MetricsEvent#PROVISIONING_ENTRY_POINT_ADB}. + * com.android.internal.logging.nano.MetricsProto.MetricsEvent#PROVISIONING_ENTRY_POINT_ADB} + * and {@link DevicePolicyEnums#PROVISIONING_ENTRY_POINT_ADB}. */ private static final String LOG_TAG_PROFILE_OWNER = "profile-owner"; private static final String LOG_TAG_DEVICE_OWNER = "device-owner"; @@ -4305,6 +4306,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.ADD_CROSS_PROFILE_WIDGET_PROVIDER) + .setAdmin(admin) + .write(); + if (changedProviders != null) { mLocalService.notifyCrossProfileProvidersChanged(userId, changedProviders); return true; @@ -4332,6 +4338,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.REMOVE_CROSS_PROFILE_WIDGET_PROVIDER) + .setAdmin(admin) + .write(); + if (changedProviders != null) { mLocalService.notifyCrossProfileProvidersChanged(userId, changedProviders); return true; @@ -5451,6 +5462,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { final long id = mInjector.binderClearCallingIdentity(); try { mCertificateMonitor.uninstallCaCerts(UserHandle.of(userId), aliases); + final boolean isDelegate = (admin == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.UNINSTALL_CA_CERTS) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .write(); } finally { mInjector.binderRestoreCallingIdentity(id); } @@ -5516,7 +5533,14 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { final KeyChainConnection keyChainConnection = KeyChain.bindAsUser(mContext, userHandle); try { IKeyChainService keyChain = keyChainConnection.getService(); - return keyChain.removeKeyPair(alias); + final boolean result = keyChain.removeKeyPair(alias); + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.REMOVE_KEY_PAIR) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .write(); + return result; } catch (RemoteException e) { Log.e(LOG_TAG, "Removing keypair", e); } finally { @@ -5700,6 +5724,14 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { return false; } } + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.GENERATE_KEY_PAIR) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setInt(idAttestationFlags) + .setStrings(algorithm) + .write(); return true; } } catch (RemoteException e) { @@ -5728,6 +5760,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { return false; } keyChain.setUserSelectable(alias, isUserSelectable); + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_KEY_PAIR_CERTIFICATE) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .write(); return true; } catch (InterruptedException e) { Log.w(LOG_TAG, "Interrupted while setting keypair certificate", e); @@ -5781,6 +5819,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { sendPrivateKeyAliasResponse(chosenAlias, response); } }, null, Activity.RESULT_OK, null, null); + final String adminPackageName = + (aliasChooser != null ? aliasChooser.getPackageName() : null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.CHOOSE_PRIVATE_KEY_ALIAS) + .setAdmin(adminPackageName) + .write(); } finally { mInjector.binderRestoreCallingIdentity(id); } @@ -6080,6 +6124,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { public void setCertInstallerPackage(ComponentName who, String installerPackage) throws SecurityException { setDelegatedScopePreO(who, installerPackage, DELEGATION_CERT_INSTALL); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_CERT_INSTALLER_PACKAGE) + .setAdmin(who) + .setStrings(installerPackage) + .write(); } @Override @@ -6111,6 +6160,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { if (!connectivityManager.setAlwaysOnVpnPackageForUser(userId, vpnPackage, lockdown)) { throw new UnsupportedOperationException(); } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_ALWAYS_ON_VPN_PACKAGE) + .setAdmin(admin) + .setStrings(vpnPackage) + .setBoolean(lockdown) + .setInt(/* number of vpn packages */ 0) + .write(); } finally { mInjector.binderRestoreCallingIdentity(token); } @@ -6826,6 +6882,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { updateScreenCaptureDisabled(userHandle, disabled); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_SCREEN_CAPTURE_DISABLED) + .setAdmin(who) + .setBoolean(disabled) + .write(); } /** @@ -6897,6 +6958,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(ident); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_AUTO_TIME_REQUIRED) + .setAdmin(who) + .setBoolean(required) + .write(); } /** @@ -7021,6 +7087,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { DevicePolicyManager.NOTIFICATION_BUGREPORT_STARTED), UserHandle.ALL); mHandler.postDelayed(mRemoteBugreportTimeoutRunnable, RemoteBugreportUtils.REMOTE_BUGREPORT_TIMEOUT_MILLIS); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.REQUEST_BUGREPORT) + .setAdmin(who) + .write(); return true; } catch (RemoteException re) { // should never happen @@ -7223,6 +7293,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } // Tell the user manager that the restrictions have changed. pushUserRestrictions(userHandle); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_CAMERA_DISABLED) + .setAdmin(who) + .setBoolean(disabled) + .write(); } /** @@ -7374,6 +7449,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { // Notify package manager. mInjector.getPackageManagerInternal().setKeepUninstalledPackages(packageList); } + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_KEEP_UNINSTALLED_PACKAGES) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(packageList.toArray(new String[0])) + .write(); } @Override @@ -7431,6 +7513,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { if (isAdb()) { // Log device owner provisioning was started using adb. MetricsLogger.action(mContext, PROVISIONING_ENTRY_POINT_ADB, LOG_TAG_DEVICE_OWNER); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.PROVISIONING_ENTRY_POINT_ADB) + .setAdmin(admin) + .setStrings(LOG_TAG_DEVICE_OWNER) + .write(); } mOwners.setDeviceOwner(admin, ownerName, userId); @@ -7700,6 +7787,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { if (isAdb()) { // Log profile owner provisioning was started using adb. MetricsLogger.action(mContext, PROVISIONING_ENTRY_POINT_ADB, LOG_TAG_PROFILE_OWNER); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.PROVISIONING_ENTRY_POINT_ADB) + .setAdmin(who) + .setStrings(LOG_TAG_PROFILE_OWNER) + .write(); } mOwners.setProfileOwner(who, ownerName, userHandle); @@ -7787,6 +7879,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(token); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_DEVICE_OWNER_LOCK_SCREEN_INFO) + .setAdmin(who) + .write(); } @Override @@ -7973,6 +8069,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { final long id = mInjector.binderClearCallingIdentity(); try { mUserManager.setUserName(userId, profileName); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_PROFILE_NAME) + .setAdmin(who) + .write(); } finally { mInjector.binderRestoreCallingIdentity(id); } @@ -8447,6 +8547,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(id); } } + final String activityPackage = + (activity != null ? activity.getPackageName() : null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.ADD_PERSISTENT_PREFERRED_ACTIVITY) + .setAdmin(who) + .setStrings(activityPackage, getIntentFilterActions(filter)) + .write(); } @Override @@ -8509,6 +8616,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { final long id = mInjector.binderClearCallingIdentity(); try { mUserManager.setApplicationRestrictions(packageName, settings, userHandle); + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_APPLICATION_RESTRICTIONS) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(packageName) + .write(); } finally { mInjector.binderRestoreCallingIdentity(id); } @@ -8640,6 +8754,24 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(id); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.ADD_CROSS_PROFILE_INTENT_FILTER) + .setAdmin(who) + .setStrings(getIntentFilterActions(filter)) + .setInt(flags) + .write(); + } + + private static String[] getIntentFilterActions(IntentFilter filter) { + if (filter == null) { + return null; + } + final int actionsCount = filter.countActions(); + final String[] actions = new String[actionsCount]; + for (int i = 0; i < actionsCount; i++) { + actions[i] = filter.getAction(i); + } + return actions; } @Override @@ -8759,6 +8891,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { admin.permittedAccessiblityServices = packageList; saveSettingsLocked(UserHandle.getCallingUserId()); } + final String[] packageArray = + packageList != null ? ((List<String>) packageList).toArray(new String[0]) : null; + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_PERMITTED_ACCESSIBILITY_SERVICES) + .setAdmin(who) + .setStrings(packageArray) + .write(); return true; } @@ -8933,6 +9072,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { admin.permittedInputMethods = packageList; saveSettingsLocked(callingUserId); } + final String[] packageArray = + packageList != null ? ((List<String>) packageList).toArray(new String[0]) : null; + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_PERMITTED_INPUT_METHODS) + .setAdmin(who) + .setStrings(packageArray) + .write(); return true; } @@ -9473,6 +9619,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { public String[] setPackagesSuspended(ComponentName who, String callerPackage, String[] packageNames, boolean suspended) { int callingUserId = UserHandle.getCallingUserId(); + String[] result = null; synchronized (getLockObject()) { // Ensure the caller is a DO/PO or a package access delegate. enforceCanManageScope(who, callerPackage, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER, @@ -9480,7 +9627,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { long id = mInjector.binderClearCallingIdentity(); try { - return mIPackageManager.setPackagesSuspendedAsUser(packageNames, suspended, + result = mIPackageManager + .setPackagesSuspendedAsUser(packageNames, suspended, null, null, null, PLATFORM_PACKAGE_NAME, callingUserId); } catch (RemoteException re) { // Shouldn't happen. @@ -9488,8 +9636,18 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } finally { mInjector.binderRestoreCallingIdentity(id); } - return packageNames; } + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_PACKAGES_SUSPENDED) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(packageNames) + .write(); + if (result != null) { + return result; + } + return packageNames; } @Override @@ -9626,6 +9784,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { public boolean setApplicationHidden(ComponentName who, String callerPackage, String packageName, boolean hidden) { int callingUserId = UserHandle.getCallingUserId(); + boolean result = false; synchronized (getLockObject()) { // Ensure the caller is a DO/PO or a package access delegate. enforceCanManageScope(who, callerPackage, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER, @@ -9633,16 +9792,23 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { long id = mInjector.binderClearCallingIdentity(); try { - return mIPackageManager.setApplicationHiddenSettingAsUser( - packageName, hidden, callingUserId); + result = mIPackageManager + .setApplicationHiddenSettingAsUser(packageName, hidden, callingUserId); } catch (RemoteException re) { // shouldn't happen Slog.e(LOG_TAG, "Failed to setApplicationHiddenSetting", re); } finally { mInjector.binderRestoreCallingIdentity(id); } - return false; } + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_APPLICATION_HIDDEN) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(packageName, hidden ? "hidden" : "not_hidden") + .write(); + return result; } @Override @@ -9707,10 +9873,18 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(id); } } + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.ENABLE_SYSTEM_APP) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(packageName) + .write(); } @Override public int enableSystemAppWithIntent(ComponentName who, String callerPackage, Intent intent) { + int numberOfAppsInstalled = 0; synchronized (getLockObject()) { // Ensure the caller is a DO/PO or an enable system app delegate. enforceCanManageScope(who, callerPackage, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER, @@ -9732,7 +9906,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { if (VERBOSE_LOG) { Slog.d(LOG_TAG, "Enabling system activities: " + activitiesToEnable); } - int numberOfAppsInstalled = 0; if (activitiesToEnable != null) { for (ResolveInfo info : activitiesToEnable) { if (info.activityInfo != null) { @@ -9748,7 +9921,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } } - return numberOfAppsInstalled; } catch (RemoteException e) { // shouldn't happen Slog.wtf(LOG_TAG, "Failed to resolve intent for: " + intent); @@ -9757,6 +9929,14 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(id); } } + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.ENABLE_SYSTEM_APP_WITH_INTENT) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(intent.getAction()) + .write(); + return numberOfAppsInstalled; } private boolean isSystemApp(IPackageManager pm, String packageName, int userId) @@ -9773,6 +9953,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { @Override public boolean installExistingPackage(ComponentName who, String callerPackage, String packageName) { + boolean result; synchronized (getLockObject()) { // Ensure the caller is a PO or an install existing package delegate enforceCanManageScope(who, callerPackage, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER, @@ -9791,7 +9972,8 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } // Install the package. - return mIPackageManager.installExistingPackageAsUser(packageName, callingUserId, + result = mIPackageManager + .installExistingPackageAsUser(packageName, callingUserId, 0 /*installFlags*/, PackageManager.INSTALL_REASON_POLICY) == PackageManager.INSTALL_SUCCEEDED; } catch (RemoteException re) { @@ -9801,6 +9983,16 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(id); } } + if (result) { + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.INSTALL_EXISTING_PACKAGE) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(packageName) + .write(); + } + return result; } @Override @@ -9864,6 +10056,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(id); } } + final boolean isDelegate = (who == null); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_UNINSTALL_BLOCKED) + .setAdmin(callerPackage) + .setBoolean(isDelegate) + .setStrings(packageName) + .write(); } @Override @@ -9905,6 +10104,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(mInjector.userHandleGetCallingUserId()); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_CROSS_PROFILE_CALLER_ID_DISABLED) + .setAdmin(who) + .setBoolean(disabled) + .write(); } @Override @@ -9943,6 +10147,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(mInjector.userHandleGetCallingUserId()); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_CROSS_PROFILE_CONTACTS_SEARCH_DISABLED) + .setAdmin(who) + .setBoolean(disabled) + .write(); } @Override @@ -10042,6 +10251,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(UserHandle.getCallingUserId()); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_BLUETOOTH_CONTACT_SHARING_DISABLED) + .setAdmin(who) + .setBoolean(disabled) + .write(); } @Override @@ -10201,6 +10415,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } else { sendAdminCommandLocked(admin, DeviceAdminReceiver.ACTION_LOCK_TASK_EXITING); } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_LOCKTASK_MODE_ENABLED) + .setAdmin(admin.info.getPackageName()) + .setBoolean(isEnabled) + .setStrings(pkg) + .write(); } } } @@ -10369,6 +10589,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { synchronized (getLockObject()) { getActiveAdminForCallerLocked(who, DeviceAdminInfo.USES_POLICY_PROFILE_OWNER); setUserRestriction(who, UserManager.DISALLOW_UNMUTE_DEVICE, on); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_MASTER_VOLUME_MUTED) + .setAdmin(who) + .setBoolean(on) + .write(); } } @@ -10398,6 +10623,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mInjector.binderRestoreCallingIdentity(id); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_USER_ICON) + .setAdmin(who) + .write(); } @Override @@ -10423,6 +10652,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } mLockPatternUtils.setLockScreenDisabled(disabled, userId); mInjector.getIWindowManager().dismissKeyguard(null /* callback */, null /* message */); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_KEYGUARD_DISABLED) + .setAdmin(who) + .setBoolean(disabled) + .write(); } catch (RemoteException e) { // Same process, does not happen. } finally { @@ -10461,6 +10695,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(userId); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_STATUS_BAR_DISABLED) + .setAdmin(who) + .setBoolean(disabled) + .write(); return true; } @@ -10863,6 +11102,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mContext.sendBroadcastAsUser( new Intent(DevicePolicyManager.ACTION_SYSTEM_UPDATE_POLICY_CHANGED), UserHandle.SYSTEM); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_SYSTEM_UPDATE_POLICY) + .setAdmin(who) + .setInt(policy != null ? policy.getPolicyType() : 0) + .write(); } @Override @@ -11415,7 +11659,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { if (wifiInfo == null) { return null; } - return wifiInfo.hasRealMacAddress() ? wifiInfo.getMacAddress() : null; + final String result = wifiInfo.hasRealMacAddress() ? wifiInfo.getMacAddress() : null; + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.GET_WIFI_MAC_ADDRESS) + .setAdmin(admin) + .write(); + return result; } finally { mInjector.binderRestoreCallingIdentity(ident); } @@ -11461,6 +11710,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { if (mTelephonyManager.getCallState() != TelephonyManager.CALL_STATE_IDLE) { throw new IllegalStateException("Cannot be called with ongoing call on the device"); } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.REBOOT) + .setAdmin(admin) + .write(); mInjector.powerManagerReboot(PowerManager.REBOOT_REQUESTED_BY_DEVICE_OWNER); } finally { mInjector.binderRestoreCallingIdentity(ident); @@ -11482,6 +11735,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(userHandle); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_SHORT_SUPPORT_MESSAGE) + .setAdmin(who) + .write(); } @Override @@ -11512,6 +11769,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(userHandle); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_LONG_SUPPORT_MESSAGE) + .setAdmin(who) + .write(); } @Override @@ -11577,6 +11838,10 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { admin.organizationColor = color; saveSettingsLocked(userHandle); } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.SET_ORGANIZATION_COLOR) + .setAdmin(who) + .write(); } @Override @@ -12974,6 +13239,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } final long id = mInjector.binderClearCallingIdentity(); + String ownerType = null; try { synchronized (getLockObject()) { /* @@ -12994,6 +13260,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { bundle = new PersistableBundle(); } if (isProfileOwner(admin, callingUserId)) { + ownerType = ADMIN_TYPE_PROFILE_OWNER; prepareTransfer(admin, target, bundle, callingUserId, ADMIN_TYPE_PROFILE_OWNER); transferProfileOwnershipLocked(admin, target, callingUserId); @@ -13004,6 +13271,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { notifyAffiliatedProfileTransferOwnershipComplete(callingUserId); } } else if (isDeviceOwner(admin, callingUserId)) { + ownerType = ADMIN_TYPE_DEVICE_OWNER; prepareTransfer(admin, target, bundle, callingUserId, ADMIN_TYPE_DEVICE_OWNER); transferDeviceOwnershipLocked(admin, target, callingUserId); @@ -13015,6 +13283,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } finally { mInjector.binderRestoreCallingIdentity(id); } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.TRANSFER_OWNERSHIP) + .setAdmin(admin) + .setStrings(target.getPackageName(), ownerType) + .write(); } private void prepareTransfer(ComponentName admin, ComponentName target, @@ -13490,6 +13763,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mContext, updateFileDescriptor, callback, mInjector, mConstants); } updateInstaller.startInstallUpdate(); + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.INSTALL_SYSTEM_UPDATE) + .setAdmin(admin) + .setBoolean(isDeviceAB()) + .write(); } finally { mInjector.binderRestoreCallingIdentity(id); } @@ -13515,6 +13793,11 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(mInjector.userHandleGetCallingUserId()); } } + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.ADD_CROSS_PROFILE_CALENDAR_PACKAGE) + .setAdmin(who) + .setStrings(packageName) + .write(); } @Override @@ -13534,6 +13817,13 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { saveSettingsLocked(mInjector.userHandleGetCallingUserId()); } } + if (isRemoved) { + DevicePolicyEventLogger + .createEvent(DevicePolicyEnums.REMOVE_CROSS_PROFILE_CALENDAR_PACKAGE) + .setAdmin(who) + .setStrings(packageName) + .write(); + } return isRemoved; } |