blob: fea3a08663e1dac5c70c9bb14e476620d56b6877 [file] [log] [blame]
sanryhuang63787862018-05-18 15:57:43 +08001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5 * except in compliance with the License. You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software distributed under the
10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11 * KIND, either express or implied. See the License for the specific language governing
12 * permissions and limitations under the License.
13 */
14
15package com.android.systemui.statusbar.policy;
16
sanryhuang63787862018-05-18 15:57:43 +080017import static junit.framework.TestCase.assertTrue;
Charles Chenf3d295c2018-11-30 18:15:21 +080018
sanryhuang63787862018-05-18 15:57:43 +080019import static org.junit.Assert.assertFalse;
20import static org.mockito.ArgumentMatchers.anyBoolean;
Charles Chenf3d295c2018-11-30 18:15:21 +080021import static org.mockito.ArgumentMatchers.anyInt;
sanryhuang63787862018-05-18 15:57:43 +080022import static org.mockito.Mockito.atLeastOnce;
23import static org.mockito.Mockito.mock;
24import static org.mockito.Mockito.verify;
25
26import android.content.res.Configuration;
sanryhuang63787862018-05-18 15:57:43 +080027import android.test.suitebuilder.annotation.SmallTest;
28
Brett Chabot84151d92019-02-27 15:37:59 -080029import androidx.test.runner.AndroidJUnit4;
30
sanryhuang63787862018-05-18 15:57:43 +080031import com.android.systemui.SysuiTestCase;
32import com.android.systemui.statusbar.CommandQueue;
Jason Monkeeff95b2018-12-21 12:54:37 -050033import com.android.systemui.statusbar.policy.ConfigurationController;
sanryhuang63787862018-05-18 15:57:43 +080034
35import org.junit.Before;
36import org.junit.Test;
37import org.junit.runner.RunWith;
38import org.mockito.MockitoAnnotations;
39
40@SmallTest
41@RunWith(AndroidJUnit4.class)
42public class RemoteInputQuickSettingsDisablerTest extends SysuiTestCase {
43
44 private CommandQueue mCommandQueue;
45 private RemoteInputQuickSettingsDisabler mRemoteInputQuickSettingsDisabler;
46
47 @Before
48 public void setUp() throws Exception {
49 MockitoAnnotations.initMocks(this);
50
51 mCommandQueue = mock(CommandQueue.class);
52 mContext.putComponent(CommandQueue.class, mCommandQueue);
53
Jason Monkeeff95b2018-12-21 12:54:37 -050054 mRemoteInputQuickSettingsDisabler = new RemoteInputQuickSettingsDisabler(mContext,
55 mock(ConfigurationController.class));
sanryhuang63787862018-05-18 15:57:43 +080056 }
57
58 @Test
59 public void shouldEnableQuickSetting_afterDeactiviate() {
60 mRemoteInputQuickSettingsDisabler.setRemoteInputActive(Boolean.TRUE);
61 mRemoteInputQuickSettingsDisabler.setRemoteInputActive(Boolean.FALSE);
62 assertFalse(mRemoteInputQuickSettingsDisabler.mRemoteInputActive);
Charles Chenf3d295c2018-11-30 18:15:21 +080063 verify(mCommandQueue, atLeastOnce()).recomputeDisableFlags(anyInt(), anyBoolean());
sanryhuang63787862018-05-18 15:57:43 +080064 }
65
66 @Test
67 public void shouldDisableQuickSetting_afteActiviate() {
68 mRemoteInputQuickSettingsDisabler.setRemoteInputActive(Boolean.FALSE);
69 mRemoteInputQuickSettingsDisabler.setRemoteInputActive(Boolean.TRUE);
70 assertTrue(mRemoteInputQuickSettingsDisabler.mRemoteInputActive);
Charles Chenf3d295c2018-11-30 18:15:21 +080071 verify(mCommandQueue, atLeastOnce()).recomputeDisableFlags(anyInt(), anyBoolean());
sanryhuang63787862018-05-18 15:57:43 +080072 }
73
74 @Test
75 public void testChangeToLandscape() {
76 Configuration c = new Configuration(mContext.getResources().getConfiguration());
77 c.orientation = Configuration.ORIENTATION_PORTRAIT;
78 mRemoteInputQuickSettingsDisabler.onConfigChanged(c);
79 c.orientation = Configuration.ORIENTATION_LANDSCAPE;
80 mRemoteInputQuickSettingsDisabler.onConfigChanged(c);
81 assertTrue(mRemoteInputQuickSettingsDisabler.misLandscape);
Charles Chenf3d295c2018-11-30 18:15:21 +080082 verify(mCommandQueue, atLeastOnce()).recomputeDisableFlags(anyInt(), anyBoolean());
sanryhuang63787862018-05-18 15:57:43 +080083 }
84
85 @Test
86 public void testChangeToPortrait() {
87 Configuration c = new Configuration(mContext.getResources().getConfiguration());
88 c.orientation = Configuration.ORIENTATION_LANDSCAPE;
89 mRemoteInputQuickSettingsDisabler.onConfigChanged(c);
90 c.orientation = Configuration.ORIENTATION_PORTRAIT;
91 mRemoteInputQuickSettingsDisabler.onConfigChanged(c);
92 assertFalse(mRemoteInputQuickSettingsDisabler.misLandscape);
Charles Chenf3d295c2018-11-30 18:15:21 +080093 verify(mCommandQueue, atLeastOnce()).recomputeDisableFlags(anyInt(), anyBoolean());
sanryhuang63787862018-05-18 15:57:43 +080094 }
95
96}