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

Commit 0b633fc1 authored by Craig Mautner's avatar Craig Mautner
Browse files

Disable back button goes to recents behavior

Using a static final boolean to do this so if policy is changed it
can be enabled easily.

Also fix fetching task from wrong list. Was causing
ActivityNotFoundExceptions.

Fixes bug 16512561.

Change-Id: I9b47a86fd740d45104aa14712e71df830218c5a7
parent 8caac741
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -3554,13 +3554,22 @@ public final class ActivityManagerService extends ActivityManagerNative
            Slog.w(TAG, msg);
            throw new SecurityException(msg);
        }
        final TaskRecord task = mStackSupervisor.anyTaskForIdLocked(taskId);
        final int callingUid;
        final String callingPackage;
        final Intent intent;
        final int userId;
        synchronized (this) {
            final TaskRecord task = recentTaskForIdLocked(taskId);
            if (task == null) {
                throw new ActivityNotFoundException("Task " + taskId + " not found.");
            }
        return startActivityInPackage(task.mCallingUid, task.mCallingPackage,
                task.intent, null, null, null, 0, 0, options, task.userId,
                null);
            callingUid = task.mCallingUid;
            callingPackage = task.mCallingPackage;
            intent = task.intent;
            userId = task.userId;
        }
        return startActivityInPackage(callingUid, callingPackage, intent, null, null, null, 0, 0,
                options, userId, null);
    }
    final int startActivityInPackage(int uid, String callingPackage,
+5 −0
Original line number Diff line number Diff line
@@ -74,6 +74,8 @@ final class TaskRecord {

    private static final String TASK_THUMBNAIL_SUFFIX = "_task_thumbnail";

    static final boolean IGNORE_RETURN_TO_RECENTS = true;

    final int taskId;       // Unique identifier for this task.
    String affinity;        // The affinity name for this task, or null.
    final IVoiceInteractionSession voiceSession;    // Voice interaction session driving task
@@ -292,6 +294,9 @@ final class TaskRecord {
    }

    void setTaskToReturnTo(int taskToReturnTo) {
        if (IGNORE_RETURN_TO_RECENTS && taskToReturnTo == RECENTS_ACTIVITY_TYPE) {
            taskToReturnTo = HOME_ACTIVITY_TYPE;
        }
        mTaskToReturnTo = taskToReturnTo;
    }