Loading src/com/android/settings/homepage/TopLevelSettings.java +14 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ import android.view.ViewGroup; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import androidx.recyclerview.widget.RecyclerView; import androidx.window.embedding.ActivityEmbeddingController; Loading Loading @@ -210,6 +212,9 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { super.onCreatePreferences(savedInstanceState, rootKey); if (Flags.homepageRevamp()) { return; } int tintColor = Utils.getHomepageIconColor(getContext()); iteratePreferences(preference -> { Drawable icon = preference.getIcon(); Loading Loading @@ -364,13 +369,17 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi } job.init(); int count = screen.getPreferenceCount(); for (int i = 0; i < count; i++) { Preference preference = screen.getPreference(i); if (preference == null) { break; iteratePreferences(screen, job); } private void iteratePreferences(PreferenceGroup group, PreferenceJob job) { int count = group.getPreferenceCount(); for (int i = 0; i < count; i++) { Preference preference = group.getPreference(i); job.doForEach(preference); if (preference instanceof PreferenceCategory) { iteratePreferences((PreferenceCategory) preference, job); } } } Loading tests/robotests/src/com/android/settings/homepage/TopLevelSettingsTest.java +7 −0 Original line number Diff line number Diff line Loading @@ -26,15 +26,19 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.platform.test.annotations.DisableFlags; import android.platform.test.flag.junit.SetFlagsRule; import androidx.preference.Preference; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.flags.Flags; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; Loading @@ -42,6 +46,8 @@ import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class TopLevelSettingsTest { @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private Context mContext; private TopLevelSettings mSettings; Loading @@ -58,6 +64,7 @@ public class TopLevelSettingsTest { } @Test @DisableFlags(Flags.FLAG_HOMEPAGE_REVAMP) public void onCreatePreferences_shouldTintPreferenceIcon() { final Preference preference = new Preference(mContext); preference.setTitle(R.string.network_dashboard_title); Loading Loading
src/com/android/settings/homepage/TopLevelSettings.java +14 −5 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ import android.view.ViewGroup; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import androidx.recyclerview.widget.RecyclerView; import androidx.window.embedding.ActivityEmbeddingController; Loading Loading @@ -210,6 +212,9 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { super.onCreatePreferences(savedInstanceState, rootKey); if (Flags.homepageRevamp()) { return; } int tintColor = Utils.getHomepageIconColor(getContext()); iteratePreferences(preference -> { Drawable icon = preference.getIcon(); Loading Loading @@ -364,13 +369,17 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi } job.init(); int count = screen.getPreferenceCount(); for (int i = 0; i < count; i++) { Preference preference = screen.getPreference(i); if (preference == null) { break; iteratePreferences(screen, job); } private void iteratePreferences(PreferenceGroup group, PreferenceJob job) { int count = group.getPreferenceCount(); for (int i = 0; i < count; i++) { Preference preference = group.getPreference(i); job.doForEach(preference); if (preference instanceof PreferenceCategory) { iteratePreferences((PreferenceCategory) preference, job); } } } Loading
tests/robotests/src/com/android/settings/homepage/TopLevelSettingsTest.java +7 −0 Original line number Diff line number Diff line Loading @@ -26,15 +26,19 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.platform.test.annotations.DisableFlags; import android.platform.test.flag.junit.SetFlagsRule; import androidx.preference.Preference; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.flags.Flags; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; Loading @@ -42,6 +46,8 @@ import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class TopLevelSettingsTest { @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(); private Context mContext; private TopLevelSettings mSettings; Loading @@ -58,6 +64,7 @@ public class TopLevelSettingsTest { } @Test @DisableFlags(Flags.FLAG_HOMEPAGE_REVAMP) public void onCreatePreferences_shouldTintPreferenceIcon() { final Preference preference = new Preference(mContext); preference.setTitle(R.string.network_dashboard_title); Loading