Merge "Use user context to support multiuser use case"
diff --git a/src/com/android/bluetooth/btservice/AdapterService.java b/src/com/android/bluetooth/btservice/AdapterService.java
index 5febd1e..f86b6ce 100644
--- a/src/com/android/bluetooth/btservice/AdapterService.java
+++ b/src/com/android/bluetooth/btservice/AdapterService.java
@@ -491,8 +491,10 @@
}.execute();
try {
- int systemUiUid = getApplicationContext().getPackageManager().getPackageUid(
- "com.android.systemui", PackageManager.MATCH_SYSTEM_ONLY);
+ int systemUiUid = getApplicationContext()
+ .createContextAsUser(UserHandle.SYSTEM, /* flags= */ 0)
+ .getPackageManager()
+ .getPackageUid("com.android.systemui", PackageManager.MATCH_SYSTEM_ONLY);
Utils.setSystemUiUid(systemUiUid);
} catch (PackageManager.NameNotFoundException e) {
diff --git a/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java b/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java
index 84bab82..bbfcac5 100644
--- a/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java
+++ b/tests/unit/src/com/android/bluetooth/btservice/AdapterServiceTest.java
@@ -33,6 +33,7 @@
import android.os.PowerManager;
import android.os.Process;
import android.os.SystemProperties;
+import android.os.UserHandle;
import android.os.UserManager;
import android.test.mock.MockContentResolver;
import android.util.Log;
@@ -130,6 +131,8 @@
when(mMockContext.getApplicationInfo()).thenReturn(mMockApplicationInfo);
when(mMockContext.getContentResolver()).thenReturn(mMockContentResolver);
when(mMockContext.getApplicationContext()).thenReturn(mMockContext);
+ when(mMockContext.createContextAsUser(UserHandle.SYSTEM, /* flags= */ 0)).thenReturn(
+ mMockContext);
when(mMockContext.getResources()).thenReturn(mMockResources);
when(mMockContext.getUserId()).thenReturn(Process.BLUETOOTH_UID);
when(mMockContext.getPackageManager()).thenReturn(mMockPackageManager);