From fc02ce1c207c878ad76f4b469bf6aeabb62e3401 Mon Sep 17 00:00:00 2001 From: Edgar Wang Date: Sat, 26 Dec 2020 01:12:15 +0800 Subject: [PATCH] Refactor AppPreference and AppSwitchPreference - Move AppSwitchPreference - Remove FeatureflagPreference summary Bug: 176815722 Test: robotest Change-Id: Id337097f237ac9ca6dfa01665df61b1258dc24f2 --- .../accounts/AccountTypePreference.java | 2 +- .../applications/ProcessStatsPreference.java | 2 +- .../managedomainurls/DomainAppPreference.java | 5 +-- .../DeviceAdminListPreferenceController.java | 2 +- .../InteractAcrossProfilesSettings.java | 2 +- .../PictureInPictureSettings.java | 2 +- .../datausage/AppDataUsagePreference.java | 2 +- .../UnrestrictedDataAccessPreference.java | 2 +- .../featureflags/FeatureFlagPreference.java | 9 +--- .../ApplicationListPreferenceController.java | 2 +- .../fuelgauge/PowerGaugePreference.java | 2 +- .../location/AppSettingsInjector.java | 2 +- ...ntLocationRequestPreferenceController.java | 2 +- ...tionRequestSeeAllPreferenceController.java | 2 +- .../NotificationAccessSettings.java | 2 +- .../notification/zen/ZenAccessSettings.java | 2 +- ...eAddBypassingAppsPreferenceController.java | 2 +- ...eAllBypassingAppsPreferenceController.java | 2 +- .../settings/print/PrintSettingsFragment.java | 3 +- .../utils/ManagedServiceSettings.java | 2 +- .../settings/widget/AppSwitchPreference.java | 43 ------------------- .../widget/RestrictedAppPreference.java | 2 +- .../FeatureFlagPreferenceTest.java | 11 +---- 23 files changed, 23 insertions(+), 84 deletions(-) delete mode 100644 src/com/android/settings/widget/AppSwitchPreference.java diff --git a/src/com/android/settings/accounts/AccountTypePreference.java b/src/com/android/settings/accounts/AccountTypePreference.java index c82a5990d53..8df576753d9 100644 --- a/src/com/android/settings/accounts/AccountTypePreference.java +++ b/src/com/android/settings/accounts/AccountTypePreference.java @@ -30,7 +30,7 @@ import androidx.preference.Preference.OnPreferenceClickListener; import com.android.settings.Utils; import com.android.settings.core.SubSettingLauncher; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; public class AccountTypePreference extends AppPreference implements OnPreferenceClickListener { /** diff --git a/src/com/android/settings/applications/ProcessStatsPreference.java b/src/com/android/settings/applications/ProcessStatsPreference.java index 4249381732d..b4df3ee0b17 100644 --- a/src/com/android/settings/applications/ProcessStatsPreference.java +++ b/src/com/android/settings/applications/ProcessStatsPreference.java @@ -22,7 +22,7 @@ import android.text.TextUtils; import android.text.format.Formatter; import android.util.Log; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; public class ProcessStatsPreference extends AppPreference { static final String TAG = "ProcessStatsPreference"; diff --git a/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java b/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java index bc7b85555ee..be53fabb538 100644 --- a/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java +++ b/src/com/android/settings/applications/managedomainurls/DomainAppPreference.java @@ -21,14 +21,11 @@ import android.content.pm.PackageManager; import android.os.UserHandle; import android.util.ArraySet; import android.util.IconDrawableFactory; -import android.view.View; - -import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.Utils; import com.android.settingslib.applications.ApplicationsState.AppEntry; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; public class DomainAppPreference extends AppPreference { diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java index 21261096441..5ab4754bc5e 100644 --- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java +++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java @@ -46,11 +46,11 @@ import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; import com.android.settings.overlay.FeatureFactory; -import com.android.settings.widget.AppSwitchPreference; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; +import com.android.settingslib.widget.AppSwitchPreference; import com.android.settingslib.widget.FooterPreference; import org.xmlpull.v1.XmlPullParserException; diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java index c5d848af7a3..ffab617d855 100644 --- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java +++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java @@ -41,7 +41,7 @@ import com.android.settings.applications.AppInfoBase; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.EmptyTextSettings; import com.android.settingslib.search.SearchIndexable; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java index 15757a0e4d5..57b7412fb22 100644 --- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java +++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java @@ -42,7 +42,7 @@ import com.android.settings.applications.AppInfoBase; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.EmptyTextSettings; import com.android.settingslib.search.SearchIndexable; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.text.Collator; import java.util.ArrayList; diff --git a/src/com/android/settings/datausage/AppDataUsagePreference.java b/src/com/android/settings/datausage/AppDataUsagePreference.java index 52e24ed3c9f..3025a49bb6c 100644 --- a/src/com/android/settings/datausage/AppDataUsagePreference.java +++ b/src/com/android/settings/datausage/AppDataUsagePreference.java @@ -24,7 +24,7 @@ import com.android.settingslib.AppItem; import com.android.settingslib.net.UidDetail; import com.android.settingslib.net.UidDetailProvider; import com.android.settingslib.utils.ThreadUtils; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.text.NumberFormat; diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java index ebd88948807..a41b5828b46 100644 --- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java +++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java @@ -24,11 +24,11 @@ import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.applications.appinfo.AppInfoDashboardFragment; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.widget.AppSwitchPreference; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedPreferenceHelper; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState.AppEntry; +import com.android.settingslib.widget.AppSwitchPreference; public class UnrestrictedDataAccessPreference extends AppSwitchPreference implements DataSaverBackend.Listener { diff --git a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java index 0e0c7a6883b..d6bdb77d04b 100644 --- a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java +++ b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java @@ -38,21 +38,16 @@ public class FeatureFlagPreference extends SwitchPreference { } else { isFeatureEnabled = FeatureFlagUtils.isEnabled(context, key); } - setCheckedInternal(isFeatureEnabled); + super.setChecked(isFeatureEnabled); } @Override public void setChecked(boolean isChecked) { - setCheckedInternal(isChecked); + super.setChecked(isChecked); if (mIsPersistent) { FeatureFlagPersistent.setEnabled(getContext(), mKey, isChecked); } else { FeatureFlagUtils.setEnabled(getContext(), mKey, isChecked); } } - - private void setCheckedInternal(boolean isChecked) { - super.setChecked(isChecked); - setSummary(Boolean.toString(isChecked)); - } } diff --git a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java index 271981858b2..0d50bec0568 100644 --- a/src/com/android/settings/enterprise/ApplicationListPreferenceController.java +++ b/src/com/android/settings/enterprise/ApplicationListPreferenceController.java @@ -28,7 +28,7 @@ import com.android.settings.applications.ApplicationFeatureProvider; import com.android.settings.applications.UserAppInfo; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.List; diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java index 8cac2b24125..b75acc62c93 100644 --- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java +++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java @@ -25,7 +25,7 @@ import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; /** * Custom preference for displaying battery usage info as a bar and an icon on diff --git a/src/com/android/settings/location/AppSettingsInjector.java b/src/com/android/settings/location/AppSettingsInjector.java index bea623e0af2..7bea99931e2 100644 --- a/src/com/android/settings/location/AppSettingsInjector.java +++ b/src/com/android/settings/location/AppSettingsInjector.java @@ -27,7 +27,7 @@ import com.android.settings.widget.RestrictedAppPreference; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.location.InjectedSetting; import com.android.settingslib.location.SettingsInjector; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; /** * Adds the preferences specified by the {@link InjectedSetting} objects to a preference group. diff --git a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java index d64782691d8..812a4404fb1 100644 --- a/src/com/android/settings/location/RecentLocationRequestPreferenceController.java +++ b/src/com/android/settings/location/RecentLocationRequestPreferenceController.java @@ -29,7 +29,7 @@ import com.android.settings.core.SubSettingLauncher; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.profileselector.ProfileSelectFragment; import com.android.settingslib.location.RecentLocationApps; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java index df0fa40087c..e0e3f9aa821 100644 --- a/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java +++ b/src/com/android/settings/location/RecentLocationRequestSeeAllPreferenceController.java @@ -27,7 +27,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.dashboard.profileselector.ProfileSelectFragment; import com.android.settingslib.location.RecentLocationApps; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/notification/NotificationAccessSettings.java b/src/com/android/settings/notification/NotificationAccessSettings.java index 65ad571a9d4..12d6295ef90 100644 --- a/src/com/android/settings/notification/NotificationAccessSettings.java +++ b/src/com/android/settings/notification/NotificationAccessSettings.java @@ -47,7 +47,7 @@ import com.android.settings.utils.ManagedServiceSettings; import com.android.settings.widget.EmptyTextSettings; import com.android.settingslib.applications.ServiceListing; import com.android.settingslib.search.SearchIndexable; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.List; diff --git a/src/com/android/settings/notification/zen/ZenAccessSettings.java b/src/com/android/settings/notification/zen/ZenAccessSettings.java index daa2e508ded..a951d837c39 100644 --- a/src/com/android/settings/notification/zen/ZenAccessSettings.java +++ b/src/com/android/settings/notification/zen/ZenAccessSettings.java @@ -37,7 +37,7 @@ import com.android.settings.applications.specialaccess.zenaccess.ZenAccessSettin import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.EmptyTextSettings; import com.android.settingslib.search.SearchIndexable; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; import java.util.Collections; diff --git a/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java index a861ab27673..e7529136d0c 100644 --- a/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java @@ -37,7 +37,7 @@ import com.android.settings.notification.NotificationBackend; import com.android.settings.notification.app.AppChannelsBypassingDndSettings; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java index fc034e5b1a0..b036d8f55bc 100644 --- a/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java @@ -37,7 +37,7 @@ import com.android.settings.notification.NotificationBackend; import com.android.settings.notification.app.AppChannelsBypassingDndSettings; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java index 064109393f8..ed21b6f7f92 100644 --- a/src/com/android/settings/print/PrintSettingsFragment.java +++ b/src/com/android/settings/print/PrintSettingsFragment.java @@ -34,7 +34,6 @@ import android.print.PrintJobInfo; import android.print.PrintManager; import android.print.PrintManager.PrintJobStateChangeListener; import android.printservice.PrintServiceInfo; -import android.provider.SearchIndexableResource; import android.provider.Settings; import android.text.TextUtils; import android.text.format.DateUtils; @@ -56,7 +55,7 @@ import com.android.settings.R; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.search.Indexable; import com.android.settingslib.search.SearchIndexable; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; import java.text.DateFormat; import java.util.ArrayList; diff --git a/src/com/android/settings/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java index 86db4553d81..e372cb7b827 100644 --- a/src/com/android/settings/utils/ManagedServiceSettings.java +++ b/src/com/android/settings/utils/ManagedServiceSettings.java @@ -40,9 +40,9 @@ import androidx.preference.SwitchPreference; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; -import com.android.settings.widget.AppSwitchPreference; import com.android.settings.widget.EmptyTextSettings; import com.android.settingslib.applications.ServiceListing; +import com.android.settingslib.widget.AppSwitchPreference; import java.util.List; diff --git a/src/com/android/settings/widget/AppSwitchPreference.java b/src/com/android/settings/widget/AppSwitchPreference.java deleted file mode 100644 index aeb779f6968..00000000000 --- a/src/com/android/settings/widget/AppSwitchPreference.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2017 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.settings.widget; - -import android.content.Context; -import android.view.View; - -import androidx.preference.PreferenceViewHolder; -import androidx.preference.SwitchPreference; - -import com.android.settings.R; - -public class AppSwitchPreference extends SwitchPreference { - - public AppSwitchPreference(Context context) { - super(context); - setLayoutResource(R.layout.preference_app); - } - - @Override - public void onBindViewHolder(PreferenceViewHolder holder) { - super.onBindViewHolder(holder); - final View switchView = holder.findViewById(android.R.id.switch_widget); - if (switchView != null) { - final View rootView = switchView.getRootView(); - rootView.setFilterTouchesWhenObscured(true); - } - } -} diff --git a/src/com/android/settings/widget/RestrictedAppPreference.java b/src/com/android/settings/widget/RestrictedAppPreference.java index 8a2cc91e7d1..cd953571ab6 100644 --- a/src/com/android/settings/widget/RestrictedAppPreference.java +++ b/src/com/android/settings/widget/RestrictedAppPreference.java @@ -28,7 +28,7 @@ import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedPreferenceHelper; -import com.android.settingslib.widget.apppreference.AppPreference; +import com.android.settingslib.widget.AppPreference; /** * {@link AppPreference} that implements user restriction utilities using diff --git a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceTest.java b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceTest.java index 8afff8af7e4..2d76d96838b 100644 --- a/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/development/featureflags/FeatureFlagPreferenceTest.java @@ -41,17 +41,8 @@ public class FeatureFlagPreferenceTest { } @Test - public void constructor_shouldSetTitleAndSummary() { + public void constructor_shouldSetTitle() { assertThat(mPreference.getTitle()).isEqualTo(KEY); - assertThat(mPreference.getSummary()).isEqualTo("false"); assertThat(mPreference.isChecked()).isFalse(); } - - @Test - public void toggle_shouldUpdateSummary() { - mPreference.setChecked(true); - - assertThat(mPreference.getSummary()).isEqualTo("true"); - assertThat(mPreference.isChecked()).isTrue(); - } }