Don't cache results of permission check
For maximum safety, always check the current permission status
on the fly.
Bug: 22455059
Change-Id: Ib5cfd9fe1ab6222ff1d67354cb1ebb9bcd46873f
diff --git a/src/com/android/contacts/common/util/PermissionsUtil.java b/src/com/android/contacts/common/util/PermissionsUtil.java
index a314022..07480e3 100644
--- a/src/com/android/contacts/common/util/PermissionsUtil.java
+++ b/src/com/android/contacts/common/util/PermissionsUtil.java
@@ -33,41 +33,16 @@
public static final String CONTACTS = permission.READ_CONTACTS;
public static final String LOCATION = permission.ACCESS_FINE_LOCATION;
- private static Boolean sHasPhonePermissions;
- private static Boolean sHasContactsPermissions;
- private static Boolean sHasLocationPermissions;
-
public static boolean hasPhonePermissions(Context context) {
- if (sHasPhonePermissions == null) {
- sHasPhonePermissions = hasPermission(context, PHONE);
- }
- return sHasPhonePermissions;
+ return hasPermission(context, PHONE);
}
public static boolean hasContactsPermissions(Context context) {
- if (sHasContactsPermissions == null) {
- sHasContactsPermissions = hasPermission(context, CONTACTS);
- }
- return sHasContactsPermissions;
+ return hasPermission(context, CONTACTS);
}
public static boolean hasLocationPermissions(Context context) {
- if (sHasLocationPermissions == null) {
- sHasLocationPermissions = hasPermission(context, LOCATION);
- }
- return sHasLocationPermissions;
- }
-
- /**
- * To be called during various activity lifecycle events to update the cached versions of the
- * permissions.
- *
- * @param context A valid context.
- */
- public static void updateCachedPermissions(Context context) {
- sHasPhonePermissions = hasPermission(context, PHONE);
- sHasContactsPermissions = hasPermission(context, CONTACTS);
- sHasLocationPermissions = hasPermission(context, LOCATION);
+ return hasPermission(context, LOCATION);
}
public static boolean hasPermission(Context context, String permission) {