From 2f3a476b23e6731b333bf6c22e23fc4ed9ce2856 Mon Sep 17 00:00:00 2001 From: Govinda Wasserman Date: Tue, 12 Nov 2019 13:48:34 -0500 Subject: Rename PhenotypeHelper to DeviceConfigHelper This class is used for simplifying interaction with the device configuration and for testing. The new name is more descriptive of its intended purpose. Test: Tested locally BUG:143952102 Change-Id: I5d9edf518b92f48d73e2ed5d142a162d348d24ba --- .../assist/AssistHandleBehaviorController.java | 14 ++--- .../assist/AssistHandleReminderExpBehavior.java | 24 ++++---- .../systemui/assist/DeviceConfigHelper.java | 72 ++++++++++++++++++++++ .../android/systemui/assist/PhenotypeHelper.java | 72 ---------------------- .../assist/AssistHandleBehaviorControllerTest.java | 8 +-- 5 files changed, 95 insertions(+), 95 deletions(-) create mode 100644 packages/SystemUI/src/com/android/systemui/assist/DeviceConfigHelper.java delete mode 100644 packages/SystemUI/src/com/android/systemui/assist/PhenotypeHelper.java diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java b/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java index 4516996345b9..170c25a82101 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistHandleBehaviorController.java @@ -71,7 +71,7 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac private final Runnable mHideHandles = this::hideHandles; private final Runnable mShowAndGo = this::showAndGoInternal; private final Provider mAssistHandleViewController; - private final PhenotypeHelper mPhenotypeHelper; + private final DeviceConfigHelper mDeviceConfigHelper; private final Map mBehaviorMap; private boolean mHandlesShowing = false; @@ -90,7 +90,7 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac AssistUtils assistUtils, @Named(ASSIST_HANDLE_THREAD_NAME) Handler handler, Provider assistHandleViewController, - PhenotypeHelper phenotypeHelper, + DeviceConfigHelper deviceConfigHelper, Map behaviorMap, NavigationModeController navigationModeController, DumpController dumpController) { @@ -98,14 +98,14 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac mAssistUtils = assistUtils; mHandler = handler; mAssistHandleViewController = assistHandleViewController; - mPhenotypeHelper = phenotypeHelper; + mDeviceConfigHelper = deviceConfigHelper; mBehaviorMap = behaviorMap; mInGesturalMode = QuickStepContract.isGesturalMode( navigationModeController.addListener(this::handleNavigationModeChange)); setBehavior(getBehaviorMode()); - mPhenotypeHelper.addOnPropertiesChangedListener( + mDeviceConfigHelper.addOnPropertiesChangedListener( mHandler::post, (properties) -> { if (properties.getKeyset().contains( @@ -205,19 +205,19 @@ public final class AssistHandleBehaviorController implements AssistHandleCallbac } private long getShownFrequencyThreshold() { - return mPhenotypeHelper.getLong( + return mDeviceConfigHelper.getLong( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOWN_FREQUENCY_THRESHOLD_MS, DEFAULT_SHOWN_FREQUENCY_THRESHOLD_MS); } private long getShowAndGoDuration() { - return mPhenotypeHelper.getLong( + return mDeviceConfigHelper.getLong( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOW_AND_GO_DURATION_MS, DEFAULT_SHOW_AND_GO_DURATION_MS); } private String getBehaviorMode() { - return mPhenotypeHelper.getString( + return mDeviceConfigHelper.getString( SystemUiDeviceConfigFlags.ASSIST_HANDLES_BEHAVIOR_MODE, DEFAULT_BEHAVIOR.toString()); } diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistHandleReminderExpBehavior.java b/packages/SystemUI/src/com/android/systemui/assist/AssistHandleReminderExpBehavior.java index 46ae84a95fad..9793d727f038 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistHandleReminderExpBehavior.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistHandleReminderExpBehavior.java @@ -155,7 +155,7 @@ final class AssistHandleReminderExpBehavior implements BehaviorController { private final Clock mClock; private final Handler mHandler; - private final PhenotypeHelper mPhenotypeHelper; + private final DeviceConfigHelper mDeviceConfigHelper; private final Lazy mStatusBarStateController; private final Lazy mActivityManagerWrapper; private final Lazy mOverviewProxyService; @@ -189,7 +189,7 @@ final class AssistHandleReminderExpBehavior implements BehaviorController { AssistHandleReminderExpBehavior( @Named(UPTIME_NAME) Clock clock, @Named(ASSIST_HANDLE_THREAD_NAME) Handler handler, - PhenotypeHelper phenotypeHelper, + DeviceConfigHelper deviceConfigHelper, Lazy statusBarStateController, Lazy activityManagerWrapper, Lazy overviewProxyService, @@ -199,7 +199,7 @@ final class AssistHandleReminderExpBehavior implements BehaviorController { Lazy broadcastDispatcher) { mClock = clock; mHandler = handler; - mPhenotypeHelper = phenotypeHelper; + mDeviceConfigHelper = deviceConfigHelper; mStatusBarStateController = statusBarStateController; mActivityManagerWrapper = activityManagerWrapper; mOverviewProxyService = overviewProxyService; @@ -465,55 +465,55 @@ final class AssistHandleReminderExpBehavior implements BehaviorController { } private long getLearningTimeMs() { - return mPhenotypeHelper.getLong( + return mDeviceConfigHelper.getLong( SystemUiDeviceConfigFlags.ASSIST_HANDLES_LEARN_TIME_MS, DEFAULT_LEARNING_TIME_MS); } private int getLearningCount() { - return mPhenotypeHelper.getInt( + return mDeviceConfigHelper.getInt( SystemUiDeviceConfigFlags.ASSIST_HANDLES_LEARN_COUNT, DEFAULT_LEARNING_COUNT); } private long getShowAndGoDelayedShortDelayMs() { - return mPhenotypeHelper.getLong( + return mDeviceConfigHelper.getLong( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOW_AND_GO_DELAYED_SHORT_DELAY_MS, DEFAULT_SHOW_AND_GO_DELAYED_SHORT_DELAY_MS); } private long getShowAndGoDelayedLongDelayMs() { - return mPhenotypeHelper.getLong( + return mDeviceConfigHelper.getLong( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOW_AND_GO_DELAYED_LONG_DELAY_MS, DEFAULT_SHOW_AND_GO_DELAYED_LONG_DELAY_MS); } private long getShowAndGoDelayResetTimeoutMs() { - return mPhenotypeHelper.getLong( + return mDeviceConfigHelper.getLong( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOW_AND_GO_DELAY_RESET_TIMEOUT_MS, DEFAULT_SHOW_AND_GO_DELAY_RESET_TIMEOUT_MS); } private boolean getSuppressOnLockscreen() { - return mPhenotypeHelper.getBoolean( + return mDeviceConfigHelper.getBoolean( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SUPPRESS_ON_LOCKSCREEN, DEFAULT_SUPPRESS_ON_LOCKSCREEN); } private boolean getSuppressOnLauncher() { - return mPhenotypeHelper.getBoolean( + return mDeviceConfigHelper.getBoolean( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SUPPRESS_ON_LAUNCHER, DEFAULT_SUPPRESS_ON_LAUNCHER); } private boolean getSuppressOnApps() { - return mPhenotypeHelper.getBoolean( + return mDeviceConfigHelper.getBoolean( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SUPPRESS_ON_APPS, DEFAULT_SUPPRESS_ON_APPS); } private boolean getShowWhenTaught() { - return mPhenotypeHelper.getBoolean( + return mDeviceConfigHelper.getBoolean( SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOW_WHEN_TAUGHT, DEFAULT_SHOW_WHEN_TAUGHT); } diff --git a/packages/SystemUI/src/com/android/systemui/assist/DeviceConfigHelper.java b/packages/SystemUI/src/com/android/systemui/assist/DeviceConfigHelper.java new file mode 100644 index 000000000000..86b7c748ea77 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/assist/DeviceConfigHelper.java @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2019 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.systemui.assist; + +import static com.android.systemui.DejankUtils.whitelistIpcs; + +import android.provider.DeviceConfig; + +import androidx.annotation.Nullable; + +import java.util.concurrent.Executor; + +import javax.inject.Inject; +import javax.inject.Singleton; + +/** + * Wrapper class for retrieving System UI device configuration values. + * + * Can be mocked in tests for ease of testing the effects of particular values. + */ +@Singleton +public class DeviceConfigHelper { + + @Inject + public DeviceConfigHelper() {} + + public long getLong(String name, long defaultValue) { + return whitelistIpcs(() -> + DeviceConfig.getLong(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); + } + + public int getInt(String name, int defaultValue) { + return whitelistIpcs(() -> + DeviceConfig.getInt(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); + } + + @Nullable + public String getString(String name, @Nullable String defaultValue) { + return whitelistIpcs(() -> + DeviceConfig.getString(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); + } + + public boolean getBoolean(String name, boolean defaultValue) { + return whitelistIpcs(() -> + DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); + } + + public void addOnPropertiesChangedListener( + Executor executor, DeviceConfig.OnPropertiesChangedListener listener) { + DeviceConfig.addOnPropertiesChangedListener( + DeviceConfig.NAMESPACE_SYSTEMUI, executor, listener); + } + + public void removeOnPropertiesChangedListener( + DeviceConfig.OnPropertiesChangedListener listener) { + DeviceConfig.removeOnPropertiesChangedListener(listener); + } +} diff --git a/packages/SystemUI/src/com/android/systemui/assist/PhenotypeHelper.java b/packages/SystemUI/src/com/android/systemui/assist/PhenotypeHelper.java deleted file mode 100644 index 05a01dd48641..000000000000 --- a/packages/SystemUI/src/com/android/systemui/assist/PhenotypeHelper.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (C) 2019 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.systemui.assist; - -import static com.android.systemui.DejankUtils.whitelistIpcs; - -import android.provider.DeviceConfig; - -import androidx.annotation.Nullable; - -import java.util.concurrent.Executor; - -import javax.inject.Inject; -import javax.inject.Singleton; - -/** - * Wrapper class for retrieving phenotype flag values. - * - * Can be mocked in tests for ease of testing the effects of particular values. - */ -@Singleton -public class PhenotypeHelper { - - @Inject - public PhenotypeHelper() {} - - public long getLong(String name, long defaultValue) { - return whitelistIpcs(() -> - DeviceConfig.getLong(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); - } - - public int getInt(String name, int defaultValue) { - return whitelistIpcs(() -> - DeviceConfig.getInt(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); - } - - @Nullable - public String getString(String name, @Nullable String defaultValue) { - return whitelistIpcs(() -> - DeviceConfig.getString(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); - } - - public boolean getBoolean(String name, boolean defaultValue) { - return whitelistIpcs(() -> - DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, name, defaultValue)); - } - - public void addOnPropertiesChangedListener( - Executor executor, DeviceConfig.OnPropertiesChangedListener listener) { - DeviceConfig.addOnPropertiesChangedListener( - DeviceConfig.NAMESPACE_SYSTEMUI, executor, listener); - } - - public void removeOnPropertiesChangedListener( - DeviceConfig.OnPropertiesChangedListener listener) { - DeviceConfig.removeOnPropertiesChangedListener(listener); - } -} diff --git a/packages/SystemUI/tests/src/com/android/systemui/assist/AssistHandleBehaviorControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/assist/AssistHandleBehaviorControllerTest.java index fbb8e0c171cd..f832b7bf769f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/assist/AssistHandleBehaviorControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/assist/AssistHandleBehaviorControllerTest.java @@ -65,7 +65,7 @@ public class AssistHandleBehaviorControllerTest extends SysuiTestCase { @Mock private AssistUtils mMockAssistUtils; @Mock private Handler mMockHandler; - @Mock private PhenotypeHelper mMockPhenotypeHelper; + @Mock private DeviceConfigHelper mMockDeviceConfigHelper; @Mock private AssistHandleOffBehavior mMockOffBehavior; @Mock private AssistHandleLikeHomeBehavior mMockLikeHomeBehavior; @Mock private AssistHandleReminderExpBehavior mMockReminderExpBehavior; @@ -97,7 +97,7 @@ public class AssistHandleBehaviorControllerTest extends SysuiTestCase { mMockAssistUtils, mMockHandler, () -> mMockAssistHandleViewController, - mMockPhenotypeHelper, + mMockDeviceConfigHelper, behaviorMap, mMockNavigationModeController, mMockDumpController); @@ -216,7 +216,7 @@ public class AssistHandleBehaviorControllerTest extends SysuiTestCase { public void showAndGo_doesNothingIfRecentlyHidden() { // Arrange when(mMockAssistUtils.getAssistComponentForUser(anyInt())).thenReturn(COMPONENT_NAME); - when(mMockPhenotypeHelper.getLong( + when(mMockDeviceConfigHelper.getLong( eq(SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOWN_FREQUENCY_THRESHOLD_MS), anyLong())).thenReturn(10000L); mAssistHandleBehaviorController.showAndGo(); @@ -297,7 +297,7 @@ public class AssistHandleBehaviorControllerTest extends SysuiTestCase { public void showAndGoDelayed_doesNothingIfRecentlyHidden() { // Arrange when(mMockAssistUtils.getAssistComponentForUser(anyInt())).thenReturn(COMPONENT_NAME); - when(mMockPhenotypeHelper.getLong( + when(mMockDeviceConfigHelper.getLong( eq(SystemUiDeviceConfigFlags.ASSIST_HANDLES_SHOWN_FREQUENCY_THRESHOLD_MS), anyLong())).thenReturn(10000L); mAssistHandleBehaviorController.showAndGo(); -- cgit v1.2.3-59-g8ed1b