Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aeba3453 authored by Hall Liu's avatar Hall Liu Committed by android-build-merger
Browse files

Merge \"DO NOT MERGE Disable app pinning when emergency call button pressed\" into mnc-dev

am: fc32ec1a

Change-Id: I04ff0004a9112cfbe7e61b2fa6cb3fd4f037bbd0
parents 34fb87b5 fc32ec1a
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -16,15 +16,18 @@

package com.android.keyguard;

import android.app.ActivityManagerNative;
import android.app.ActivityOptions;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.PowerManager;
import android.os.RemoteException;
import android.os.SystemClock;
import android.os.UserHandle;
import android.telecom.TelecomManager;
import android.util.AttributeSet;
import android.util.Slog;
import android.view.View;
import android.widget.Button;

@@ -46,6 +49,8 @@ public class EmergencyButton extends Button {
                    | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
                    | Intent.FLAG_ACTIVITY_CLEAR_TOP);

    private static final String LOG_TAG = "EmergencyButton";

    KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() {

        @Override
@@ -121,6 +126,11 @@ public class EmergencyButton extends Button {
        // TODO: implement a shorter timeout once new PowerManager API is ready.
        // should be the equivalent to the old userActivity(EMERGENCY_CALL_TIMEOUT)
        mPowerManager.userActivity(SystemClock.uptimeMillis(), true);
        try {
            ActivityManagerNative.getDefault().stopLockTaskMode();
        } catch (RemoteException e) {
            Slog.w(LOG_TAG, "Failed to stop app pinning");
        }
        if (isInCall()) {
            resumeCall();
            if (mEmergencyButtonCallback != null) {
+5 −0
Original line number Diff line number Diff line
@@ -213,6 +213,7 @@ import android.os.UpdateLock;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.Settings;
import android.telecom.TelecomManager;
import android.text.format.DateUtils;
import android.text.format.Time;
import android.util.AtomicFile;
@@ -9179,6 +9180,10 @@ public final class ActivityManagerService extends ActivityManagerNative
                mStackSupervisor.setLockTaskModeLocked(null, ActivityManager.LOCK_TASK_MODE_NONE,
                        "stopLockTask", true);
            }
            TelecomManager tm = (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
            if (tm != null) {
                tm.showInCallScreen(false);
            }
        } finally {
            Binder.restoreCallingIdentity(ident);
        }
+3 −1
Original line number Diff line number Diff line
@@ -3868,8 +3868,10 @@ public final class ActivityStackSupervisor implements DisplayListener {
    }

    void showLockTaskToast() {
        if (mLockTaskNotify != null) {
            mLockTaskNotify.showToast(mLockTaskModeState);
        }
    }

    void showLockTaskEscapeMessageLocked(TaskRecord task) {
        if (mLockTaskModeTasks.contains(task)) {