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
This commit is contained in:
Simon Wingrove
2022-10-17 15:05:15 +01:00
parent 236eaed326
commit ea8a4adc91
2 changed files with 20 additions and 1 deletions

View File

@@ -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());