am 7b5dd873: Fix 5466793: Fix memory leak in system process when face lock is enabled.

* commit '7b5dd87351ac476dd872c51f9b819d2a3e572382':
  Fix 5466793: Fix memory leak in system process when face lock is enabled.
This commit is contained in:
Jim Miller
2011-10-17 11:32:08 -07:00
committed by Android Git Automerger
2 changed files with 17 additions and 0 deletions

View File

@@ -23,4 +23,5 @@ interface IFaceLockInterface {
void startUi(IBinder containingWindowToken, int x, int y, int width, int height);
void stopUi();
void registerCallback(IFaceLockCallback cb);
void unregisterCallback(IFaceLockCallback cb);
}

View File

@@ -782,6 +782,15 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
mUnlockScreen = null;
}
mUpdateMonitor.removeCallback(this);
if (mFaceLockService != null) {
try {
mFaceLockService.unregisterCallback(mFaceLockCallback);
} catch (RemoteException e) {
// Not much we can do
}
stopFaceLock();
mFaceLockService = null;
}
}
private boolean isSecure() {
@@ -1206,6 +1215,13 @@ public class LockPatternKeyguardView extends KeyguardViewBase implements Handler
if (mBoundToFaceLockService) {
if (DEBUG) Log.d(TAG, "before unbind from FaceLock service");
if (mFaceLockService != null) {
try {
mFaceLockService.unregisterCallback(mFaceLockCallback);
} catch (RemoteException e) {
// Not much we can do
}
}
mContext.unbindService(mFaceLockConnection);
if (DEBUG) Log.d(TAG, "after unbind from FaceLock service");
mBoundToFaceLockService = false;