From aa93b0418fe5a13d696841074bb6d8e690456cda Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Wed, 5 Aug 2009 18:21:40 -0700 Subject: [PATCH] Correct the backup manager's identity around wakelock use --- services/java/com/android/server/BackupManagerService.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/java/com/android/server/BackupManagerService.java b/services/java/com/android/server/BackupManagerService.java index 77ba9140a03a0..d0e714f624e60 100644 --- a/services/java/com/android/server/BackupManagerService.java +++ b/services/java/com/android/server/BackupManagerService.java @@ -1476,10 +1476,12 @@ class BackupManagerService extends IBackupManager.Stub { if (DEBUG) Log.v(TAG, "Found the app - running clear process"); // found it; fire off the clear request synchronized (mQueueLock) { + long oldId = Binder.clearCallingIdentity(); mWakelock.acquire(); Message msg = mBackupHandler.obtainMessage(MSG_RUN_CLEAR, new ClearParams(getTransport(mCurrentTransport), info)); mBackupHandler.sendMessage(msg); + Binder.restoreCallingIdentity(oldId); } break; } @@ -1705,10 +1707,12 @@ class BackupManagerService extends IBackupManager.Stub { for (int i = 0; i < mRestoreSets.length; i++) { if (token == mRestoreSets[i].token) { + long oldId = Binder.clearCallingIdentity(); mWakelock.acquire(); Message msg = mBackupHandler.obtainMessage(MSG_RUN_RESTORE); msg.obj = new RestoreParams(mRestoreTransport, observer, token); mBackupHandler.sendMessage(msg); + Binder.restoreCallingIdentity(oldId); return 0; } }