Merge "Cache isUserUnlockingOrUnlocked Binder calls" into rvc-dev am: adfe0e9193 am: d47bed436d
Change-Id: I71ba434b8fa08f995806724900f3d25a887cee9f
This commit is contained in:
committed by
Automerger Merge Worker
commit
2bb58d0aa0
@@ -2216,6 +2216,20 @@ public class UserManager {
|
||||
}
|
||||
};
|
||||
|
||||
// Uses IS_USER_UNLOCKED_PROPERTY for invalidation as the APIs have the same dependencies.
|
||||
private final PropertyInvalidatedCache<Integer, Boolean> mIsUserUnlockingOrUnlockedCache =
|
||||
new PropertyInvalidatedCache<Integer, Boolean>(
|
||||
32, CACHE_KEY_IS_USER_UNLOCKED_PROPERTY) {
|
||||
@Override
|
||||
protected Boolean recompute(Integer query) {
|
||||
try {
|
||||
return mService.isUserUnlockingOrUnlocked(query);
|
||||
} catch (RemoteException re) {
|
||||
throw re.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** {@hide} */
|
||||
@UnsupportedAppUsage
|
||||
@RequiresPermission(anyOf = {Manifest.permission.MANAGE_USERS,
|
||||
@@ -2227,6 +2241,7 @@ public class UserManager {
|
||||
/** {@hide} */
|
||||
public void disableIsUserUnlockedCache() {
|
||||
mIsUserUnlockedCache.disableLocal();
|
||||
mIsUserUnlockingOrUnlockedCache.disableLocal();
|
||||
}
|
||||
|
||||
/** {@hide} */
|
||||
@@ -2263,11 +2278,7 @@ public class UserManager {
|
||||
@RequiresPermission(anyOf = {Manifest.permission.MANAGE_USERS,
|
||||
Manifest.permission.INTERACT_ACROSS_USERS}, conditional = true)
|
||||
public boolean isUserUnlockingOrUnlocked(@UserIdInt int userId) {
|
||||
try {
|
||||
return mService.isUserUnlockingOrUnlocked(userId);
|
||||
} catch (RemoteException re) {
|
||||
throw re.rethrowFromSystemServer();
|
||||
}
|
||||
return mIsUserUnlockingOrUnlockedCache.query(userId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user