Merge changes I7070326d,I8346e53c
* changes: Add OWNERS file to AndroidKeystoreSPI implementation KeyguardStateMonitor looses connection with keystore if keystore dies
This commit is contained in:
4
keystore/OWNERS
Normal file
4
keystore/OWNERS
Normal file
@@ -0,0 +1,4 @@
|
||||
jbires@google.com
|
||||
jdanis@google.com
|
||||
robbarnes@google.com
|
||||
swillden@google.com
|
||||
@@ -95,10 +95,22 @@ public class KeyguardStateMonitor extends IKeyguardStateCallback.Stub {
|
||||
mIsShowing = showing;
|
||||
|
||||
mCallback.onShowingChanged();
|
||||
try {
|
||||
mKeystoreService.onKeyguardVisibilityChanged(showing, mCurrentUserId);
|
||||
} catch (RemoteException e) {
|
||||
Slog.e(TAG, "Error informing keystore of screen lock", e);
|
||||
int retry = 2;
|
||||
while (retry > 0) {
|
||||
try {
|
||||
mKeystoreService.onKeyguardVisibilityChanged(showing, mCurrentUserId);
|
||||
break;
|
||||
} catch (RemoteException e) {
|
||||
if (retry == 2) {
|
||||
Slog.w(TAG, "Error informing keystore of screen lock. Keystore may have died"
|
||||
+ " -> refreshing service token and retrying");
|
||||
mKeystoreService = IKeystoreService.Stub.asInterface(ServiceManager
|
||||
.getService("android.security.keystore"));
|
||||
} else {
|
||||
Slog.e(TAG, "Error informing keystore of screen lock after retrying once", e);
|
||||
}
|
||||
--retry;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user