Revert "Introduce system shortcut key unit tests"

This reverts commit 1c70dfaed49cf6e039a83fe7706b3ec78d0b7594.

Reason for revert: Broke powermenu test

Bug: 242031003
Change-Id: I6445da870563a929bb82382aecd1f4a2ba5661e2
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index f843af8..5816e98 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -185,7 +185,6 @@
 import com.android.internal.R;
 import com.android.internal.accessibility.AccessibilityShortcutController;
 import com.android.internal.accessibility.util.AccessibilityUtils;
-import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.AssistUtils;
 import com.android.internal.inputmethod.SoftInputShowHideReason;
 import com.android.internal.logging.MetricsLogger;
@@ -1545,6 +1544,9 @@
     }
 
     void showGlobalActionsInternal() {
+        if (mGlobalActions == null) {
+            mGlobalActions = new GlobalActions(mContext, mWindowManagerFuncs);
+        }
         final boolean keyguardShowing = isKeyguardShowingAndNotOccluded();
         mGlobalActions.showDialog(keyguardShowing, isDeviceProvisioned());
         // since it took two seconds of long press to bring this up,
@@ -1867,45 +1869,11 @@
         mDefaultDisplayPolicy = mDefaultDisplayRotation.getDisplayPolicy();
     }
 
-    /** Point of injection for test dependencies. */
-    @VisibleForTesting
-    static class Injector {
-        private final Context mContext;
-        private final WindowManagerFuncs mWindowManagerFuncs;
-
-        Injector(Context context, WindowManagerFuncs funcs) {
-            mContext = context;
-            mWindowManagerFuncs = funcs;
-        }
-
-        Context getContext() {
-            return mContext;
-        }
-
-        WindowManagerFuncs getWindowManagerFuncs() {
-            return mWindowManagerFuncs;
-        }
-
-        AccessibilityShortcutController getAccessibilityShortcutController(
-                Context context, Handler handler, int initialUserId) {
-            return new AccessibilityShortcutController(context, handler, initialUserId);
-        }
-
-        GlobalActions getGlobalActions() {
-            return new GlobalActions(mContext, mWindowManagerFuncs);
-        }
-    }
-
     /** {@inheritDoc} */
     @Override
-    public void init(Context context, WindowManagerFuncs funcs) {
-        init(new Injector(context, funcs));
-    }
-
-    @VisibleForTesting
-    void init(Injector injector) {
-        mContext = injector.getContext();
-        mWindowManagerFuncs = injector.getWindowManagerFuncs();
+    public void init(Context context, WindowManagerFuncs windowManagerFuncs) {
+        mContext = context;
+        mWindowManagerFuncs = windowManagerFuncs;
         mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class);
         mActivityManagerInternal = LocalServices.getService(ActivityManagerInternal.class);
         mActivityTaskManagerInternal = LocalServices.getService(ActivityTaskManagerInternal.class);
@@ -1920,9 +1888,8 @@
         mHasFeatureLeanback = mPackageManager.hasSystemFeature(FEATURE_LEANBACK);
         mHasFeatureAuto = mPackageManager.hasSystemFeature(FEATURE_AUTOMOTIVE);
         mHasFeatureHdmiCec = mPackageManager.hasSystemFeature(FEATURE_HDMI_CEC);
-        mAccessibilityShortcutController = injector.getAccessibilityShortcutController(
-                mContext, new Handler(), mCurrentUserId);
-        mGlobalActions = injector.getGlobalActions();
+        mAccessibilityShortcutController =
+                new AccessibilityShortcutController(mContext, new Handler(), mCurrentUserId);
         mLogger = new MetricsLogger();
 
         mScreenOffSleepTokenAcquirer = mActivityTaskManagerInternal
@@ -1937,7 +1904,7 @@
                 res.getBoolean(com.android.internal.R.bool.config_wakeOnBackKeyPress);
 
         // Init display burn-in protection
-        boolean burnInProtectionEnabled = mContext.getResources().getBoolean(
+        boolean burnInProtectionEnabled = context.getResources().getBoolean(
                 com.android.internal.R.bool.config_enableBurnInProtection);
         // Allow a system property to override this. Used by developer settings.
         boolean burnInProtectionDevMode =
@@ -1955,7 +1922,7 @@
                 maxVertical = -4;
                 maxRadius = (isRoundWindow()) ? 6 : -1;
             } else {
-                Resources resources = mContext.getResources();
+                Resources resources = context.getResources();
                 minHorizontal = resources.getInteger(
                         com.android.internal.R.integer.config_burnInProtectionMinHorizontalOffset);
                 maxHorizontal = resources.getInteger(
@@ -1968,21 +1935,21 @@
                         com.android.internal.R.integer.config_burnInProtectionMaxRadius);
             }
             mBurnInProtectionHelper = new BurnInProtectionHelper(
-                    mContext, minHorizontal, maxHorizontal, minVertical, maxVertical, maxRadius);
+                    context, minHorizontal, maxHorizontal, minVertical, maxVertical, maxRadius);
         }
 
         mHandler = new PolicyHandler();
         mWakeGestureListener = new MyWakeGestureListener(mContext, mHandler);
         mSettingsObserver = new SettingsObserver(mHandler);
         mSettingsObserver.observe();
