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

Commit 5468b686 authored by Galia Peycheva's avatar Galia Peycheva Committed by Android (Google) Code Review
Browse files

Merge "Force remove DreamActivity from system server"

parents 94e9f1ca d8e0c0d6
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@

package com.android.server.dreams;

import static android.app.WindowConfiguration.ACTIVITY_TYPE_DREAM;

import android.app.ActivityTaskManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -34,8 +37,6 @@ import android.os.UserHandle;
import android.service.dreams.DreamService;
import android.service.dreams.IDreamService;
import android.util.Slog;
import android.view.IWindowManager;
import android.view.WindowManagerGlobal;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -60,7 +61,7 @@ final class DreamController {
    private final Context mContext;
    private final Handler mHandler;
    private final Listener mListener;
    private final IWindowManager mIWindowManager;
    private final ActivityTaskManager mActivityTaskManager;
    private long mDreamStartTime;
    private String mSavedStopReason;

@@ -93,7 +94,7 @@ final class DreamController {
        mContext = context;
        mHandler = handler;
        mListener = listener;
        mIWindowManager = WindowManagerGlobal.getWindowManagerService();
        mActivityTaskManager = mContext.getSystemService(ActivityTaskManager.class);
        mCloseNotificationShadeIntent = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        mCloseNotificationShadeIntent.putExtra("reason", "dream");
    }
@@ -229,6 +230,8 @@ final class DreamController {
            }
            oldDream.releaseWakeLockIfNeeded();

            mActivityTaskManager.removeRootTasksWithActivityTypes(new int[] {ACTIVITY_TYPE_DREAM});

            mHandler.post(() -> mListener.onDreamStopped(oldDream.mToken));
        } finally {
            Trace.traceEnd(Trace.TRACE_TAG_POWER);