Use new homepage preference for injected IAs
We use homepage preference when it's a injected IAs on homepage Test: See the screenshot for Google icons Fix: 177213699 Change-Id: Ibd08ff305cdd6b556b5ceee486df01678c9212a6
This commit is contained in:
committed by
Yanting Yang
parent
78c6656981
commit
8b1b0dc0c3
@@ -39,11 +39,13 @@ import com.android.settings.core.BasePreferenceController;
|
|||||||
import com.android.settings.core.FeatureFlags;
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.core.PreferenceControllerListHelper;
|
import com.android.settings.core.PreferenceControllerListHelper;
|
||||||
import com.android.settings.core.SettingsBaseActivity;
|
import com.android.settings.core.SettingsBaseActivity;
|
||||||
|
import com.android.settings.homepage.HomepagePreference;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.widget.PrimarySwitchPreference;
|
import com.android.settings.widget.PrimarySwitchPreference;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
|
import com.android.settingslib.drawer.CategoryKey;
|
||||||
import com.android.settingslib.drawer.DashboardCategory;
|
import com.android.settingslib.drawer.DashboardCategory;
|
||||||
import com.android.settingslib.drawer.ProviderTile;
|
import com.android.settingslib.drawer.ProviderTile;
|
||||||
import com.android.settingslib.drawer.Tile;
|
import com.android.settingslib.drawer.Tile;
|
||||||
@@ -536,6 +538,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
Preference createPreference(Tile tile) {
|
Preference createPreference(Tile tile) {
|
||||||
|
if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.SILKY_HOME)
|
||||||
|
&& TextUtils.equals(tile.getCategory(), CategoryKey.CATEGORY_HOMEPAGE)) {
|
||||||
|
return new HomepagePreference(getPrefContext());
|
||||||
|
}
|
||||||
return tile instanceof ProviderTile
|
return tile instanceof ProviderTile
|
||||||
? new SwitchPreference(getPrefContext())
|
? new SwitchPreference(getPrefContext())
|
||||||
: tile.hasSwitch()
|
: tile.hasSwitch()
|
||||||
|
@@ -48,6 +48,7 @@ import androidx.preference.SwitchPreference;
|
|||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.core.FeatureFlags;
|
import com.android.settings.core.FeatureFlags;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
|
import com.android.settings.homepage.HomepagePreference;
|
||||||
import com.android.settings.slices.BlockingSlicePrefController;
|
import com.android.settings.slices.BlockingSlicePrefController;
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.widget.PrimarySwitchPreference;
|
import com.android.settings.widget.PrimarySwitchPreference;
|
||||||
@@ -55,6 +56,7 @@ import com.android.settingslib.core.AbstractPreferenceController;
|
|||||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
|
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
|
||||||
import com.android.settingslib.drawer.ActivityTile;
|
import com.android.settingslib.drawer.ActivityTile;
|
||||||
|
import com.android.settingslib.drawer.CategoryKey;
|
||||||
import com.android.settingslib.drawer.DashboardCategory;
|
import com.android.settingslib.drawer.DashboardCategory;
|
||||||
import com.android.settingslib.drawer.ProviderTile;
|
import com.android.settingslib.drawer.ProviderTile;
|
||||||
|
|
||||||
@@ -335,6 +337,16 @@ public class DashboardFragmentTest {
|
|||||||
assertThat(pref).isInstanceOf(PrimarySwitchPreference.class);
|
assertThat(pref).isInstanceOf(PrimarySwitchPreference.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void createPreference_isHomepageTile_returnHomepagePreference() {
|
||||||
|
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.SILKY_HOME, true);
|
||||||
|
mActivityTile.setCategory(CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
|
|
||||||
|
final Preference pref = mTestFragment.createPreference(mActivityTile);
|
||||||
|
|
||||||
|
assertThat(pref).isInstanceOf(HomepagePreference.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void isFeatureFlagAndIsParalleled_runParalleledUpdatePreferenceStates() {
|
public void isFeatureFlagAndIsParalleled_runParalleledUpdatePreferenceStates() {
|
||||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, true);
|
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, true);
|
||||||
|
Reference in New Issue
Block a user