From adc3de915534f417af73c0fa18597201e7289d14 Mon Sep 17 00:00:00 2001 From: William Escande Date: Fri, 14 Jan 2022 16:47:47 +0000 Subject: [PATCH] Revert "replace UserManagerInternal with UserManager" This reverts commit 39f9f413b3351446f6e022f8529f26abc437c703. Reason for revert: IUserRestrictionListener is hidden also Change-Id: I3d9007682d664b9323516341861bbc7b363b73bd --- .../server/BluetoothManagerService.java | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java index a5c44ee264c0e..bc8da8443a7d2 100644 --- a/services/core/java/com/android/server/BluetoothManagerService.java +++ b/services/core/java/com/android/server/BluetoothManagerService.java @@ -20,6 +20,7 @@ import static android.Manifest.permission.BLUETOOTH_CONNECT; import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.os.PowerExemptionManager.TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED; +import static android.os.UserHandle.USER_SYSTEM; import static android.permission.PermissionCheckerManager.PERMISSION_HARD_DENIED; import android.Manifest; @@ -63,7 +64,6 @@ import android.os.Binder; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; -import android.os.IUserRestrictionsListener; import android.os.Looper; import android.os.Message; import android.os.PowerExemptionManager; @@ -87,6 +87,9 @@ import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.DumpUtils; import com.android.internal.util.FrameworkStatsLog; +import com.android.server.pm.UserManagerInternal; +import com.android.server.pm.UserManagerInternal.UserRestrictionsListener; +import com.android.server.pm.UserRestrictionsUtils; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -261,34 +264,30 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } }; - private final IUserRestrictionsListener mUserRestrictionsListener = - new IUserRestrictionsListener.Stub() { + private final UserRestrictionsListener mUserRestrictionsListener = + new UserRestrictionsListener() { @Override public void onUserRestrictionsChanged(int userId, Bundle newRestrictions, Bundle prevRestrictions) { - final boolean newDisallowBluetoothSharing = newRestrictions - .getBoolean(UserManager.DISALLOW_BLUETOOTH_SHARING, false); - final boolean prevDisallowBluetoothSharing = prevRestrictions - .getBoolean(UserManager.DISALLOW_BLUETOOTH_SHARING, false); - if (newDisallowBluetoothSharing != prevDisallowBluetoothSharing) { + if (UserRestrictionsUtils.restrictionsChanged(prevRestrictions, newRestrictions, + UserManager.DISALLOW_BLUETOOTH_SHARING)) { updateOppLauncherComponentState(userId, newRestrictions.getBoolean(UserManager.DISALLOW_BLUETOOTH_SHARING)); } - final boolean newDisallowBluetooth = newRestrictions - .getBoolean(UserManager.DISALLOW_BLUETOOTH, false); - final boolean prevDisallowBluetooth = prevRestrictions - .getBoolean(UserManager.DISALLOW_BLUETOOTH, false); // DISALLOW_BLUETOOTH can only be set by DO or PO on the system user. - final boolean isUserSystem = userId == UserHandle.SYSTEM.getIdentifier(); - if (isUserSystem && newDisallowBluetooth != prevDisallowBluetooth) { - if (isUserSystem && newDisallowBluetooth) { + if (userId == USER_SYSTEM + && UserRestrictionsUtils.restrictionsChanged(prevRestrictions, + newRestrictions, UserManager.DISALLOW_BLUETOOTH)) { + if (userId == USER_SYSTEM && newRestrictions.getBoolean( + UserManager.DISALLOW_BLUETOOTH)) { updateOppLauncherComponentState(userId, true); // Sharing disallowed sendDisableMsg(BluetoothProtoEnums.ENABLE_DISABLE_REASON_DISALLOWED, mContext.getPackageName()); } else { - updateOppLauncherComponentState(userId, newDisallowBluetoothSharing); + updateOppLauncherComponentState(userId, newRestrictions.getBoolean( + UserManager.DISALLOW_BLUETOOTH_SHARING)); } } } @@ -541,7 +540,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub { if (!noHome) { PackageManagerInternal pm = LocalServices.getService(PackageManagerInternal.class); systemUiUid = pm.getPackageUid(pm.getSystemUiServiceComponent().getPackageName(), - MATCH_SYSTEM_ONLY, UserHandle.SYSTEM.getIdentifier()); + MATCH_SYSTEM_ONLY, USER_SYSTEM); } if (systemUiUid >= 0) { Slog.d(TAG, "Detected SystemUiUid: " + Integer.toString(systemUiUid)); @@ -1392,8 +1391,9 @@ class BluetoothManagerService extends IBluetoothManager.Stub { Slog.d(TAG, "Bluetooth boot completed"); } mAppOps = mContext.getSystemService(AppOpsManager.class); - UserManager userManager = mContext.getSystemService(UserManager.class); - userManager.addUserRestrictionsListener(mUserRestrictionsListener); + UserManagerInternal userManagerInternal = + LocalServices.getService(UserManagerInternal.class); + userManagerInternal.addUserRestrictionsListener(mUserRestrictionsListener); final boolean isBluetoothDisallowed = isBluetoothDisallowed(); if (isBluetoothDisallowed) { return;