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

Commit 69aefa91 authored by Priyanka Advani (xWF)'s avatar Priyanka Advani (xWF) Committed by Android (Google) Code Review
Browse files

Revert "Manage redirectToWake state in DreamOverlayService."

This reverts commit c0148969.

Reason for revert: Droidmonitor created revert due to b/362602724. Will be verifying through ABTD before submission.

Change-Id: Ic85bcf75ebe42909cede764031f6677a3969e12e
parent c0148969
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -51,8 +51,6 @@ public abstract class DreamOverlayService extends Service {
     */
    private Executor mExecutor;

    private boolean mCurrentRedirectToWake;

    // An {@link IDreamOverlayClient} implementation that identifies itself when forwarding
    // requests to the {@link DreamOverlayService}
    private static class OverlayClient extends IDreamOverlayClient.Stub {
@@ -134,10 +132,6 @@ public abstract class DreamOverlayService extends Service {
        mExecutor.execute(() -> {
            endDreamInternal(mCurrentClient);
            mCurrentClient = client;
            if (Flags.dreamWakeRedirect()) {
                mCurrentClient.redirectWake(mCurrentRedirectToWake);
            }

            onStartDream(params);
        });
    }
@@ -288,10 +282,8 @@ public abstract class DreamOverlayService extends Service {
            return;
        }

        mCurrentRedirectToWake = redirect;

        if (mCurrentClient == null) {
            return;
            throw new IllegalStateException("redirected wake with no dream present");
        }

        mCurrentClient.redirectWake(redirect);
+0 −45
Original line number Diff line number Diff line
@@ -18,9 +18,7 @@ package com.android.server.dreams;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
@@ -29,9 +27,7 @@ import android.content.ComponentName;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
import android.platform.test.annotations.EnableFlags;
import android.service.dreams.DreamOverlayService;
import android.service.dreams.Flags;
import android.service.dreams.IDreamOverlay;
import android.service.dreams.IDreamOverlayCallback;
import android.service.dreams.IDreamOverlayClient;
@@ -225,47 +221,6 @@ public class DreamOverlayServiceTest {
        verify(monitor, never()).onWakeUp();
    }

    /**
     * Verifies that only the currently started dream is able to affect the overlay.
     */
    @Test
    @EnableFlags(Flags.FLAG_DREAM_WAKE_REDIRECT)
    public void testRedirectToWakeAcrossClients() throws RemoteException {
        doAnswer(invocation -> {
            ((Runnable) invocation.getArgument(0)).run();
            return null;
        }).when(mExecutor).execute(any());

        final TestDreamOverlayService.Monitor monitor = Mockito.mock(
                TestDreamOverlayService.Monitor.class);
        final TestDreamOverlayService service = new TestDreamOverlayService(monitor, mExecutor);
        final IBinder binder = service.onBind(new Intent());
        final IDreamOverlay overlay = IDreamOverlay.Stub.asInterface(binder);

        service.redirectWake(true);

        final IDreamOverlayClient client = getClient(overlay);

        // Start the dream.
        client.startDream(mLayoutParams, mOverlayCallback,
                FIRST_DREAM_COMPONENT.flattenToString(), false);
        // Make sure redirect state is set on dream.
        verify(mOverlayCallback).onRedirectWake(eq(true));

        // Make sure new changes are propagated.
        clearInvocations(mOverlayCallback);
        service.redirectWake(false);
        verify(mOverlayCallback).onRedirectWake(eq(false));


        // Start another dream, make sure new dream is informed of current state.
        service.redirectWake(true);
        clearInvocations(mOverlayCallback);
        client.startDream(mLayoutParams, mOverlayCallback,
                FIRST_DREAM_COMPONENT.flattenToString(), false);
        verify(mOverlayCallback).onRedirectWake(eq(true));
    }

    private static IDreamOverlayClient getClient(IDreamOverlay overlay) throws RemoteException {
        final OverlayClientCallback callback = new OverlayClientCallback();
        overlay.getClient(callback);