summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2013-10-30 13:58:11 -0700
committerJim Miller <jaggies@google.com>2013-10-31 14:32:29 -0700
commita999d463c1f72fc7d9fcb21e850b78ec77793730 (patch)
tree3d754a02b5e00a3ddca21f8f786b045d73214433
parent73f68dbcc6e03aa0071097ea8b1b84995013ff59 (diff)
downloadframeworks_base-a999d463c1f72fc7d9fcb21e850b78ec77793730.zip
frameworks_base-a999d463c1f72fc7d9fcb21e850b78ec77793730.tar.gz
frameworks_base-a999d463c1f72fc7d9fcb21e850b78ec77793730.tar.bz2
Remove deprecated API calls to KeyguardManager from statusbar
Fixes bug 11448304 Change-Id: I3049a20d9320af0425d7a8f08d5aa208e470e292
-rw-r--r--core/java/android/app/KeyguardManager.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardTouchDelegate.java23
3 files changed, 28 insertions, 14 deletions
diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java
index 22a21cd..aab6ed8 100644
--- a/core/java/android/app/KeyguardManager.java
+++ b/core/java/android/app/KeyguardManager.java
@@ -205,7 +205,9 @@ public class KeyguardManager {
try {
mWM.exitKeyguardSecurely(new IOnKeyguardExitResult.Stub() {
public void onKeyguardExitResult(boolean success) throws RemoteException {
- callback.onKeyguardExitResult(success);
+ if (callback != null) {
+ callback.onKeyguardExitResult(success);
+ }
}
});
} catch (RemoteException e) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
index 6a2bc5f..ed00398 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
@@ -18,7 +18,6 @@ package com.android.systemui.statusbar;
import android.app.ActivityManager;
import android.app.ActivityManagerNative;
-import android.app.KeyguardManager;
import android.app.Notification;
import android.app.PendingIntent;
import android.app.TaskStackBuilder;
@@ -70,6 +69,7 @@ import com.android.systemui.R;
import com.android.systemui.RecentsComponent;
import com.android.systemui.SearchPanelView;
import com.android.systemui.SystemUI;
+import com.android.systemui.statusbar.phone.KeyguardTouchDelegate;
import com.android.systemui.statusbar.policy.NotificationRowLayout;
import java.util.ArrayList;
@@ -128,7 +128,6 @@ public abstract class BaseStatusBar extends SystemUI implements
protected boolean mUseHeadsUp = false;
protected IDreamManager mDreamManager;
- KeyguardManager mKeyguardManager;
PowerManager mPowerManager;
protected int mRowHeight;
@@ -221,7 +220,6 @@ public abstract class BaseStatusBar extends SystemUI implements
mDreamManager = IDreamManager.Stub.asInterface(
ServiceManager.checkService(DreamService.DREAM_SERVICE));
- mKeyguardManager = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
mProvisioningObserver.onChange(false); // set up
@@ -749,9 +747,7 @@ public abstract class BaseStatusBar extends SystemUI implements
Log.w(TAG, "Sending contentIntent failed: " + e);
}
- KeyguardManager kgm =
- (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
- if (kgm != null) kgm.exitKeyguardSecurely(null);
+ KeyguardTouchDelegate.getInstance(mContext).dismiss();
}
try {
@@ -1056,10 +1052,12 @@ public abstract class BaseStatusBar extends SystemUI implements
boolean isAllowed = notification.extras.getInt(Notification.EXTRA_AS_HEADS_UP,
Notification.HEADS_UP_ALLOWED) != Notification.HEADS_UP_NEVER;
+ final KeyguardTouchDelegate keyguard = KeyguardTouchDelegate.getInstance(mContext);
boolean interrupt = (isFullscreen || (isHighPriority && isNoisy))
&& isAllowed
&& mPowerManager.isScreenOn()
- && !mKeyguardManager.isKeyguardLocked();
+ && !keyguard.isShowingAndNotHidden()
+ && !keyguard.isInputRestricted();
try {
interrupt = interrupt && !mDreamManager.isDreaming();
} catch (RemoteException e) {
@@ -1087,8 +1085,7 @@ public abstract class BaseStatusBar extends SystemUI implements
}
public boolean inKeyguardRestrictedInputMode() {
- KeyguardManager km = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);
- return km.inKeyguardRestrictedInputMode();
+ return KeyguardTouchDelegate.getInstance(mContext).isInputRestricted();
}
public void setInteracting(int barWindow, boolean interacting) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardTouchDelegate.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardTouchDelegate.java
index 5c55f0d..c1646ba 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardTouchDelegate.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardTouchDelegate.java
@@ -77,10 +77,11 @@ public class KeyguardTouchDelegate {
}
public static KeyguardTouchDelegate getInstance(Context context) {
- if (sInstance == null) {
- sInstance = new KeyguardTouchDelegate(context);
+ KeyguardTouchDelegate instance = sInstance;
+ if (instance == null) {
+ instance = sInstance = new KeyguardTouchDelegate(context);
}
- return sInstance;
+ return instance;
}
public boolean isSecure() {
@@ -165,7 +166,21 @@ public class KeyguardTouchDelegate {
Slog.e(TAG, "RemoteException launching camera!", e);
}
} else {
- Slog.w(TAG, "dispatch(event): NO SERVICE!");
+ Slog.w(TAG, "launchCamera(): NO SERVICE!");
+ }
+ }
+
+ public void dismiss() {
+ final IKeyguardService service = mService;
+ if (service != null) {
+ try {
+ service.dismiss();
+ } catch (RemoteException e) {
+ // What to do?
+ Slog.e(TAG, "RemoteException dismissing keyguard!", e);
+ }
+ } else {
+ Slog.w(TAG, "dismiss(): NO SERVICE!");
}
}