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

Commit ea8a4adc authored by Simon Wingrove's avatar Simon Wingrove
Browse files

Use correct menu key highlights for safety center

Adds a menu key for the security deeplink, and adds a remapping to
ensure the correct key is used depending on if safety center is
available or not.

Bug: 253553761
Test: manually
Change-Id: I8ed9efd084e1fdfa298be1826a215218c84b1f4a
parent 236eaed3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1724,6 +1724,8 @@
            </intent-filter>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.security.SecurityAdvancedSettings" />
            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
                       android:value="@string/menu_key_security"/>
        </activity>

        <activity android:name="MonitoringCertInfoActivity"
+18 −1
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ import com.android.settings.core.CategoryMixin;
import com.android.settings.core.FeatureFlags;
import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
import com.android.settingslib.Utils;
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;

@@ -479,12 +480,28 @@ public class SettingsHomepageActivity extends FragmentActivity implements
            final String menuKey = intent.getStringExtra(
                    EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY);
            if (!TextUtils.isEmpty(menuKey)) {
                return menuKey;
                return maybeRemapMenuKey(menuKey);
            }
        }
        return getString(DEFAULT_HIGHLIGHT_MENU_KEY);
    }

    private String maybeRemapMenuKey(String menuKey) {
        boolean isPrivacyOrSecurityMenuKey =
                getString(R.string.menu_key_privacy).equals(menuKey)
                        || getString(R.string.menu_key_security).equals(menuKey);
        boolean isSafetyCenterMenuKey = getString(R.string.menu_key_safety_center).equals(menuKey);

        if (isPrivacyOrSecurityMenuKey && SafetyCenterManagerWrapper.get().isEnabled(this)) {
            return getString(R.string.menu_key_safety_center);
        }
        if (isSafetyCenterMenuKey && !SafetyCenterManagerWrapper.get().isEnabled(this)) {
            // We don't know if security or privacy, default to security as it is above.
            return getString(R.string.menu_key_security);
        }
        return menuKey;
    }

    private void reloadHighlightMenuKey() {
        mMainFragment.getArguments().putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY,
                getHighlightMenuKey());