-        mModifierShortcutManager = new ModifierShortcutManager(mContext);
-        mUiMode = mContext.getResources().getInteger(
+        mModifierShortcutManager = new ModifierShortcutManager(context);
+        mUiMode = context.getResources().getInteger(
                 com.android.internal.R.integer.config_defaultUiModeType);
         mHomeIntent =  new Intent(Intent.ACTION_MAIN, null);
         mHomeIntent.addCategory(Intent.CATEGORY_HOME);
         mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                 | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
-        mEnableCarDockHomeCapture = mContext.getResources().getBoolean(
+        mEnableCarDockHomeCapture = context.getResources().getBoolean(
                 com.android.internal.R.bool.config_enableCarDockHomeLaunch);
         mCarDockIntent =  new Intent(Intent.ACTION_MAIN, null);
         mCarDockIntent.addCategory(Intent.CATEGORY_CAR_DOCK);
@@ -1997,7 +1964,7 @@
         mVrHeadsetHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                 | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
 
-        mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
+        mPowerManager = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
         mBroadcastWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                 "PhoneWindowManager.mBroadcastWakeLock");
         mPowerKeyWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
@@ -2069,9 +2036,9 @@
 
         readConfigurationDependentBehaviors();
 
-        mDisplayFoldController = DisplayFoldController.create(mContext, DEFAULT_DISPLAY);
+        mDisplayFoldController = DisplayFoldController.create(context, DEFAULT_DISPLAY);
 
-        mAccessibilityManager = (AccessibilityManager) mContext.getSystemService(
+        mAccessibilityManager = (AccessibilityManager) context.getSystemService(
                 Context.ACCESSIBILITY_SERVICE);
 
         // register for dock events
@@ -2081,7 +2048,7 @@
         filter.addAction(UiModeManager.ACTION_ENTER_DESK_MODE);
         filter.addAction(UiModeManager.ACTION_EXIT_DESK_MODE);
         filter.addAction(Intent.ACTION_DOCK_EVENT);
-        Intent intent = mContext.registerReceiver(mDockReceiver, filter);
+        Intent intent = context.registerReceiver(mDockReceiver, filter);
         if (intent != null) {
             // Retrieve current sticky dock event broadcast.
             mDefaultDisplayPolicy.setDockMode(intent.getIntExtra(Intent.EXTRA_DOCK_STATE,
@@ -2092,13 +2059,13 @@
         filter = new IntentFilter();
         filter.addAction(Intent.ACTION_DREAMING_STARTED);
         filter.addAction(Intent.ACTION_DREAMING_STOPPED);
-        mContext.registerReceiver(mDreamReceiver, filter);
+        context.registerReceiver(mDreamReceiver, filter);
 
         // register for multiuser-relevant broadcasts
         filter = new IntentFilter(Intent.ACTION_USER_SWITCHED);
-        mContext.registerReceiver(mMultiuserReceiver, filter);
+        context.registerReceiver(mMultiuserReceiver, filter);
 
-        mVibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
+        mVibrator = (Vibrator)context.getSystemService(Context.VIBRATOR_SERVICE);
         mSafeModeEnabledVibePattern = getLongIntArray(mContext.getResources(),
                 com.android.internal.R.array.config_safeModeEnabledVibePattern);
 
diff --git a/services/tests/wmtests/src/com/android/server/policy/CombinationKeyTests.java b/services/tests/wmtests/src/com/android/server/policy/CombinationKeyTests.java
deleted file mode 100644
index 62875e5..0000000
--- a/services/tests/wmtests/src/com/android/server/policy/CombinationKeyTests.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.server.policy;
-
-import static android.view.KeyEvent.KEYCODE_POWER;
-import static android.view.KeyEvent.KEYCODE_VOLUME_DOWN;
-import static android.view.KeyEvent.KEYCODE_VOLUME_UP;
-
-import static com.android.server.policy.PhoneWindowManager.POWER_VOLUME_UP_BEHAVIOR_GLOBAL_ACTIONS;
-import static com.android.server.policy.PhoneWindowManager.POWER_VOLUME_UP_BEHAVIOR_MUTE;
-
-import android.view.ViewConfiguration;
-
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Test class for combination key shortcuts.
- *
- * Build/Install/Run:
- *  atest WmTests:CombinationKeyTests
- */
-@MediumTest
-@RunWith(AndroidJUnit4.class)
-public class CombinationKeyTests extends ShortcutKeyTestBase {
-    private static final long A11Y_KEY_HOLD_MILLIS = 3500;
-
-    /**
-     * Power-VolDown to take screenshot.
-     */
-    @Test
-    public void testPowerVolumeDown() {
-        sendKeyCombination(new int[]{KEYCODE_POWER, KEYCODE_VOLUME_DOWN},
-                ViewConfiguration.get(mContext).getScreenshotChordKeyTimeout());
-        mPhoneWindowManager.assertTakeScreenshotCalled();
-    }
-
-    /**
-     * Power-VolUp to show global actions or mute audio. (Phone default behavior)
-     */
-    @Test
-    public void testPowerVolumeUp() {
-        // Show global actions.
-        mPhoneWindowManager.overridePowerVolumeUp(POWER_VOLUME_UP_BEHAVIOR_GLOBAL_ACTIONS);
-        sendKeyCombination(new int[]{KEYCODE_POWER, KEYCODE_VOLUME_UP}, 0);
-        mPhoneWindowManager.assertShowGlobalActionsCalled();
-
-        // Mute audio (hold over 100ms).
-        mPhoneWindowManager.overridePowerVolumeUp(POWER_VOLUME_UP_BEHAVIOR_MUTE);
-        sendKeyCombination(new int[]{KEYCODE_POWER, KEYCODE_VOLUME_UP}, 100);
-        mPhoneWindowManager.assertVolumeMute();
-    }
-
-    /**
-     * VolDown-VolUp and hold 3 secs to enable accessibility service.
-     */
-    @Test
-    public void testVolumeDownVolumeUp() {
-        sendKeyCombination(new int[]{KEYCODE_VOLUME_DOWN, KEYCODE_VOLUME_UP}, A11Y_KEY_HOLD_MILLIS);
-        mPhoneWindowManager.assertAccessibilityKeychordCalled();
-    }
-}
diff --git a/services/tests/wmtests/src/com/android/server/policy/KeyCombinationManagerTests.java b/services/tests/wmtests/src/com/android/server/policy/KeyCombinationTests.java
similarity index 98%
rename from services/tests/wmtests/src/com/android/server/policy/KeyCombinationManagerTests.java
rename to services/tests/wmtests/src/com/android/server/policy/KeyCombinationTests.java
index 4c69857..cf57181 100644
--- a/services/tests/wmtests/src/com/android/server/policy/KeyCombinationManagerTests.java
+++ b/services/tests/wmtests/src/com/android/server/policy/KeyCombinationTests.java
@@ -43,11 +43,11 @@
  * Test class for {@link KeyCombinationManager}.
  *
  * Build/Install/Run:
- *  atest KeyCombinationManagerTests
+ *  atest KeyCombinationTests
  */
 
 @SmallTest
-public class KeyCombinationManagerTests {
+public class KeyCombinationTests {
     private KeyCombinationManager mKeyCombinationManager;
 
     private final CountDownLatch mAction1Triggered = new CountDownLatch(1);
@@ -228,4 +228,4 @@
         mKeyCombinationManager.interceptKey(firstKeyDown, true);
         assertTrue(mKeyCombinationManager.getKeyInterceptTimeout(KEYCODE_VOLUME_UP) > eventTime);
     }
-}
+}
\ No newline at end of file
diff --git a/services/tests/wmtests/src/com/android/server/policy/PowerKeyGestureTests.java b/services/tests/wmtests/src/com/android/server/policy/PowerKeyGestureTests.java
deleted file mode 100644
index 7c6fd05..0000000
--- a/services/tests/wmtests/src/com/android/server/policy/PowerKeyGestureTests.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.server.policy;
-
-import static android.view.KeyEvent.KEYCODE_POWER;
-import static android.view.KeyEvent.KEYCODE_VOLUME_UP;
-
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_ASSISTANT;
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_GLOBAL_ACTIONS;
-
-import android.view.Display;
-
-import org.junit.Test;
-
-/**
- * Test class for power key gesture.
- *
- * Build/Install/Run:
- *  atest WmTests:PowerKeyGestureTests
- */
-public class PowerKeyGestureTests extends ShortcutKeyTestBase {
-    /**
-     * Power single press to turn screen on/off.
-     */
-    @Test
-    public void testPowerSinglePress() {
-        sendKey(KEYCODE_POWER);
-        mPhoneWindowManager.assertPowerSleep();
-
-        // turn screen on when begin from non-interactive.
-        mPhoneWindowManager.overrideDisplayState(Display.STATE_OFF);
-        sendKey(KEYCODE_POWER);
-        mPhoneWindowManager.assertPowerWakeUp();
-        mPhoneWindowManager.assertNoPowerSleep();
-    }
-
-    /**
-     * Power double press to trigger camera.
-     */
-    @Test
-    public void testPowerDoublePress() {
-        sendKey(KEYCODE_POWER);
-        sendKey(KEYCODE_POWER);
-        mPhoneWindowManager.assertCameraLaunch();
-    }
-
-    /**
-     * Power long press to show assistant or global actions.
-     */
-    @Test
-    public void testPowerLongPress() {
-        // Show assistant.
-        mPhoneWindowManager.overrideLongPressOnPower(LONG_PRESS_POWER_ASSISTANT);
-        sendKey(KEYCODE_POWER, true);
-        mPhoneWindowManager.assertAssistLaunch();
-
-        // Show global actions.
-        mPhoneWindowManager.overrideLongPressOnPower(LONG_PRESS_POWER_GLOBAL_ACTIONS);
-        sendKey(KEYCODE_POWER, true);
-        mPhoneWindowManager.assertShowGlobalActionsCalled();
-    }
-
-    /**
-     * Ignore power press if combination key already triggered.
-     */
-    @Test
-    public void testIgnoreSinglePressWhenCombinationKeyTriggered() {
-        sendKeyCombination(new int[]{KEYCODE_POWER, KEYCODE_VOLUME_UP}, 0);
-        mPhoneWindowManager.assertNoPowerSleep();
-    }
-}
diff --git a/services/tests/wmtests/src/com/android/server/policy/ShortcutKeyTestBase.java b/services/tests/wmtests/src/com/android/server/policy/ShortcutKeyTestBase.java
deleted file mode 100644
index 6368f47..0000000
--- a/services/tests/wmtests/src/com/android/server/policy/ShortcutKeyTestBase.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.server.policy;
-
-import static android.view.Display.DEFAULT_DISPLAY;
-import static android.view.KeyEvent.KEYCODE_ALT_LEFT;
-import static android.view.KeyEvent.KEYCODE_ALT_RIGHT;
-import static android.view.KeyEvent.KEYCODE_CTRL_LEFT;
-import static android.view.KeyEvent.KEYCODE_CTRL_RIGHT;
-import static android.view.KeyEvent.KEYCODE_META_LEFT;
-import static android.view.KeyEvent.KEYCODE_META_RIGHT;
-import static android.view.KeyEvent.KEYCODE_SHIFT_LEFT;
-import static android.view.KeyEvent.KEYCODE_SHIFT_RIGHT;
-import static android.view.KeyEvent.META_ALT_LEFT_ON;
-import static android.view.KeyEvent.META_ALT_ON;
-import static android.view.KeyEvent.META_ALT_RIGHT_ON;
-import static android.view.KeyEvent.META_CTRL_LEFT_ON;
-import static android.view.KeyEvent.META_CTRL_ON;
-import static android.view.KeyEvent.META_CTRL_RIGHT_ON;
-import static android.view.KeyEvent.META_META_LEFT_ON;
-import static android.view.KeyEvent.META_META_ON;
-import static android.view.KeyEvent.META_META_RIGHT_ON;
-import static android.view.KeyEvent.META_SHIFT_LEFT_ON;
-import static android.view.KeyEvent.META_SHIFT_ON;
-import static android.view.KeyEvent.META_SHIFT_RIGHT_ON;
-
-import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
-
-import static com.android.server.policy.WindowManagerPolicy.ACTION_PASS_TO_USER;
-
-import static java.util.Collections.unmodifiableMap;
-
-import android.content.Context;
-import android.os.Looper;
-import android.os.SystemClock;
-import android.util.ArrayMap;
-import android.view.InputDevice;
-import android.view.KeyCharacterMap;
-import android.view.KeyEvent;
-import android.view.ViewConfiguration;
-
-import org.junit.After;
-import org.junit.Before;
-
-import java.util.Map;
-
-class ShortcutKeyTestBase {
-    TestPhoneWindowManager mPhoneWindowManager;
-    final Context mContext = getInstrumentation().getTargetContext();
-
-    /** Modifier key to meta state */
-    private static final Map<Integer, Integer> MODIFIER;
-    static {
-        final Map<Integer, Integer> map = new ArrayMap<>();
-        map.put(KEYCODE_CTRL_LEFT, META_CTRL_LEFT_ON | META_CTRL_ON);
-        map.put(KEYCODE_CTRL_RIGHT, META_CTRL_RIGHT_ON | META_CTRL_ON);
-        map.put(KEYCODE_ALT_LEFT, META_ALT_LEFT_ON | META_ALT_ON);
-        map.put(KEYCODE_ALT_RIGHT, META_ALT_RIGHT_ON | META_ALT_ON);
-        map.put(KEYCODE_SHIFT_LEFT, META_SHIFT_LEFT_ON | META_SHIFT_ON);
-        map.put(KEYCODE_SHIFT_RIGHT, META_SHIFT_RIGHT_ON | META_SHIFT_ON);
-        map.put(KEYCODE_META_LEFT, META_META_LEFT_ON | META_META_ON);
-        map.put(KEYCODE_META_RIGHT, META_META_RIGHT_ON | META_META_ON);
-
-        MODIFIER = unmodifiableMap(map);
-    }
-
-    @Before
-    public void setUp() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-
-        mPhoneWindowManager = new TestPhoneWindowManager(mContext);
-    }
-
-    @After
-    public void tearDown() {
-        mPhoneWindowManager.tearDown();
-    }
-
-    void sendKeyCombination(int[] keyCodes, long duration) {
-        final long downTime = SystemClock.uptimeMillis();
-        final int count = keyCodes.length;
-        final KeyEvent[] events = new KeyEvent[count];
-        int metaState = 0;
-        for (int i = 0; i < count; i++) {
-            final int keyCode = keyCodes[i];
-            final KeyEvent event = new KeyEvent(downTime, downTime, KeyEvent.ACTION_DOWN, keyCode,
-                    0 /*repeat*/, metaState, KeyCharacterMap.VIRTUAL_KEYBOARD, 0 /*scancode*/,
-                    0 /*flags*/, InputDevice.SOURCE_KEYBOARD);
-            event.setDisplayId(DEFAULT_DISPLAY);
-            events[i] = event;
-            // The order is important here, metaState could be updated and applied to the next key.
-            metaState |= MODIFIER.getOrDefault(keyCode, 0);
-        }
-
-        for (KeyEvent event: events) {
-            interceptKey(event);
-        }
-
-        try {
-            Thread.sleep(duration);
-        } catch (InterruptedException e) {
-            throw new RuntimeException(e);
-        }
-
-        for (KeyEvent event: events) {
-            final long eventTime = SystemClock.uptimeMillis();
-            final int keyCode = event.getKeyCode();
-            final KeyEvent upEvent = new KeyEvent(downTime, eventTime, KeyEvent.ACTION_UP, keyCode,
-                    0, metaState, KeyCharacterMap.VIRTUAL_KEYBOARD, 0 /*scancode*/, 0 /*flags*/,
-                    InputDevice.SOURCE_KEYBOARD);
-            interceptKey(upEvent);
-            metaState &= ~MODIFIER.getOrDefault(keyCode, 0);
-        }
-    }
-
-    void sendKey(int keyCode) {
-        sendKey(keyCode, false);
-    }
-
-    void sendKey(int keyCode, boolean longPress) {
-        final long downTime = SystemClock.uptimeMillis();
-        final KeyEvent event = new KeyEvent(downTime, downTime, KeyEvent.ACTION_DOWN, keyCode,
-                0 /*repeat*/, 0 /*metaState*/, KeyCharacterMap.VIRTUAL_KEYBOARD, 0 /*scancode*/,
-                0 /*flags*/, InputDevice.SOURCE_KEYBOARD);
-        event.setDisplayId(DEFAULT_DISPLAY);
-        interceptKey(event);
-
-        if (longPress) {
-            final long nextDownTime = downTime + ViewConfiguration.getLongPressTimeout();
-            final KeyEvent nextDownevent = new KeyEvent(downTime, nextDownTime,
-                    KeyEvent.ACTION_DOWN, keyCode, 1 /*repeat*/, 0 /*metaState*/,
-                    KeyCharacterMap.VIRTUAL_KEYBOARD, 0 /*scancode*/,
-                    KeyEvent.FLAG_LONG_PRESS /*flags*/, InputDevice.SOURCE_KEYBOARD);
-            interceptKey(nextDownevent);
-        }
-
-        final long eventTime = longPress
-                ? SystemClock.uptimeMillis() + ViewConfiguration.getLongPressTimeout()
-                : SystemClock.uptimeMillis();
-        final KeyEvent upEvent = new KeyEvent(downTime, eventTime, KeyEvent.ACTION_UP, keyCode,
-                0 /*repeat*/, 0 /*metaState*/, KeyCharacterMap.VIRTUAL_KEYBOARD, 0 /*scancode*/,
-                0 /*flags*/, InputDevice.SOURCE_KEYBOARD);
-        interceptKey(upEvent);
-    }
-
-    private void interceptKey(KeyEvent keyEvent) {
-        int actions = mPhoneWindowManager.interceptKeyBeforeQueueing(keyEvent);
-        if ((actions & ACTION_PASS_TO_USER) != 0) {
-            if (0 == mPhoneWindowManager.interceptKeyBeforeDispatching(keyEvent)) {
-                mPhoneWindowManager.dispatchUnhandledKey(keyEvent);
-            }
-        }
-    }
-}
diff --git a/services/tests/wmtests/src/com/android/server/policy/TestPhoneWindowManager.java b/services/tests/wmtests/src/com/android/server/policy/TestPhoneWindowManager.java
deleted file mode 100644
index 0320efe..0000000
--- a/services/tests/wmtests/src/com/android/server/policy/TestPhoneWindowManager.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.server.policy;
-
-import static android.provider.Settings.Secure.VOLUME_HUSH_MUTE;
-import static android.view.Display.DEFAULT_DISPLAY;
-import static android.view.Display.STATE_ON;
-import static android.view.WindowManagerPolicyConstants.FLAG_INTERACTIVE;
-
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyInt;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyLong;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyString;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_ASSISTANT;
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_GLOBAL_ACTIONS;
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_GO_TO_VOICE_ASSIST;
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_NOTHING;
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_SHUT_OFF;
-import static com.android.server.policy.PhoneWindowManager.LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM;
-import static com.android.server.policy.PhoneWindowManager.POWER_VOLUME_UP_BEHAVIOR_MUTE;
-
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.Mockito.CALLS_REAL_METHODS;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.timeout;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.withSettings;
-
-import android.app.ActivityManagerInternal;
-import android.app.AppOpsManager;
-import android.app.NotificationManager;
-import android.app.SearchManager;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.hardware.display.DisplayManager;
-import android.hardware.display.DisplayManagerInternal;
-import android.hardware.input.InputManagerInternal;
-import android.media.AudioManagerInternal;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.PowerManager;
-import android.os.PowerManagerInternal;
-import android.os.Vibrator;
-import android.service.dreams.DreamManagerInternal;
-import android.telecom.TelecomManager;
-import android.view.Display;
-import android.view.KeyEvent;
-import android.view.autofill.AutofillManagerInternal;
-
-import com.android.dx.mockito.inline.extended.StaticMockitoSession;
-import com.android.internal.accessibility.AccessibilityShortcutController;
-import com.android.server.GestureLauncherService;
-import com.android.server.LocalServices;
-import com.android.server.vr.VrManagerInternal;
-import com.android.server.wm.ActivityTaskManagerInternal;
-import com.android.server.wm.DisplayPolicy;
-import com.android.server.wm.DisplayRotation;
-import com.android.server.wm.WindowManagerInternal;
-
-import org.mockito.Mock;
-import org.mockito.MockSettings;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-
-class TestPhoneWindowManager {
-    private static final long SHORTCUT_KEY_DELAY_MILLIS = 150;
-
-    private PhoneWindowManager mPhoneWindowManager;
-    private Context mContext;
-
-    @Mock private WindowManagerInternal mWindowManagerInternal;
-    @Mock private ActivityManagerInternal mActivityManagerInternal;
-    @Mock private ActivityTaskManagerInternal mActivityTaskManagerInternal;
-    @Mock private InputManagerInternal mInputManagerInternal;
-    @Mock private DreamManagerInternal mDreamManagerInternal;
-    @Mock private PowerManagerInternal mPowerManagerInternal;
-    @Mock private DisplayManagerInternal mDisplayManagerInternal;
-    @Mock private AppOpsManager mAppOpsManager;
-    @Mock private DisplayManager mDisplayManager;
-    @Mock private PackageManager mPackageManager;
-    @Mock private TelecomManager mTelecomManager;
-    @Mock private NotificationManager mNotificationManager;
-    @Mock private Vibrator mVibrator;
-    @Mock private PowerManager mPowerManager;
-    @Mock private WindowManagerPolicy.WindowManagerFuncs mWindowManagerFuncsImpl;
-    @Mock private AudioManagerInternal mAudioManagerInternal;
-    @Mock private SearchManager mSearchManager;
-
-    @Mock private Display mDisplay;
-    @Mock private DisplayRotation mDisplayRotation;
-    @Mock private DisplayPolicy mDisplayPolicy;
-    @Mock private WindowManagerPolicy.ScreenOnListener mScreenOnListener;
-    @Mock private GestureLauncherService mGestureLauncherService;
-    @Mock private GlobalActions mGlobalActions;
-    @Mock private AccessibilityShortcutController mAccessibilityShortcutController;
-
-    private StaticMockitoSession mMockitoSession;
-    private HandlerThread mHandlerThread;
-    private Handler mHandler;
-
-    private class TestInjector extends PhoneWindowManager.Injector {
-        TestInjector(Context context, WindowManagerPolicy.WindowManagerFuncs funcs) {
-            super(context, funcs);
-        }
-
-        AccessibilityShortcutController getAccessibilityShortcutController(
-                Context context, Handler handler, int initialUserId) {
-            return mAccessibilityShortcutController;
-        }
-
-        GlobalActions getGlobalActions() {
-            return mGlobalActions;
-        }
-    }
-
-    TestPhoneWindowManager(Context context) {
-        MockitoAnnotations.initMocks(this);
-        mHandlerThread = new HandlerThread("fake window manager");
-        mHandlerThread.start();
-        mHandler = new Handler(mHandlerThread.getLooper());
-        mHandler.runWithScissors(()-> setUp(context),  0 /* timeout */);
-    }
-
-    private void setUp(Context context) {
-        mPhoneWindowManager = spy(new PhoneWindowManager());
-        mContext = spy(context);
-
-        // Use stubOnly() to reduce memory usage if it doesn't need verification.
-        final MockSettings spyStubOnly = withSettings().stubOnly()
-                .defaultAnswer(CALLS_REAL_METHODS);
-        // Return mocked services: LocalServices.getService
-        mMockitoSession = mockitoSession()
-                .mockStatic(LocalServices.class, spyStubOnly)
-                .startMocking();
-
-        doReturn(mWindowManagerInternal).when(
-                () -> LocalServices.getService(eq(WindowManagerInternal.class)));
-        doReturn(mActivityManagerInternal).when(
-                () -> LocalServices.getService(eq(ActivityManagerInternal.class)));
-        doReturn(mActivityTaskManagerInternal).when(
-                () -> LocalServices.getService(eq(ActivityTaskManagerInternal.class)));
-        doReturn(mInputManagerInternal).when(
-                () -> LocalServices.getService(eq(InputManagerInternal.class)));
-        doReturn(mDreamManagerInternal).when(
-                () -> LocalServices.getService(eq(DreamManagerInternal.class)));
-        doReturn(mPowerManagerInternal).when(
-                () -> LocalServices.getService(eq(PowerManagerInternal.class)));
-        doReturn(mDisplayManagerInternal).when(
-                () -> LocalServices.getService(eq(DisplayManagerInternal.class)));
-        doReturn(mGestureLauncherService).when(
-                () -> LocalServices.getService(eq(GestureLauncherService.class)));
-        doReturn(null).when(() -> LocalServices.getService(eq(VrManagerInternal.class)));
-        doReturn(null).when(() -> LocalServices.getService(eq(AutofillManagerInternal.class)));
-
-        doReturn(mAppOpsManager).when(mContext).getSystemService(eq(AppOpsManager.class));
-        doReturn(mDisplayManager).when(mContext).getSystemService(eq(DisplayManager.class));
-        doReturn(mPackageManager).when(mContext).getPackageManager();
-        doReturn(false).when(mPackageManager).hasSystemFeature(any());
-        try {
-            doThrow(new PackageManager.NameNotFoundException("test")).when(mPackageManager)
-                    .getActivityInfo(any(), anyInt());
-            doReturn(new String[] { "testPackage" }).when(mPackageManager)
-                    .canonicalToCurrentPackageNames(any());
-        } catch (PackageManager.NameNotFoundException ignored) { }
-
-        doReturn(mTelecomManager).when(mContext).getSystemService(eq(Context.TELECOM_SERVICE));
-        doReturn(mNotificationManager).when(mContext)
-                .getSystemService(eq(NotificationManager.class));
-        doReturn(mVibrator).when(mContext).getSystemService(eq(Context.VIBRATOR_SERVICE));
-
-        final PowerManager.WakeLock wakeLock = mock(PowerManager.WakeLock.class);
-        doReturn(wakeLock).when(mPowerManager).newWakeLock(anyInt(), anyString());
-        doReturn(mPowerManager).when(mContext).getSystemService(eq(Context.POWER_SERVICE));
-        doReturn(true).when(mPowerManager).isInteractive();
-
-        doReturn(mDisplay).when(mDisplayManager).getDisplay(eq(DEFAULT_DISPLAY));
-        doReturn(STATE_ON).when(mDisplay).getState();
-        doReturn(true).when(mDisplayPolicy).isAwake();
-        doNothing().when(mDisplayPolicy).takeScreenshot(anyInt(), anyInt());
-        doReturn(mDisplayPolicy).when(mDisplayRotation).getDisplayPolicy();
-        doReturn(mScreenOnListener).when(mDisplayPolicy).getScreenOnListener();
-        mPhoneWindowManager.setDefaultDisplay(new WindowManagerPolicy.DisplayContentInfo() {
-            @Override
-            public DisplayRotation getDisplayRotation() {
-                return mDisplayRotation;
-            }
-            @Override
-            public Display getDisplay() {
-                return mDisplay;
-            }
-        });
-
-        doNothing().when(mPhoneWindowManager).initializeHdmiState();
-        doNothing().when(mPhoneWindowManager).updateSettings();
-        doNothing().when(mPhoneWindowManager).screenTurningOn(anyInt(), any());
-        doNothing().when(mPhoneWindowManager).screenTurnedOn(anyInt());
-        doNothing().when(mPhoneWindowManager).startedWakingUp(anyInt());
-        doNothing().when(mPhoneWindowManager).finishedWakingUp(anyInt());
-
-        mPhoneWindowManager.init(new TestInjector(mContext, mWindowManagerFuncsImpl));
-        mPhoneWindowManager.systemReady();
-        mPhoneWindowManager.systemBooted();
-
-        overrideLaunchAccessibility();
-    }
-
-    void tearDown() {
-        mHandlerThread.quitSafely();
-        mMockitoSession.finishMocking();
-    }
-
-    // Override accessibility setting and perform function.
-    private void overrideLaunchAccessibility() {
-        doReturn(true).when(mAccessibilityShortcutController)
-                .isAccessibilityShortcutAvailable(anyBoolean());
-        doNothing().when(mAccessibilityShortcutController).performAccessibilityShortcut();
-    }
-
-    int interceptKeyBeforeQueueing(KeyEvent event) {
-        return mPhoneWindowManager.interceptKeyBeforeQueueing(event, FLAG_INTERACTIVE);
-    }
-
-    long interceptKeyBeforeDispatching(KeyEvent event) {
-        return mPhoneWindowManager.interceptKeyBeforeDispatching(null /*focusedToken*/,
-                event, FLAG_INTERACTIVE);
-    }
-
-    void dispatchUnhandledKey(KeyEvent event) {
-        mPhoneWindowManager.dispatchUnhandledKey(null /*focusedToken*/, event, FLAG_INTERACTIVE);
-    }
-
-    void waitForIdle() {
-        mHandler.runWithScissors(() -> { }, 0 /* timeout */);
-    }
-
-    /**
-     * Below functions will override the setting or the policy behavior.
-     */
-    void overridePowerVolumeUp(int behavior) {
-        mPhoneWindowManager.mPowerVolUpBehavior = behavior;
-
-        // override mRingerToggleChord as mute so we could trigger the behavior.
-        if (behavior == POWER_VOLUME_UP_BEHAVIOR_MUTE) {
-            mPhoneWindowManager.mRingerToggleChord = VOLUME_HUSH_MUTE;
-            doReturn(mAudioManagerInternal).when(
-                    () -> LocalServices.getService(eq(AudioManagerInternal.class)));
-        }
-    }
-
-     // Override assist perform function.
-    void overrideLongPressOnPower(int behavior) {
-        mPhoneWindowManager.mLongPressOnPowerBehavior = behavior;
-
-        switch (behavior) {
-            case LONG_PRESS_POWER_NOTHING:
-            case LONG_PRESS_POWER_GLOBAL_ACTIONS:
-            case LONG_PRESS_POWER_SHUT_OFF:
-            case LONG_PRESS_POWER_SHUT_OFF_NO_CONFIRM:
-            case LONG_PRESS_POWER_GO_TO_VOICE_ASSIST:
-                break;
-            case LONG_PRESS_POWER_ASSISTANT:
-                doNothing().when(mPhoneWindowManager).sendCloseSystemWindows();
-                doReturn(true).when(mPhoneWindowManager).isUserSetupComplete();
-                doReturn(mContext).when(mContext).createContextAsUser(any(), anyInt());
-                doReturn(mSearchManager).when(mContext)
-                        .getSystemService(eq(Context.SEARCH_SERVICE));
-                mPhoneWindowManager.mLongPressOnPowerAssistantTimeoutMs = 500;
-                break;
-        }
-    }
-
-    void overrideDisplayState(int state) {
-        doReturn(state).when(mDisplay).getState();
-        Mockito.reset(mPowerManager);
-    }
-
-    /**
-     * Below functions will check the policy behavior could be invoked.
-     */
-    void assertTakeScreenshotCalled() {
-        waitForIdle();
-        verify(mDisplayPolicy, timeout(SHORTCUT_KEY_DELAY_MILLIS))
-                .takeScreenshot(anyInt(), anyInt());
-    }
-
-    void assertShowGlobalActionsCalled() {
-        waitForIdle();
-        verify(mPhoneWindowManager).showGlobalActions();
-        verify(mGlobalActions, timeout(SHORTCUT_KEY_DELAY_MILLIS))
-                .showDialog(anyBoolean(), anyBoolean());
-        verify(mPowerManager, timeout(SHORTCUT_KEY_DELAY_MILLIS))
-                .userActivity(anyLong(), anyBoolean());
-    }
-
-    void assertVolumeMute() {
-        waitForIdle();
-        verify(mAudioManagerInternal, timeout(SHORTCUT_KEY_DELAY_MILLIS))
-                .silenceRingerModeInternal(eq("volume_hush"));
-    }
-
-    void assertAccessibilityKeychordCalled() {
-        waitForIdle();
-        verify(mAccessibilityShortcutController,
-                timeout(SHORTCUT_KEY_DELAY_MILLIS)).performAccessibilityShortcut();
-    }
-
-    void assertPowerSleep() {
-        waitForIdle();
-        verify(mPowerManager,
-                timeout(SHORTCUT_KEY_DELAY_MILLIS)).goToSleep(anyLong(), anyInt(), anyInt());
-    }
-
-    void assertPowerWakeUp() {
-        waitForIdle();
-        verify(mPowerManager,
-                timeout(SHORTCUT_KEY_DELAY_MILLIS)).wakeUp(anyLong(), anyInt(), anyString());
-    }
-
-    void assertNoPowerSleep() {
-        waitForIdle();
-        verify(mPowerManager, never()).goToSleep(anyLong(), anyInt(), anyInt());
-    }
-
-    void assertCameraLaunch() {
-        waitForIdle();
-        // GestureLauncherService should receive interceptPowerKeyDown twice.
-        verify(mGestureLauncherService, times(2))
-                .interceptPowerKeyDown(any(), anyBoolean(), any());
-    }
-
-    void assertAssistLaunch() {
-        waitForIdle();
-        verify(mSearchManager, timeout(SHORTCUT_KEY_DELAY_MILLIS)).launchAssist(any());
-    }
-}