Fix quick settings tooltip changed when color correction fab clicked

Root cause: Users click on color correction fab to make foreground activity recreate. When recreated, the ag/13472947 makes the MainSwitch updates to ON status and get the callback for #onPreferenceToggled. It pops up the direct-use style tooltip rather than the edit style tooltip.
Soluton: Reference #updateSwitchBarToggleSwitch to early returns if values are same.

Bug: 229167631
Test: Manual testing
Change-Id: I6781fd509db7538898ad6ff0ae47124c9b9e1bc5
This commit is contained in:
menghanli
2022-04-18 21:50:36 +08:00
parent 361d42afe5
commit a9e6e8c811
2 changed files with 10 additions and 0 deletions

View File

@@ -51,6 +51,11 @@ public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePrefere
@Override @Override
protected void onPreferenceToggled(String preferenceKey, boolean enabled) { protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
final boolean isEnabled = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
if (enabled == isEnabled) {
return;
}
if (enabled) { if (enabled) {
showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_DIRECT_USE); showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_DIRECT_USE);
} }

View File

@@ -166,6 +166,11 @@ public final class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePrefe
@Override @Override
protected void onPreferenceToggled(String preferenceKey, boolean enabled) { protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
final boolean isEnabled = Settings.Secure.getInt(getContentResolver(), ENABLED, OFF) == ON;
if (enabled == isEnabled) {
return;
}
if (enabled) { if (enabled) {
showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_DIRECT_USE); showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_DIRECT_USE);
} }