Merge "Cache IMountService for isUserKeyUnlocked() calls." into nyc-dev
am: 36cbf5ca37
* commit '36cbf5ca378523bfa4f5394e39f5fcff2b2461de':
Cache IMountService for isUserKeyUnlocked() calls.
Change-Id: I1ad2d1eba64a89e7a22dc86c7241f6f85a5f2a0b
This commit is contained in:
@@ -114,6 +114,8 @@ public class StorageManager {
|
|||||||
/** {@hide} */
|
/** {@hide} */
|
||||||
public static final int FLAG_INCLUDE_INVISIBLE = 1 << 10;
|
public static final int FLAG_INCLUDE_INVISIBLE = 1 << 10;
|
||||||
|
|
||||||
|
private static volatile IMountService sMountService = null;
|
||||||
|
|
||||||
private final Context mContext;
|
private final Context mContext;
|
||||||
private final ContentResolver mResolver;
|
private final ContentResolver mResolver;
|
||||||
|
|
||||||
@@ -1064,15 +1066,17 @@ public class StorageManager {
|
|||||||
|
|
||||||
/** {@hide} */
|
/** {@hide} */
|
||||||
public static boolean isUserKeyUnlocked(int userId) {
|
public static boolean isUserKeyUnlocked(int userId) {
|
||||||
final IMountService mount = IMountService.Stub
|
if (sMountService == null) {
|
||||||
.asInterface(ServiceManager.getService("mount"));
|
sMountService = IMountService.Stub
|
||||||
if (mount == null) {
|
.asInterface(ServiceManager.getService("mount"));
|
||||||
|
}
|
||||||
|
if (sMountService == null) {
|
||||||
Slog.w(TAG, "Early during boot, assuming locked");
|
Slog.w(TAG, "Early during boot, assuming locked");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final long token = Binder.clearCallingIdentity();
|
final long token = Binder.clearCallingIdentity();
|
||||||
try {
|
try {
|
||||||
return mount.isUserKeyUnlocked(userId);
|
return sMountService.isUserKeyUnlocked(userId);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
throw e.rethrowAsRuntimeException();
|
throw e.rethrowAsRuntimeException();
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
Reference in New Issue
Block a user