Merge "Disable app pinning when emergency call button pressed" into nyc-dev
am: 8b655e0f57
* commit '8b655e0f57b071756e7d6a3547eeabe35885bcc9':
Disable app pinning when emergency call button pressed
Change-Id: Ibe8d37716ad1630359b3ef08350f485b0d1177a7
This commit is contained in:
@@ -16,15 +16,18 @@
|
|||||||
|
|
||||||
package com.android.keyguard;
|
package com.android.keyguard;
|
||||||
|
|
||||||
|
import android.app.ActivityManagerNative;
|
||||||
import android.app.ActivityOptions;
|
import android.app.ActivityOptions;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
import android.os.RemoteException;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.telecom.TelecomManager;
|
import android.telecom.TelecomManager;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.util.Slog;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
@@ -47,6 +50,8 @@ public class EmergencyButton extends Button {
|
|||||||
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
|
| Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
|
||||||
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||||
|
|
||||||
|
private static final String LOG_TAG = "EmergencyButton";
|
||||||
|
|
||||||
KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() {
|
KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -122,6 +127,11 @@ public class EmergencyButton extends Button {
|
|||||||
// TODO: implement a shorter timeout once new PowerManager API is ready.
|
// TODO: implement a shorter timeout once new PowerManager API is ready.
|
||||||
// should be the equivalent to the old userActivity(EMERGENCY_CALL_TIMEOUT)
|
// should be the equivalent to the old userActivity(EMERGENCY_CALL_TIMEOUT)
|
||||||
mPowerManager.userActivity(SystemClock.uptimeMillis(), true);
|
mPowerManager.userActivity(SystemClock.uptimeMillis(), true);
|
||||||
|
try {
|
||||||
|
ActivityManagerNative.getDefault().stopSystemLockTaskMode();
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Slog.w(LOG_TAG, "Failed to stop app pinning");
|
||||||
|
}
|
||||||
if (isInCall()) {
|
if (isInCall()) {
|
||||||
resumeCall();
|
resumeCall();
|
||||||
if (mEmergencyButtonCallback != null) {
|
if (mEmergencyButtonCallback != null) {
|
||||||
|
|||||||
@@ -199,6 +199,7 @@ import android.provider.Settings;
|
|||||||
import android.service.voice.IVoiceInteractionSession;
|
import android.service.voice.IVoiceInteractionSession;
|
||||||
import android.service.voice.VoiceInteractionManagerInternal;
|
import android.service.voice.VoiceInteractionManagerInternal;
|
||||||
import android.service.voice.VoiceInteractionSession;
|
import android.service.voice.VoiceInteractionSession;
|
||||||
|
import android.telecom.TelecomManager;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.text.format.Time;
|
import android.text.format.Time;
|
||||||
import android.text.style.SuggestionSpan;
|
import android.text.style.SuggestionSpan;
|
||||||
@@ -10167,6 +10168,10 @@ public final class ActivityManagerService extends ActivityManagerNative
|
|||||||
mStackSupervisor.setLockTaskModeLocked(null, ActivityManager.LOCK_TASK_MODE_NONE,
|
mStackSupervisor.setLockTaskModeLocked(null, ActivityManager.LOCK_TASK_MODE_NONE,
|
||||||
"stopLockTask", true);
|
"stopLockTask", true);
|
||||||
}
|
}
|
||||||
|
TelecomManager tm = (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
|
||||||
|
if (tm != null) {
|
||||||
|
tm.showInCallScreen(false);
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
Binder.restoreCallingIdentity(ident);
|
Binder.restoreCallingIdentity(ident);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user