Fix user dictionary permission check
Fix the uid comparison so that it works for secondary users.
Bug: 28076644
Change-Id: I2f26d1965d5cbfcbf3f8b669ea7f84c1bf4f8684
diff --git a/src/com/android/providers/userdictionary/UserDictionaryProvider.java b/src/com/android/providers/userdictionary/UserDictionaryProvider.java
index e653047..a7a1971 100644
--- a/src/com/android/providers/userdictionary/UserDictionaryProvider.java
+++ b/src/com/android/providers/userdictionary/UserDictionaryProvider.java
@@ -33,6 +33,7 @@
import android.net.Uri;
import android.os.Binder;
import android.os.Process;
+import android.os.UserHandle;
import android.provider.UserDictionary;
import android.provider.UserDictionary.Words;
import android.text.TextUtils;
@@ -311,7 +312,7 @@
private boolean canCallerAccessUserDictionary() {
final int callingUid = Binder.getCallingUid();
- if (callingUid == Process.SYSTEM_UID
+ if (UserHandle.getAppId(callingUid) == Process.SYSTEM_UID
|| callingUid == Process.ROOT_UID
|| callingUid == Process.myUid()) {
return true;