Fix bug #15897505 Talk back state shows "off" while the talk back is still enabled.
- we were missing the update of the TextView from the SwitchBar so provide a new setCheckedInternal() method that is doing the TextView and Switch update at the same time Change-Id: I6dd9c472a386bb534a58fbf5cf82d9d01fa74f6c
This commit is contained in:
@@ -151,9 +151,8 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
|
|||||||
final boolean enabled = mCaptioningManager.isEnabled();
|
final boolean enabled = mCaptioningManager.isEnabled();
|
||||||
SettingsActivity activity = (SettingsActivity) getActivity();
|
SettingsActivity activity = (SettingsActivity) getActivity();
|
||||||
mSwitchBar = activity.getSwitchBar();
|
mSwitchBar = activity.getSwitchBar();
|
||||||
mSwitchBar.setTextViewLabel(enabled);
|
mSwitchBar.setCheckedInternal(enabled);
|
||||||
mToggleSwitch = mSwitchBar.getSwitch();
|
mToggleSwitch = mSwitchBar.getSwitch();
|
||||||
mToggleSwitch.setCheckedInternal(enabled);
|
|
||||||
|
|
||||||
getPreferenceScreen().setEnabled(enabled);
|
getPreferenceScreen().setEnabled(enabled);
|
||||||
|
|
||||||
@@ -228,7 +227,7 @@ public class CaptionPropertiesFragment extends SettingsPreferenceFragment
|
|||||||
mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
|
mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
||||||
toggleSwitch.setCheckedInternal(checked);
|
mSwitchBar.setCheckedInternal(checked);
|
||||||
Settings.Secure.putInt(getActivity().getContentResolver(),
|
Settings.Secure.putInt(getActivity().getContentResolver(),
|
||||||
Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, checked ? 1 : 0);
|
Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, checked ? 1 : 0);
|
||||||
getPreferenceScreen().setEnabled(checked);
|
getPreferenceScreen().setEnabled(checked);
|
||||||
|
@@ -58,7 +58,7 @@ public class ToggleAccessibilityServicePreferenceFragment
|
|||||||
String settingValue = Settings.Secure.getString(getContentResolver(),
|
String settingValue = Settings.Secure.getString(getContentResolver(),
|
||||||
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
|
Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
|
||||||
final boolean enabled = settingValue.contains(mComponentName.flattenToString());
|
final boolean enabled = settingValue.contains(mComponentName.flattenToString());
|
||||||
mToggleSwitch.setCheckedInternal(enabled);
|
mSwitchBar.setCheckedInternal(enabled);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -263,13 +263,13 @@ public class ToggleAccessibilityServicePreferenceFragment
|
|||||||
switch (which) {
|
switch (which) {
|
||||||
case DialogInterface.BUTTON_POSITIVE:
|
case DialogInterface.BUTTON_POSITIVE:
|
||||||
checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING);
|
checked = (mShownDialogId == DIALOG_ID_ENABLE_WARNING);
|
||||||
mToggleSwitch.setCheckedInternal(checked);
|
mSwitchBar.setCheckedInternal(checked);
|
||||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
break;
|
break;
|
||||||
case DialogInterface.BUTTON_NEGATIVE:
|
case DialogInterface.BUTTON_NEGATIVE:
|
||||||
checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING);
|
checked = (mShownDialogId == DIALOG_ID_DISABLE_WARNING);
|
||||||
mToggleSwitch.setCheckedInternal(checked);
|
mSwitchBar.setCheckedInternal(checked);
|
||||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
break;
|
break;
|
||||||
@@ -285,11 +285,11 @@ public class ToggleAccessibilityServicePreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
toggleSwitch.setCheckedInternal(false);
|
mSwitchBar.setCheckedInternal(false);
|
||||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, false);
|
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, false);
|
||||||
showDialog(DIALOG_ID_ENABLE_WARNING);
|
showDialog(DIALOG_ID_ENABLE_WARNING);
|
||||||
} else {
|
} else {
|
||||||
toggleSwitch.setCheckedInternal(true);
|
mSwitchBar.setCheckedInternal(true);
|
||||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, true);
|
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, true);
|
||||||
showDialog(DIALOG_ID_DISABLE_WARNING);
|
showDialog(DIALOG_ID_DISABLE_WARNING);
|
||||||
}
|
}
|
||||||
|
@@ -72,7 +72,7 @@ public class ToggleDaltonizerPreferenceFragment extends ToggleFeaturePreferenceF
|
|||||||
protected void onInstallSwitchBarToggleSwitch() {
|
protected void onInstallSwitchBarToggleSwitch() {
|
||||||
super.onInstallSwitchBarToggleSwitch();
|
super.onInstallSwitchBarToggleSwitch();
|
||||||
|
|
||||||
mToggleSwitch.setCheckedInternal(
|
mSwitchBar.setCheckedInternal(
|
||||||
Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
|
Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
|
||||||
mSwitchBar.addOnSwitchChangeListener(this);
|
mSwitchBar.addOnSwitchChangeListener(this);
|
||||||
}
|
}
|
||||||
|
@@ -153,7 +153,7 @@ public abstract class ToggleFeaturePreferenceFragment
|
|||||||
// Enabled.
|
// Enabled.
|
||||||
if (arguments.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
|
if (arguments.containsKey(AccessibilitySettings.EXTRA_CHECKED)) {
|
||||||
final boolean enabled = arguments.getBoolean(AccessibilitySettings.EXTRA_CHECKED);
|
final boolean enabled = arguments.getBoolean(AccessibilitySettings.EXTRA_CHECKED);
|
||||||
mToggleSwitch.setCheckedInternal(enabled);
|
mSwitchBar.setCheckedInternal(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Title.
|
// Title.
|
||||||
|
@@ -35,7 +35,7 @@ public class ToggleGlobalGesturePreferenceFragment
|
|||||||
mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
|
mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
||||||
toggleSwitch.setCheckedInternal(checked);
|
mSwitchBar.setCheckedInternal(checked);
|
||||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
return false;
|
return false;
|
||||||
|
@@ -71,7 +71,7 @@ public class ToggleInversionPreferenceFragment extends ToggleFeaturePreferenceFr
|
|||||||
protected void onInstallSwitchBarToggleSwitch() {
|
protected void onInstallSwitchBarToggleSwitch() {
|
||||||
super.onInstallSwitchBarToggleSwitch();
|
super.onInstallSwitchBarToggleSwitch();
|
||||||
|
|
||||||
mToggleSwitch.setCheckedInternal(
|
mSwitchBar.setCheckedInternal(
|
||||||
Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
|
Settings.Secure.getInt(getContentResolver(), ENABLED, 0) == 1);
|
||||||
mSwitchBar.addOnSwitchChangeListener(this);
|
mSwitchBar.addOnSwitchChangeListener(this);
|
||||||
}
|
}
|
||||||
|
@@ -35,7 +35,7 @@ public class ToggleScreenMagnificationPreferenceFragment
|
|||||||
mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
|
mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
||||||
toggleSwitch.setCheckedInternal(checked);
|
mSwitchBar.setCheckedInternal(checked);
|
||||||
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
return false;
|
return false;
|
||||||
|
@@ -206,13 +206,13 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
switch (which) {
|
switch (which) {
|
||||||
case DialogInterface.BUTTON_POSITIVE:
|
case DialogInterface.BUTTON_POSITIVE:
|
||||||
checked = true;
|
checked = true;
|
||||||
mToggleSwitch.setCheckedInternal(checked);
|
mSwitchBar.setCheckedInternal(checked);
|
||||||
getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, checked);
|
getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
break;
|
break;
|
||||||
case DialogInterface.BUTTON_NEGATIVE:
|
case DialogInterface.BUTTON_NEGATIVE:
|
||||||
checked = false;
|
checked = false;
|
||||||
mToggleSwitch.setCheckedInternal(checked);
|
mSwitchBar.setCheckedInternal(checked);
|
||||||
getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, checked);
|
getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, checked);
|
||||||
onPreferenceToggled(mPreferenceKey, checked);
|
onPreferenceToggled(mPreferenceKey, checked);
|
||||||
break;
|
break;
|
||||||
@@ -274,10 +274,10 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
List<ComponentName> services = PrintSettingsUtils.readEnabledPrintServices(getActivity());
|
List<ComponentName> services = PrintSettingsUtils.readEnabledPrintServices(getActivity());
|
||||||
mServiceEnabled = services.contains(mComponentName);
|
mServiceEnabled = services.contains(mComponentName);
|
||||||
if (mServiceEnabled) {
|
if (mServiceEnabled) {
|
||||||
mToggleSwitch.setCheckedInternal(true);
|
mSwitchBar.setCheckedInternal(true);
|
||||||
mPrintersAdapter.enable();
|
mPrintersAdapter.enable();
|
||||||
} else {
|
} else {
|
||||||
mToggleSwitch.setCheckedInternal(false);
|
mSwitchBar.setCheckedInternal(false);
|
||||||
mPrintersAdapter.disable();
|
mPrintersAdapter.disable();
|
||||||
}
|
}
|
||||||
getActivity().invalidateOptionsMenu();
|
getActivity().invalidateOptionsMenu();
|
||||||
@@ -299,7 +299,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
public boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked) {
|
||||||
if (checked) {
|
if (checked) {
|
||||||
if (!TextUtils.isEmpty(mEnableWarningMessage)) {
|
if (!TextUtils.isEmpty(mEnableWarningMessage)) {
|
||||||
toggleSwitch.setCheckedInternal(false);
|
mSwitchBar.setCheckedInternal(false);
|
||||||
getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, false);
|
getArguments().putBoolean(PrintSettingsFragment.EXTRA_CHECKED, false);
|
||||||
showDialog(DIALOG_ID_ENABLE_WARNING);
|
showDialog(DIALOG_ID_ENABLE_WARNING);
|
||||||
return true;
|
return true;
|
||||||
@@ -330,7 +330,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
// Enabled.
|
// Enabled.
|
||||||
final boolean enabled = arguments.getBoolean(PrintSettingsFragment.EXTRA_CHECKED);
|
final boolean enabled = arguments.getBoolean(PrintSettingsFragment.EXTRA_CHECKED);
|
||||||
mToggleSwitch.setCheckedInternal(enabled);
|
mSwitchBar.setCheckedInternal(enabled);
|
||||||
|
|
||||||
// Settings title and intent.
|
// Settings title and intent.
|
||||||
String settingsTitle = arguments.getString(PrintSettingsFragment.EXTRA_SETTINGS_TITLE);
|
String settingsTitle = arguments.getString(PrintSettingsFragment.EXTRA_SETTINGS_TITLE);
|
||||||
|
@@ -100,6 +100,11 @@ public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedC
|
|||||||
mSwitch.setChecked(checked);
|
mSwitch.setChecked(checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setCheckedInternal(boolean checked) {
|
||||||
|
setTextViewLabel(checked);
|
||||||
|
mSwitch.setCheckedInternal(checked);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isChecked() {
|
public boolean isChecked() {
|
||||||
return mSwitch.isChecked();
|
return mSwitch.isChecked();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user