Merge "Notify keyguard of when power button is pressed." into oc-dev
am: dd273de09e
Change-Id: I2e8061b695e1823ea9ab7b46c8fdb78111601ced
This commit is contained in:
@@ -93,4 +93,10 @@ oneway interface IKeyguardService {
|
||||
* @param fadeoutDuration the duration of the exit animation, in milliseconds
|
||||
*/
|
||||
void startKeyguardExitAnimation(long startTime, long fadeoutDuration);
|
||||
|
||||
/**
|
||||
* Notifies the Keyguard that the power key was pressed while locked and launched Home rather
|
||||
* than putting the device to sleep or waking up.
|
||||
*/
|
||||
void onShortPowerPressedGoHome();
|
||||
}
|
||||
|
||||
@@ -194,6 +194,12 @@ public class KeyguardService extends Service {
|
||||
mKeyguardViewMediator.startKeyguardExitAnimation(startTime, fadeoutDuration);
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShortPowerPressedGoHome() {
|
||||
checkPermission();
|
||||
mKeyguardViewMediator.onShortPowerPressedGoHome();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -2013,6 +2013,10 @@ public class KeyguardViewMediator extends SystemUI {
|
||||
Trace.endSection();
|
||||
}
|
||||
|
||||
public void onShortPowerPressedGoHome() {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
public ViewMediatorCallback getViewMediatorCallback() {
|
||||
return mViewMediatorCallback;
|
||||
}
|
||||
|
||||
@@ -1418,7 +1418,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
launchHomeFromHotKey();
|
||||
break;
|
||||
case SHORT_PRESS_POWER_GO_HOME:
|
||||
launchHomeFromHotKey(true /* awakenFromDreams */, false /*respectKeyguard*/);
|
||||
shortPressPowerGoHome();
|
||||
break;
|
||||
case SHORT_PRESS_POWER_CLOSE_IME_OR_GO_HOME: {
|
||||
if (mDismissImeOnBackKeyPressed) {
|
||||
@@ -1430,8 +1430,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
mInputMethodManagerInternal.hideCurrentInputMethod();
|
||||
}
|
||||
} else {
|
||||
launchHomeFromHotKey(true /* awakenFromDreams */,
|
||||
false /*respectKeyguard*/);
|
||||
shortPressPowerGoHome();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1439,6 +1438,15 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
}
|
||||
}
|
||||
|
||||
private void shortPressPowerGoHome() {
|
||||
launchHomeFromHotKey(true /* awakenFromDreams */, false /*respectKeyguard*/);
|
||||
if (isKeyguardShowingAndNotOccluded()) {
|
||||
// Notify keyguard so it can do any special handling for the power button since the
|
||||
// device will not power off and only launch home.
|
||||
mKeyguardDelegate.onShortPowerPressedGoHome();
|
||||
}
|
||||
}
|
||||
|
||||
private void powerMultiPressAction(long eventTime, boolean interactive, int behavior) {
|
||||
switch (behavior) {
|
||||
case MULTI_PRESS_POWER_NOTHING:
|
||||
|
||||
@@ -372,6 +372,12 @@ public class KeyguardServiceDelegate {
|
||||
mKeyguardState.bootCompleted = true;
|
||||
}
|
||||
|
||||
public void onShortPowerPressedGoHome() {
|
||||
if (mKeyguardService != null) {
|
||||
mKeyguardService.onShortPowerPressedGoHome();
|
||||
}
|
||||
}
|
||||
|
||||
public void dump(String prefix, PrintWriter pw) {
|
||||
pw.println(prefix + TAG);
|
||||
prefix += " ";
|
||||
|
||||
@@ -218,6 +218,15 @@ public class KeyguardServiceWrapper implements IKeyguardService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShortPowerPressedGoHome() {
|
||||
try {
|
||||
mService.onShortPowerPressedGoHome();
|
||||
} catch (RemoteException e) {
|
||||
Slog.w(TAG , "Remote Exception", e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // Binder interface
|
||||
public IBinder asBinder() {
|
||||
return mService.asBinder();
|
||||
|
||||
Reference in New Issue
Block a user