diff options
| -rw-r--r-- | services/core/java/com/android/server/telecom/TelecomLoaderService.java | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/services/core/java/com/android/server/telecom/TelecomLoaderService.java b/services/core/java/com/android/server/telecom/TelecomLoaderService.java index e65eae0ab156..54369ca5c367 100644 --- a/services/core/java/com/android/server/telecom/TelecomLoaderService.java +++ b/services/core/java/com/android/server/telecom/TelecomLoaderService.java @@ -16,21 +16,17 @@ package com.android.server.telecom; +import android.app.role.RoleManager; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; -import android.database.ContentObserver; -import android.net.Uri; -import android.os.Handler; import android.os.IBinder; -import android.os.Looper; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; -import android.provider.Settings; import android.telecom.DefaultDialerManager; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; @@ -221,19 +217,10 @@ public class TelecomLoaderService extends SystemService { private void registerDefaultAppNotifier() { final DefaultPermissionGrantPolicy permissionPolicy = getDefaultPermissionGrantPolicy(); // Notify the package manager on default app changes - final Uri defaultDialerAppUri = Settings.Secure.getUriFor( - Settings.Secure.DIALER_DEFAULT_APPLICATION); - ContentObserver contentObserver = new ContentObserver( - new Handler(Looper.getMainLooper())) { - @Override - public void onChange(boolean selfChange, Uri uri, int userId) { - if (defaultDialerAppUri.equals(uri)) { - updateSimCallManagerPermissions(permissionPolicy, userId); - } - } - }; - mContext.getContentResolver().registerContentObserver(defaultDialerAppUri, - false, contentObserver, UserHandle.USER_ALL); + final RoleManager roleManager = mContext.getSystemService(RoleManager.class); + roleManager.addOnRoleHoldersChangedListenerAsUser(mContext.getMainExecutor(), + (roleName, user) -> updateSimCallManagerPermissions(permissionPolicy, + user.getIdentifier()), UserHandle.ALL); } |