Loading core/java/android/app/AppOpsManager.java +8 −8 Original line number Diff line number Diff line Loading @@ -459,15 +459,15 @@ public class AppOpsManager { null, //POST_NOTIFICATION null, //NEIGHBORING_CELLS null, //CALL_PHONE null, //READ_SMS null, //WRITE_SMS null, //RECEIVE_SMS null, //RECEIVE_EMERGECY_SMS null, //RECEIVE_MMS UserManager.DISALLOW_SMS, //READ_SMS UserManager.DISALLOW_SMS, //WRITE_SMS UserManager.DISALLOW_SMS, //RECEIVE_SMS null, //RECEIVE_EMERGENCY_SMS UserManager.DISALLOW_SMS, //RECEIVE_MMS null, //RECEIVE_WAP_PUSH null, //SEND_SMS null, //READ_ICC_SMS null, //WRITE_ICC_SMS UserManager.DISALLOW_SMS, //SEND_SMS UserManager.DISALLOW_SMS, //READ_ICC_SMS UserManager.DISALLOW_SMS, //WRITE_ICC_SMS null, //WRITE_SETTINGS UserManager.DISALLOW_CREATE_WINDOWS, //SYSTEM_ALERT_WINDOW null, //ACCESS_NOTIFICATIONS Loading core/java/android/app/ApplicationPackageManager.java +12 −1 Original line number Diff line number Diff line Loading @@ -1384,7 +1384,18 @@ final class ApplicationPackageManager extends PackageManager { public void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity) { try { mPM.replacePreferredActivity(filter, match, set, activity); mPM.replacePreferredActivity(filter, match, set, activity, UserHandle.myUserId()); } catch (RemoteException e) { // Should never happen! } } @Override public void replacePreferredActivityAsUser(IntentFilter filter, int match, ComponentName[] set, ComponentName activity, int userId) { try { mPM.replacePreferredActivity(filter, match, set, activity, userId); } catch (RemoteException e) { // Should never happen! } Loading core/java/android/content/pm/IPackageManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ interface IPackageManager { in ComponentName[] set, in ComponentName activity, int userId); void replacePreferredActivity(in IntentFilter filter, int match, in ComponentName[] set, in ComponentName activity); in ComponentName[] set, in ComponentName activity, int userId); void clearPackagePreferredActivities(String packageName); Loading core/java/android/content/pm/PackageManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -3522,6 +3522,15 @@ public abstract class PackageManager { public abstract void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity); /** * @hide */ @Deprecated public void replacePreferredActivityAsUser(IntentFilter filter, int match, ComponentName[] set, ComponentName activity, int userId) { throw new RuntimeException("Not implemented. Must override in a subclass."); } /** * Remove all preferred activity mappings, previously added with * {@link #addPreferredActivity}, from the Loading services/core/java/com/android/server/am/ActivityManagerService.java +4 −0 Original line number Diff line number Diff line Loading @@ -13831,6 +13831,10 @@ public final class ActivityManagerService extends ActivityManagerNative } } else if ("system".equals(componentProcessName)) { result = true; } else if (UserHandle.isSameApp(aInfo.uid, Process.PHONE_UID) && (flags & ServiceInfo.FLAG_SINGLE_USER) != 0) { // Phone app is allowed to export singleuser providers. result = true; } else { // App with pre-defined UID, check if it's a persistent app result = (aInfo.flags & ApplicationInfo.FLAG_PERSISTENT) != 0; Loading
core/java/android/app/AppOpsManager.java +8 −8 Original line number Diff line number Diff line Loading @@ -459,15 +459,15 @@ public class AppOpsManager { null, //POST_NOTIFICATION null, //NEIGHBORING_CELLS null, //CALL_PHONE null, //READ_SMS null, //WRITE_SMS null, //RECEIVE_SMS null, //RECEIVE_EMERGECY_SMS null, //RECEIVE_MMS UserManager.DISALLOW_SMS, //READ_SMS UserManager.DISALLOW_SMS, //WRITE_SMS UserManager.DISALLOW_SMS, //RECEIVE_SMS null, //RECEIVE_EMERGENCY_SMS UserManager.DISALLOW_SMS, //RECEIVE_MMS null, //RECEIVE_WAP_PUSH null, //SEND_SMS null, //READ_ICC_SMS null, //WRITE_ICC_SMS UserManager.DISALLOW_SMS, //SEND_SMS UserManager.DISALLOW_SMS, //READ_ICC_SMS UserManager.DISALLOW_SMS, //WRITE_ICC_SMS null, //WRITE_SETTINGS UserManager.DISALLOW_CREATE_WINDOWS, //SYSTEM_ALERT_WINDOW null, //ACCESS_NOTIFICATIONS Loading
core/java/android/app/ApplicationPackageManager.java +12 −1 Original line number Diff line number Diff line Loading @@ -1384,7 +1384,18 @@ final class ApplicationPackageManager extends PackageManager { public void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity) { try { mPM.replacePreferredActivity(filter, match, set, activity); mPM.replacePreferredActivity(filter, match, set, activity, UserHandle.myUserId()); } catch (RemoteException e) { // Should never happen! } } @Override public void replacePreferredActivityAsUser(IntentFilter filter, int match, ComponentName[] set, ComponentName activity, int userId) { try { mPM.replacePreferredActivity(filter, match, set, activity, userId); } catch (RemoteException e) { // Should never happen! } Loading
core/java/android/content/pm/IPackageManager.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -233,7 +233,7 @@ interface IPackageManager { in ComponentName[] set, in ComponentName activity, int userId); void replacePreferredActivity(in IntentFilter filter, int match, in ComponentName[] set, in ComponentName activity); in ComponentName[] set, in ComponentName activity, int userId); void clearPackagePreferredActivities(String packageName); Loading
core/java/android/content/pm/PackageManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -3522,6 +3522,15 @@ public abstract class PackageManager { public abstract void replacePreferredActivity(IntentFilter filter, int match, ComponentName[] set, ComponentName activity); /** * @hide */ @Deprecated public void replacePreferredActivityAsUser(IntentFilter filter, int match, ComponentName[] set, ComponentName activity, int userId) { throw new RuntimeException("Not implemented. Must override in a subclass."); } /** * Remove all preferred activity mappings, previously added with * {@link #addPreferredActivity}, from the Loading
services/core/java/com/android/server/am/ActivityManagerService.java +4 −0 Original line number Diff line number Diff line Loading @@ -13831,6 +13831,10 @@ public final class ActivityManagerService extends ActivityManagerNative } } else if ("system".equals(componentProcessName)) { result = true; } else if (UserHandle.isSameApp(aInfo.uid, Process.PHONE_UID) && (flags & ServiceInfo.FLAG_SINGLE_USER) != 0) { // Phone app is allowed to export singleuser providers. result = true; } else { // App with pre-defined UID, check if it's a persistent app result = (aInfo.flags & ApplicationInfo.FLAG_PERSISTENT) != 0;