From da887be72fbd7740aa6afc7a212231e070c32fc5 Mon Sep 17 00:00:00 2001 From: Eran Messeri Date: Wed, 2 Dec 2020 11:44:47 +0000 Subject: [PATCH] Cleanup: Compatibility checking in DPMS Rather than call the IPlatformCompat service directly, use the CompatChanges class via the Injector. This reduces boilerplate code dealing with the service and eases testing as it's easier to fake/mock the injector. Bug: 165573442 Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testResetPasswordWithToken com.android.cts.devicepolicy.MixedDeviceOwnerTestApi25#testPasswordRequirementsApi Change-Id: Ieb29f87a4a09910cd5f710cd1e0ddd4b62e808e4 --- .../DevicePolicyManagerService.java | 27 ++----------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 81ce8ff3c72f2..6e36e516191a0 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -266,7 +266,6 @@ import android.view.inputmethod.InputMethodInfo; import com.android.internal.R; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.compat.IPlatformCompat; import com.android.internal.logging.MetricsLogger; import com.android.internal.messages.nano.SystemMessageProto.SystemMessage; import com.android.internal.notification.SystemNotificationChannels; @@ -554,7 +553,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { private final LockSettingsInternal mLockSettingsInternal; private final DeviceAdminServiceController mDeviceAdminServiceController; private final OverlayPackagesProvider mOverlayPackagesProvider; - private final IPlatformCompat mIPlatformCompat; private final DevicePolicyCacheImpl mPolicyCache = new DevicePolicyCacheImpl(); private final DeviceStateCacheImpl mStateCache = new DeviceStateCacheImpl(); @@ -1166,11 +1164,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { return LocalServices.getService(LockSettingsInternal.class); } - IPlatformCompat getIPlatformCompat() { - return IPlatformCompat.Stub.asInterface( - ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE)); - } - boolean hasUserSetupCompleted(DevicePolicyData userData) { return userData.mUserSetupComplete; } @@ -1441,7 +1434,6 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { mUsageStatsManagerInternal = Objects.requireNonNull( injector.getUsageStatsManagerInternal()); mIPackageManager = Objects.requireNonNull(injector.getIPackageManager()); - mIPlatformCompat = Objects.requireNonNull(injector.getIPlatformCompat()); mIPermissionManager = Objects.requireNonNull(injector.getIPermissionManager()); mTelephonyManager = Objects.requireNonNull(injector.getTelephonyManager()); @@ -3385,13 +3377,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } private boolean passwordQualityInvocationOrderCheckEnabled(String packageName, int userId) { - try { - return mIPlatformCompat.isChangeEnabledByPackageName(ADMIN_APP_PASSWORD_COMPLEXITY, - packageName, userId); - } catch (RemoteException e) { - Log.e(LOG_TAG, "Failed to get a response from PLATFORM_COMPAT_SERVICE", e); - } - return getTargetSdk(packageName, userId) > Build.VERSION_CODES.Q; + return mInjector.isChangeEnabled(ADMIN_APP_PASSWORD_COMPLEXITY, packageName, userId); } /** @@ -10919,16 +10905,7 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } private boolean isSetSecureSettingLocationModeCheckEnabled(String packageName, int userId) { - long ident = mInjector.binderClearCallingIdentity(); - try { - return mIPlatformCompat.isChangeEnabledByPackageName(USE_SET_LOCATION_ENABLED, - packageName, userId); - } catch (RemoteException e) { - Log.e(LOG_TAG, "Failed to get a response from PLATFORM_COMPAT_SERVICE", e); - return getTargetSdk(packageName, userId) > Build.VERSION_CODES.Q; - } finally { - mInjector.binderRestoreCallingIdentity(ident); - } + return mInjector.isChangeEnabled(USE_SET_LOCATION_ENABLED, packageName, userId); } @Override