Loading api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -6030,6 +6030,7 @@ package android.rolecontrollerservice { method public abstract void onClearRoleHolders(@NonNull String, @NonNull android.app.role.RoleManagerCallback); method public abstract void onGrantDefaultRoles(@NonNull android.app.role.RoleManagerCallback); method public abstract void onRemoveRoleHolder(@NonNull String, @NonNull String, @NonNull android.app.role.RoleManagerCallback); method public abstract void onSmsKillSwitchToggled(boolean); field public static final String SERVICE_INTERFACE = "android.rolecontrollerservice.RoleControllerService"; } Loading core/java/android/rolecontrollerservice/IRoleControllerService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -32,4 +32,6 @@ oneway interface IRoleControllerService { void onClearRoleHolders(in String roleName, in IRoleManagerCallback callback); void onGrantDefaultRoles(in IRoleManagerCallback callback); void onSmsKillSwitchToggled(boolean smsRestrictionEnabled); } core/java/android/rolecontrollerservice/RoleControllerService.java +13 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,11 @@ public abstract class RoleControllerService extends Service { RoleControllerService.this.onGrantDefaultRoles(new RoleManagerCallbackDelegate( callback)); } @Override public void onSmsKillSwitchToggled(boolean smsRestrictionEnabled) { RoleControllerService.this.onSmsKillSwitchToggled(smsRestrictionEnabled); } }; } Loading Loading @@ -140,6 +145,14 @@ public abstract class RoleControllerService extends Service { public abstract void onClearRoleHolders(@NonNull String roleName, @NonNull RoleManagerCallback callback); /** * Cleanup appop/permissions state in response to sms kill switch toggle * * @param smsRestrictionEnabled whether kill switch was turned on */ //STOPSHIP: remove this api before shipping a final version public abstract void onSmsKillSwitchToggled(boolean smsRestrictionEnabled); /** * Called by system to grant default permissions and roles. * <p> Loading services/core/java/com/android/server/role/RemoteRoleControllerService.java +14 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,20 @@ public class RemoteRoleControllerService { callback)); } /** * @see RoleControllerService#onSmsKillSwitchToggled(boolean) */ public void onSmsKillSwitchToggled(boolean smsRestrictionEnabled) { mConnection.enqueueCall(new Connection.Call( (s, cb) -> s.onSmsKillSwitchToggled(smsRestrictionEnabled), new IRoleManagerCallback.Default() { @Override public void onFailure() { Slog.e(LOG_TAG, "Failed onSmsKillSwitchToggled"); } })); } private static final class Connection implements ServiceConnection { private static final long UNBIND_DELAY_MILLIS = 15 * 1000; Loading services/core/java/com/android/server/role/RoleManagerService.java +15 −0 Original line number Diff line number Diff line Loading @@ -38,7 +38,9 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManagerInternal; import android.content.pm.Signature; import android.database.ContentObserver; import android.database.CursorWindow; import android.net.Uri; import android.os.Binder; import android.os.Bundle; import android.os.Handler; Loading @@ -49,6 +51,7 @@ import android.os.ResultReceiver; import android.os.ShellCallback; import android.os.UserHandle; import android.os.UserManagerInternal; import android.provider.Settings; import android.service.sms.FinancialSmsService; import android.telephony.IFinancialSmsCallback; import android.text.TextUtils; Loading Loading @@ -192,6 +195,18 @@ public class RoleManagerService extends SystemService implements RoleUserState.C performInitialGrantsIfNecessary(userId); } }, UserHandle.SYSTEM, intentFilter, null /* broadcastPermission */, null /* handler */); getContext().getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.SMS_ACCESS_RESTRICTION_ENABLED), false, new ContentObserver(getContext().getMainThreadHandler()) { @Override public void onChange(boolean selfChange, Uri uri, int userId) { getOrCreateControllerService(userId).onSmsKillSwitchToggled( Settings.Global.getInt( getContext().getContentResolver(), Settings.Global.SMS_ACCESS_RESTRICTION_ENABLED, 0) == 1); } }, UserHandle.USER_ALL); } @Override Loading Loading
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -6030,6 +6030,7 @@ package android.rolecontrollerservice { method public abstract void onClearRoleHolders(@NonNull String, @NonNull android.app.role.RoleManagerCallback); method public abstract void onGrantDefaultRoles(@NonNull android.app.role.RoleManagerCallback); method public abstract void onRemoveRoleHolder(@NonNull String, @NonNull String, @NonNull android.app.role.RoleManagerCallback); method public abstract void onSmsKillSwitchToggled(boolean); field public static final String SERVICE_INTERFACE = "android.rolecontrollerservice.RoleControllerService"; } Loading
core/java/android/rolecontrollerservice/IRoleControllerService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -32,4 +32,6 @@ oneway interface IRoleControllerService { void onClearRoleHolders(in String roleName, in IRoleManagerCallback callback); void onGrantDefaultRoles(in IRoleManagerCallback callback); void onSmsKillSwitchToggled(boolean smsRestrictionEnabled); }
core/java/android/rolecontrollerservice/RoleControllerService.java +13 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,11 @@ public abstract class RoleControllerService extends Service { RoleControllerService.this.onGrantDefaultRoles(new RoleManagerCallbackDelegate( callback)); } @Override public void onSmsKillSwitchToggled(boolean smsRestrictionEnabled) { RoleControllerService.this.onSmsKillSwitchToggled(smsRestrictionEnabled); } }; } Loading Loading @@ -140,6 +145,14 @@ public abstract class RoleControllerService extends Service { public abstract void onClearRoleHolders(@NonNull String roleName, @NonNull RoleManagerCallback callback); /** * Cleanup appop/permissions state in response to sms kill switch toggle * * @param smsRestrictionEnabled whether kill switch was turned on */ //STOPSHIP: remove this api before shipping a final version public abstract void onSmsKillSwitchToggled(boolean smsRestrictionEnabled); /** * Called by system to grant default permissions and roles. * <p> Loading
services/core/java/com/android/server/role/RemoteRoleControllerService.java +14 −0 Original line number Diff line number Diff line Loading @@ -101,6 +101,20 @@ public class RemoteRoleControllerService { callback)); } /** * @see RoleControllerService#onSmsKillSwitchToggled(boolean) */ public void onSmsKillSwitchToggled(boolean smsRestrictionEnabled) { mConnection.enqueueCall(new Connection.Call( (s, cb) -> s.onSmsKillSwitchToggled(smsRestrictionEnabled), new IRoleManagerCallback.Default() { @Override public void onFailure() { Slog.e(LOG_TAG, "Failed onSmsKillSwitchToggled"); } })); } private static final class Connection implements ServiceConnection { private static final long UNBIND_DELAY_MILLIS = 15 * 1000; Loading
services/core/java/com/android/server/role/RoleManagerService.java +15 −0 Original line number Diff line number Diff line Loading @@ -38,7 +38,9 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManagerInternal; import android.content.pm.Signature; import android.database.ContentObserver; import android.database.CursorWindow; import android.net.Uri; import android.os.Binder; import android.os.Bundle; import android.os.Handler; Loading @@ -49,6 +51,7 @@ import android.os.ResultReceiver; import android.os.ShellCallback; import android.os.UserHandle; import android.os.UserManagerInternal; import android.provider.Settings; import android.service.sms.FinancialSmsService; import android.telephony.IFinancialSmsCallback; import android.text.TextUtils; Loading Loading @@ -192,6 +195,18 @@ public class RoleManagerService extends SystemService implements RoleUserState.C performInitialGrantsIfNecessary(userId); } }, UserHandle.SYSTEM, intentFilter, null /* broadcastPermission */, null /* handler */); getContext().getContentResolver().registerContentObserver( Settings.Global.getUriFor(Settings.Global.SMS_ACCESS_RESTRICTION_ENABLED), false, new ContentObserver(getContext().getMainThreadHandler()) { @Override public void onChange(boolean selfChange, Uri uri, int userId) { getOrCreateControllerService(userId).onSmsKillSwitchToggled( Settings.Global.getInt( getContext().getContentResolver(), Settings.Global.SMS_ACCESS_RESTRICTION_ENABLED, 0) == 1); } }, UserHandle.USER_ALL); } @Override Loading