diff options
| -rw-r--r-- | services/core/java/com/android/server/grammaticalinflection/GrammaticalInflectionService.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/grammaticalinflection/GrammaticalInflectionService.java b/services/core/java/com/android/server/grammaticalinflection/GrammaticalInflectionService.java index 252ea4b08464..0ef23e903b6a 100644 --- a/services/core/java/com/android/server/grammaticalinflection/GrammaticalInflectionService.java +++ b/services/core/java/com/android/server/grammaticalinflection/GrammaticalInflectionService.java @@ -126,7 +126,7 @@ public class GrammaticalInflectionService extends SystemService { @Override public void setSystemWideGrammaticalGender(int grammaticalGender, int userId) { - checkCallerIsSystem(); + isCallerAllowed(); GrammaticalInflectionService.this.setSystemWideGrammaticalGender(grammaticalGender, userId); } @@ -154,7 +154,7 @@ public class GrammaticalInflectionService extends SystemService { @Override @Nullable public byte[] getBackupPayload(int userId) { - checkCallerIsSystem(); + isCallerAllowed(); return mBackupHelper.getBackupPayload(userId); } @@ -333,11 +333,13 @@ public class GrammaticalInflectionService extends SystemService { return GRAMMATICAL_GENDER_NOT_SPECIFIED; } - private void checkCallerIsSystem() { + private void isCallerAllowed() { int callingUid = Binder.getCallingUid(); if (callingUid != Process.SYSTEM_UID && callingUid != Process.SHELL_UID && callingUid != Process.ROOT_UID) { - throw new SecurityException("Caller is not system, shell and root."); + mContext.enforceCallingOrSelfPermission( + android.Manifest.permission.CHANGE_CONFIGURATION, + "Caller must be system, shell, root or has CHANGE_CONFIGURATION permission."); } } |