diff options
| author | Jim Miller <jaggies@google.com> | 2014-11-17 19:34:37 +0000 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-17 19:34:37 +0000 |
| commit | 58b9ee28262a608853dbb1134b5a79cf7fdce502 (patch) | |
| tree | c5d14f98b63594cc317836dc14e2126e18b6f38d | |
| parent | 58cdb919d1e7d6aa6fd066c22a457388c23982b0 (diff) | |
| parent | cd75f59f8cdeda95a50155ad0c9f4abd559037ec (diff) | |
| download | frameworks_base-58b9ee28262a608853dbb1134b5a79cf7fdce502.zip frameworks_base-58b9ee28262a608853dbb1134b5a79cf7fdce502.tar.gz frameworks_base-58b9ee28262a608853dbb1134b5a79cf7fdce502.tar.bz2 | |
am cd75f59f: Merge "Fix deadlock caused by synchronous setOccluded() method in keyguard" into lmp-mr1-dev
* commit 'cd75f59f8cdeda95a50155ad0c9f4abd559037ec':
Fix deadlock caused by synchronous setOccluded() method in keyguard
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java index ee699d2..98d4112 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java @@ -22,6 +22,7 @@ import android.os.Binder; import android.os.Bundle; import android.os.Debug; import android.os.IBinder; +import android.os.Process; import android.util.Log; import android.view.MotionEvent; @@ -52,6 +53,10 @@ public class KeyguardService extends Service { } void checkPermission() { + // Avoid deadlock by avoiding calling back into the system process. + if (Binder.getCallingUid() == Process.SYSTEM_UID) return; + + // Otherwise,explicitly check for caller permission ... if (getBaseContext().checkCallingOrSelfPermission(PERMISSION) != PERMISSION_GRANTED) { Log.w(TAG, "Caller needs permission '" + PERMISSION + "' to call " + Debug.getCaller()); throw new SecurityException("Access denied to process: " + Binder.getCallingPid() |
