Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29a09e55 authored by Jason Chiu's avatar Jason Chiu
Browse files

Revert "Revert "Support highlightable Settings homepage menu for 2-pane""

This reverts commit 096c090b.

Reason for revert: crash is fixed in this change

Bug: 202510128
Test: manual, build
Change-Id: Ifff8d58cfdcf43e123b11dee308665b2617cb4b3
parent 5a796688
Loading
Loading
Loading
Loading
+130 −2

File changed.

Preview size limit exceeded, changes collapsed.

+4 −7
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ public class Settings extends SettingsActivity {
    }

    public static class VpnSettingsActivity extends SettingsActivity { /* empty */ }
    /** Activity for Data saver settings. */
    public static class DataSaverSummaryActivity extends SettingsActivity { /* empty */ }
    public static class DateTimeSettingsActivity extends SettingsActivity { /* empty */ }
    public static class PrivateVolumeForgetActivity extends SettingsActivity { /* empty */ }
@@ -121,13 +122,9 @@ public class Settings extends SettingsActivity {
    public static class AccessibilityInversionSettingsActivity extends SettingsActivity { /* empty */ }
    public static class AccessibilityContrastSettingsActivity extends SettingsActivity { /* empty */ }
    public static class AccessibilityDaltonizerSettingsActivity extends SettingsActivity { /* empty */ }
    /**
     * Activity for lockscreen settings.
     */
    /** Activity for lockscreen settings. */
    public static class LockScreenSettingsActivity extends SettingsActivity { /* empty */ }
    /**
     * Activity for Reduce Bright Colors.
     */
    /** Activity for Reduce Bright Colors. */
    public static class ReduceBrightColorsSettingsActivity extends SettingsActivity { /* empty */ }
    /** Activity for the security dashboard. */
    public static class SecurityDashboardActivity extends SettingsActivity {
+15 −10
Original line number Diff line number Diff line
@@ -149,9 +149,13 @@ public class SettingsActivity extends SettingsBaseActivity
    public static final String META_DATA_KEY_FRAGMENT_CLASS =
            "com.android.settings.FRAGMENT_CLASS";

    public static final String META_DATA_KEY_HIGHLIGHT_MENU_KEY =
            "com.android.settings.HIGHLIGHT_MENU_KEY";

    private static final String EXTRA_UI_OPTIONS = "settings:ui_options";

    private String mFragmentClass;
    private String mHighlightMenuKey;

    private CharSequence mInitialTitle;
    private int mInitialTitleResId;
@@ -234,21 +238,19 @@ public class SettingsActivity extends SettingsBaseActivity
        super.onCreate(savedState);
        Log.d(LOG_TAG, "Starting onCreate");

        if (launchHomepageForTwonPaneDeepLink()) {
        long startTime = System.currentTimeMillis();

        // Should happen before any call to getIntent()
        getMetaData();
        final Intent intent = getIntent();
        if (launchHomepageForTwoPaneDeepLink(intent)) {
            finish();
            return;
        }

        long startTime = System.currentTimeMillis();

        final FeatureFactory factory = FeatureFactory.getFactory(this);

        mDashboardFeatureProvider = factory.getDashboardFeatureProvider(this);

        // Should happen before any call to getIntent()
        getMetaData();

        final Intent intent = getIntent();
        if (intent.hasExtra(EXTRA_UI_OPTIONS)) {
            getWindow().setUiOptions(intent.getIntExtra(EXTRA_UI_OPTIONS, 0));
        }
@@ -355,8 +357,7 @@ public class SettingsActivity extends SettingsBaseActivity
    }

    /** Returns true if the Activity is started by a deep link intent for large screen devices. */
    private boolean launchHomepageForTwonPaneDeepLink() {
        final Intent intent = getIntent();
    private boolean launchHomepageForTwoPaneDeepLink(Intent intent) {
        if (!shouldShowTwoPaneDeepLink(intent)) {
            return false;
        }
@@ -368,6 +369,9 @@ public class SettingsActivity extends SettingsBaseActivity
        trampolineIntent.putExtra(
                android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI,
                intent.toUri(Intent.URI_INTENT_SCHEME));
        trampolineIntent.putExtra(
                android.provider.Settings.EXTRA_SETTINGS_LARGE_SCREEN_HIGHLIGHT_MENU_KEY,
                mHighlightMenuKey);
        trampolineIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
        startActivity(trampolineIntent);

@@ -776,6 +780,7 @@ public class SettingsActivity extends SettingsBaseActivity
                    PackageManager.GET_META_DATA);
            if (ai == null || ai.metaData == null) return;
            mFragmentClass = ai.metaData.getString(META_DATA_KEY_FRAGMENT_CLASS);
            mHighlightMenuKey = ai.metaData.getString(META_DATA_KEY_HIGHLIGHT_MENU_KEY);
        } catch (NameNotFoundException nnfe) {
            // No recovery
            Log.d(LOG_TAG, "Cannot get Metadata for: " + getComponentName().toString());
+1 −2
Original line number Diff line number Diff line
@@ -119,8 +119,7 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF

    @VisibleForTesting
    public HighlightablePreferenceGroupAdapter mAdapter;
    @VisibleForTesting
    public boolean mPreferenceHighlighted = false;
    private boolean mPreferenceHighlighted = false;

    @Override
    public void onCreate(Bundle icicle) {
+8 −0
Original line number Diff line number Diff line
@@ -1223,6 +1223,14 @@ public final class Utils extends com.android.settingslib.Utils {
        return getColorAttrDefaultColor(context, android.R.attr.textColorSecondary);
    }

    /**
     * Returns the highlight color of homepage preference icons.
     */
    @ColorInt
    public static int getHomepageIconColorHighlight(Context context) {
        return getColorAttrDefaultColor(context, android.R.attr.textColorSecondaryInverse);
    }

    public static boolean isProviderModelEnabled(Context context) {
        return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL);
    }
Loading