Merge "Use OneHandedSettingsUtil static utils directly"
This commit is contained in:
committed by
Android (Google) Code Review
commit
2f22473a8b
@@ -22,19 +22,13 @@ import android.database.ContentObserver;
|
||||
import android.net.Uri;
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
/**
|
||||
* APIs for querying or updating one handed settings .
|
||||
*/
|
||||
@Singleton
|
||||
public final class OneHandedSettingsUtil {
|
||||
private static final String TAG = "OneHandedSettingsUtil";
|
||||
|
||||
@@ -65,11 +59,6 @@ public final class OneHandedSettingsUtil {
|
||||
*/
|
||||
public static final int ONE_HANDED_TIMEOUT_LONG_IN_SECONDS = 12;
|
||||
|
||||
@VisibleForTesting
|
||||
@Inject
|
||||
OneHandedSettingsUtil() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Register one handed preference settings observer
|
||||
*
|
||||
@@ -150,4 +139,6 @@ public final class OneHandedSettingsUtil {
|
||||
pw.print(innerPrefix + "tapsAppToExit=");
|
||||
pw.println(getSettingsTapsAppToExit(resolver));
|
||||
}
|
||||
|
||||
private OneHandedSettingsUtil() {}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,6 @@ public class OneHandedUI extends SystemUI implements CommandQueue.Callbacks, Dum
|
||||
private final CommandQueue mCommandQueue;
|
||||
private final Handler mMainHandler = new Handler(Looper.getMainLooper());
|
||||
private final IOverlayManager mOverlayManager;
|
||||
private final OneHandedSettingsUtil mSettingUtil;
|
||||
private final OneHandedTimeoutHandler mTimeoutHandler;
|
||||
private final ScreenLifecycle mScreenLifecycle;
|
||||
|
||||
@@ -154,7 +153,6 @@ public class OneHandedUI extends SystemUI implements CommandQueue.Callbacks, Dum
|
||||
public OneHandedUI(Context context,
|
||||
CommandQueue commandQueue,
|
||||
OneHandedManagerImpl oneHandedManager,
|
||||
OneHandedSettingsUtil settingsUtil,
|
||||
ScreenLifecycle screenLifecycle) {
|
||||
super(context);
|
||||
|
||||
@@ -163,7 +161,6 @@ public class OneHandedUI extends SystemUI implements CommandQueue.Callbacks, Dum
|
||||
mCommandQueue = null;
|
||||
mOneHandedManager = null;
|
||||
mOverlayManager = null;
|
||||
mSettingUtil = null;
|
||||
mTimeoutHandler = null;
|
||||
mScreenLifecycle = null;
|
||||
return;
|
||||
@@ -171,7 +168,6 @@ public class OneHandedUI extends SystemUI implements CommandQueue.Callbacks, Dum
|
||||
|
||||
mCommandQueue = commandQueue;
|
||||
mOneHandedManager = oneHandedManager;
|
||||
mSettingUtil = settingsUtil;
|
||||
mTimeoutHandler = OneHandedTimeoutHandler.get();
|
||||
mScreenLifecycle = screenLifecycle;
|
||||
mOverlayManager = IOverlayManager.Stub.asInterface(
|
||||
@@ -252,26 +248,26 @@ public class OneHandedUI extends SystemUI implements CommandQueue.Callbacks, Dum
|
||||
}
|
||||
|
||||
private void setupSettingObservers() {
|
||||
mSettingUtil.registerSettingsKeyObserver(Settings.Secure.ONE_HANDED_MODE_ENABLED,
|
||||
OneHandedSettingsUtil.registerSettingsKeyObserver(Settings.Secure.ONE_HANDED_MODE_ENABLED,
|
||||
mContext.getContentResolver(), mEnabledObserver);
|
||||
mSettingUtil.registerSettingsKeyObserver(Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
|
||||
OneHandedSettingsUtil.registerSettingsKeyObserver(Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
|
||||
mContext.getContentResolver(), mTimeoutObserver);
|
||||
mSettingUtil.registerSettingsKeyObserver(Settings.Secure.TAPS_APP_TO_EXIT,
|
||||
OneHandedSettingsUtil.registerSettingsKeyObserver(Settings.Secure.TAPS_APP_TO_EXIT,
|
||||
mContext.getContentResolver(), mTaskChangeExitObserver);
|
||||
mSettingUtil.registerSettingsKeyObserver(
|
||||
OneHandedSettingsUtil.registerSettingsKeyObserver(
|
||||
Settings.Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED,
|
||||
mContext.getContentResolver(), mSwipeToNotificationEnabledObserver);
|
||||
}
|
||||
|
||||
private void updateSettings() {
|
||||
mOneHandedManager.setOneHandedEnabled(
|
||||
mSettingUtil.getSettingsOneHandedModeEnabled(mContext.getContentResolver()));
|
||||
mTimeoutHandler.setTimeout(
|
||||
mSettingUtil.getSettingsOneHandedModeTimeout(mContext.getContentResolver()));
|
||||
mOneHandedManager.setTaskChangeToExit(
|
||||
mSettingUtil.getSettingsTapsAppToExit(mContext.getContentResolver()));
|
||||
mOneHandedManager.setSwipeToNotificationEnabled(
|
||||
mSettingUtil.getSettingsSwipeToNotificationEnabled(mContext.getContentResolver()));
|
||||
mOneHandedManager.setOneHandedEnabled(OneHandedSettingsUtil
|
||||
.getSettingsOneHandedModeEnabled(mContext.getContentResolver()));
|
||||
mTimeoutHandler.setTimeout(OneHandedSettingsUtil
|
||||
.getSettingsOneHandedModeTimeout(mContext.getContentResolver()));
|
||||
mOneHandedManager.setTaskChangeToExit(OneHandedSettingsUtil
|
||||
.getSettingsTapsAppToExit(mContext.getContentResolver()));
|
||||
mOneHandedManager.setSwipeToNotificationEnabled(OneHandedSettingsUtil
|
||||
.getSettingsSwipeToNotificationEnabled(mContext.getContentResolver()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -326,9 +322,7 @@ public class OneHandedUI extends SystemUI implements CommandQueue.Callbacks, Dum
|
||||
mTimeoutHandler.dump(fd, pw, args);
|
||||
}
|
||||
|
||||
if (mSettingUtil != null) {
|
||||
mSettingUtil.dump(pw, innerPrefix, mContext.getContentResolver());
|
||||
}
|
||||
OneHandedSettingsUtil.dump(pw, innerPrefix, mContext.getContentResolver());
|
||||
|
||||
if (mOverlayManager != null) {
|
||||
OverlayInfo info = null;
|
||||
|
||||
@@ -79,7 +79,7 @@ public class OneHandedGestureHandlerTest extends OneHandedTestCase {
|
||||
|
||||
@Test
|
||||
public void testOneHandedManager_registerForDisplayAreaOrganizer() {
|
||||
verify(mMockDisplayAreaOrganizer, times(1)).registerTransitionCallback(mGestureHandler);
|
||||
verify(mMockDisplayAreaOrganizer).registerTransitionCallback(mGestureHandler);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -40,14 +40,12 @@ import org.junit.runner.RunWith;
|
||||
@RunWith(AndroidTestingRunner.class)
|
||||
@TestableLooper.RunWithLooper
|
||||
public class OneHandedSettingsUtilTest extends OneHandedTestCase {
|
||||
OneHandedSettingsUtil mOneHandedSettingsUtil;
|
||||
ContentResolver mContentResolver;
|
||||
ContentObserver mContentObserver;
|
||||
boolean mOnChanged;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mOneHandedSettingsUtil = new OneHandedSettingsUtil();
|
||||
mContentResolver = mContext.getContentResolver();
|
||||
mContentObserver = new ContentObserver(mContext.getMainThreadHandler()) {
|
||||
@Override
|
||||
@@ -60,20 +58,20 @@ public class OneHandedSettingsUtilTest extends OneHandedTestCase {
|
||||
|
||||
@Test
|
||||
public void testRegisterSecureKeyObserver() {
|
||||
final Uri result = mOneHandedSettingsUtil.registerSettingsKeyObserver(
|
||||
final Uri result = OneHandedSettingsUtil.registerSettingsKeyObserver(
|
||||
Settings.Secure.ONE_HANDED_MODE_ENABLED, mContentResolver, mContentObserver);
|
||||
|
||||
assertThat(result).isNotNull();
|
||||
|
||||
mOneHandedSettingsUtil.registerSettingsKeyObserver(
|
||||
OneHandedSettingsUtil.registerSettingsKeyObserver(
|
||||
Settings.Secure.ONE_HANDED_MODE_ENABLED, mContentResolver, mContentObserver);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnregisterSecureKeyObserver() {
|
||||
mOneHandedSettingsUtil.registerSettingsKeyObserver(
|
||||
OneHandedSettingsUtil.registerSettingsKeyObserver(
|
||||
Settings.Secure.ONE_HANDED_MODE_ENABLED, mContentResolver, mContentObserver);
|
||||
mOneHandedSettingsUtil.unregisterSettingsKeyObserver(mContentResolver, mContentObserver);
|
||||
OneHandedSettingsUtil.unregisterSettingsKeyObserver(mContentResolver, mContentObserver);
|
||||
|
||||
assertThat(mOnChanged).isFalse();
|
||||
|
||||
@@ -85,19 +83,19 @@ public class OneHandedSettingsUtilTest extends OneHandedTestCase {
|
||||
|
||||
@Test
|
||||
public void testGetSettingsIsOneHandedModeEnabled() {
|
||||
assertThat(mOneHandedSettingsUtil.getSettingsOneHandedModeEnabled(
|
||||
assertThat(OneHandedSettingsUtil.getSettingsOneHandedModeEnabled(
|
||||
mContentResolver)).isAnyOf(true, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSettingsTapsAppToExit() {
|
||||
assertThat(mOneHandedSettingsUtil.getSettingsTapsAppToExit(
|
||||
assertThat(OneHandedSettingsUtil.getSettingsTapsAppToExit(
|
||||
mContentResolver)).isAnyOf(true, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetSettingsOneHandedModeTimeout() {
|
||||
assertThat(mOneHandedSettingsUtil.getSettingsOneHandedModeTimeout(
|
||||
assertThat(OneHandedSettingsUtil.getSettingsOneHandedModeTimeout(
|
||||
mContentResolver)).isAnyOf(
|
||||
ONE_HANDED_TIMEOUT_NEVER,
|
||||
ONE_HANDED_TIMEOUT_SHORT_IN_SECONDS,
|
||||
@@ -107,7 +105,7 @@ public class OneHandedSettingsUtilTest extends OneHandedTestCase {
|
||||
|
||||
@Test
|
||||
public void testGetSettingsSwipeToNotificationEnabled() {
|
||||
assertThat(mOneHandedSettingsUtil.getSettingsSwipeToNotificationEnabled(
|
||||
assertThat(OneHandedSettingsUtil.getSettingsSwipeToNotificationEnabled(
|
||||
mContentResolver)).isAnyOf(true, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,8 +77,7 @@ public class OneHandedTouchHandlerTest extends OneHandedTestCase {
|
||||
|
||||
@Test
|
||||
public void testOneHandedManager_registerForDisplayAreaOrganizer() {
|
||||
verify(mMockDisplayAreaOrganizer, times(1))
|
||||
.registerTransitionCallback(mTouchHandler);
|
||||
verify(mMockDisplayAreaOrganizer).registerTransitionCallback(mTouchHandler);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.systemui.onehanded;
|
||||
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import android.testing.AndroidTestingRunner;
|
||||
@@ -75,7 +74,6 @@ public class OneHandedTutorialHandlerTest extends OneHandedTestCase {
|
||||
|
||||
@Test
|
||||
public void testOneHandedManager_registerForDisplayAreaOrganizer() {
|
||||
verify(mMockDisplayAreaOrganizer, times(1))
|
||||
.registerTransitionCallback(mTutorialHandler);
|
||||
verify(mMockDisplayAreaOrganizer).registerTransitionCallback(mTutorialHandler);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
|
||||
package com.android.systemui.onehanded;
|
||||
|
||||
import static org.mockito.Mockito.any;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.junit.Assume.assumeTrue;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import android.os.SystemProperties;
|
||||
@@ -44,7 +43,6 @@ import org.mockito.MockitoAnnotations;
|
||||
public class OneHandedUITest extends OneHandedTestCase {
|
||||
private static final String SUPPORT_ONE_HANDED_MODE = "ro.support_one_handed_mode";
|
||||
|
||||
boolean mIsSupportOneHandedMode;
|
||||
CommandQueue mCommandQueue;
|
||||
KeyguardUpdateMonitor mKeyguardUpdateMonitor;
|
||||
OneHandedUI mOneHandedUI;
|
||||
@@ -52,110 +50,58 @@ public class OneHandedUITest extends OneHandedTestCase {
|
||||
@Mock
|
||||
OneHandedManagerImpl mMockOneHandedManagerImpl;
|
||||
@Mock
|
||||
OneHandedSettingsUtil mMockSettingsUtil;
|
||||
@Mock
|
||||
OneHandedTimeoutHandler mMockTimeoutHandler;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mIsSupportOneHandedMode = SystemProperties.getBoolean(SUPPORT_ONE_HANDED_MODE, false);
|
||||
mCommandQueue = new CommandQueue(mContext);
|
||||
mScreenLifecycle = new ScreenLifecycle();
|
||||
mOneHandedUI = new OneHandedUI(mContext,
|
||||
mCommandQueue,
|
||||
mMockOneHandedManagerImpl,
|
||||
mMockSettingsUtil,
|
||||
mScreenLifecycle);
|
||||
mOneHandedUI.start();
|
||||
mKeyguardUpdateMonitor = mDependency.injectMockDependency(KeyguardUpdateMonitor.class);
|
||||
}
|
||||
|
||||
@Before
|
||||
public void assumeOneHandedModeSupported() {
|
||||
assumeTrue(SystemProperties.getBoolean(SUPPORT_ONE_HANDED_MODE, false));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStartOneHanded() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
mOneHandedUI.startOneHanded();
|
||||
|
||||
verify(mMockOneHandedManagerImpl, times(1)).startOneHanded();
|
||||
verify(mMockOneHandedManagerImpl).startOneHanded();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStopOneHanded() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
mOneHandedUI.stopOneHanded();
|
||||
|
||||
verify(mMockOneHandedManagerImpl, times(1)).stopOneHanded();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegisterSettingsObserver_forEnabled() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
final String key = Settings.Secure.ONE_HANDED_MODE_ENABLED;
|
||||
|
||||
verify(mMockSettingsUtil, times(1)).registerSettingsKeyObserver(key, any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegisterSettingsObserver_forTimeout() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
final String key = Settings.Secure.ONE_HANDED_MODE_TIMEOUT;
|
||||
|
||||
verify(mMockSettingsUtil, times(1)).registerSettingsKeyObserver(key, any(), any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRegisterSettingsObserver_forTapAppExit() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
final String key = Settings.Secure.TAPS_APP_TO_EXIT;
|
||||
|
||||
verify(mMockSettingsUtil, times(1)).registerSettingsKeyObserver(key, any(), any());
|
||||
verify(mMockOneHandedManagerImpl).stopOneHanded();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void tesSettingsObserver_updateTapAppToExit() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.TAPS_APP_TO_EXIT, 1);
|
||||
|
||||
verify(mMockOneHandedManagerImpl, times(1)).setTaskChangeToExit(true);
|
||||
verify(mMockOneHandedManagerImpl).setTaskChangeToExit(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void tesSettingsObserver_updateEnabled() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.ONE_HANDED_MODE_ENABLED, 1);
|
||||
|
||||
verify(mMockOneHandedManagerImpl, times(1)).setOneHandedEnabled(true);
|
||||
verify(mMockOneHandedManagerImpl).setOneHandedEnabled(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void tesSettingsObserver_updateTimeout() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.ONE_HANDED_MODE_TIMEOUT,
|
||||
OneHandedSettingsUtil.ONE_HANDED_TIMEOUT_MEDIUM_IN_SECONDS);
|
||||
@@ -166,10 +112,6 @@ public class OneHandedUITest extends OneHandedTestCase {
|
||||
|
||||
@Test
|
||||
public void tesSettingsObserver_updateSwipeToNotification() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED, 1);
|
||||
|
||||
@@ -179,24 +121,16 @@ public class OneHandedUITest extends OneHandedTestCase {
|
||||
@Ignore("Clarifying do not receive callback")
|
||||
@Test
|
||||
public void testKeyguardBouncerShowing_shouldStopOneHanded() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
mKeyguardUpdateMonitor.sendKeyguardBouncerChanged(true);
|
||||
|
||||
verify(mMockOneHandedManagerImpl, times(1)).stopOneHanded();
|
||||
verify(mMockOneHandedManagerImpl).stopOneHanded();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testScreenTurningOff_shouldStopOneHanded() {
|
||||
// Bypass test if device not support one-handed mode
|
||||
if (!mIsSupportOneHandedMode) {
|
||||
return;
|
||||
}
|
||||
mScreenLifecycle.dispatchScreenTurningOff();
|
||||
|
||||
verify(mMockOneHandedManagerImpl, times(1)).stopOneHanded();
|
||||
verify(mMockOneHandedManagerImpl).stopOneHanded();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user