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.PreferenceControllerListHelper;
|
||||
import com.android.settings.core.SettingsBaseActivity;
|
||||
import com.android.settings.homepage.HomepagePreference;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.PrimarySwitchPreference;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||
import com.android.settingslib.drawer.CategoryKey;
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.drawer.ProviderTile;
|
||||
import com.android.settingslib.drawer.Tile;
|
||||
@@ -536,6 +538,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
|
||||
@VisibleForTesting
|
||||
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
|
||||
? new SwitchPreference(getPrefContext())
|
||||
: tile.hasSwitch()
|
||||
|
@@ -48,6 +48,7 @@ import androidx.preference.SwitchPreference;
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.settings.core.FeatureFlags;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.homepage.HomepagePreference;
|
||||
import com.android.settings.slices.BlockingSlicePrefController;
|
||||
import com.android.settings.testutils.FakeFeatureFactory;
|
||||
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.VisibilityLoggerMixin;
|
||||
import com.android.settingslib.drawer.ActivityTile;
|
||||
import com.android.settingslib.drawer.CategoryKey;
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.drawer.ProviderTile;
|
||||
|
||||
@@ -335,6 +337,16 @@ public class DashboardFragmentTest {
|
||||
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
|
||||
public void isFeatureFlagAndIsParalleled_runParalleledUpdatePreferenceStates() {
|
||||
FeatureFlagUtils.setEnabled(mContext, FeatureFlags.CONTROLLER_ENHANCEMENT, true);
|
||||
|
Reference in New Issue
Block a user