Merge "revent NFE in SystemUI when parsing invalid int (2)"
This commit is contained in:
@@ -127,12 +127,12 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
@Override
|
||||
public void onTuningChanged(String key, String newValue) {
|
||||
if (ALLOW_FANCY_ANIMATION.equals(key)) {
|
||||
mAllowFancy = newValue == null || Integer.parseInt(newValue) != 0;
|
||||
mAllowFancy = TunerService.parseIntegerSwitch(newValue, true);
|
||||
if (!mAllowFancy) {
|
||||
clearAnimationState();
|
||||
}
|
||||
} else if (MOVE_FULL_ROWS.equals(key)) {
|
||||
mFullRows = newValue == null || Integer.parseInt(newValue) != 0;
|
||||
mFullRows = TunerService.parseIntegerSwitch(newValue, true);
|
||||
} else if (QuickQSPanel.NUM_QUICK_TILES.equals(key)) {
|
||||
mNumQuickTiles = mQuickQsPanel.getNumQuickTiles(mQs.getContext());
|
||||
clearAnimationState();
|
||||
|
||||
@@ -191,7 +191,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
|
||||
}
|
||||
|
||||
private void updateViewVisibilityForTuningValue(View view, @Nullable String newValue) {
|
||||
view.setVisibility(newValue == null || Integer.parseInt(newValue) != 0 ? VISIBLE : GONE);
|
||||
view.setVisibility(TunerService.parseIntegerSwitch(newValue, true) ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
public void openDetails(String subPanel) {
|
||||
|
||||
@@ -274,7 +274,7 @@ public class Clock extends TextView implements DemoMode, Tunable, CommandQueue.C
|
||||
@Override
|
||||
public void onTuningChanged(String key, String newValue) {
|
||||
if (CLOCK_SECONDS.equals(key)) {
|
||||
mShowSeconds = newValue != null && Integer.parseInt(newValue) != 0;
|
||||
mShowSeconds = TunerService.parseIntegerSwitch(newValue, false);
|
||||
updateShowSeconds();
|
||||
} else {
|
||||
setClockVisibleByUser(!StatusBarIconController.getIconBlacklist(newValue)
|
||||
|
||||
@@ -109,4 +109,12 @@ public abstract class TunerService {
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
public static boolean parseIntegerSwitch(String value, boolean defaultValue) {
|
||||
try {
|
||||
return value != null ? Integer.parseInt(value) != 0 : defaultValue;
|
||||
} catch (NumberFormatException e) {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public class TunerSwitch extends SwitchPreference implements Tunable {
|
||||
|
||||
@Override
|
||||
public void onTuningChanged(String key, String newValue) {
|
||||
setChecked(newValue != null ? Integer.parseInt(newValue) != 0 : mDefault);
|
||||
setChecked(TunerService.parseIntegerSwitch(newValue, mDefault));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -108,28 +108,23 @@ public class VolumeDialogComponent implements VolumeComponent, TunerService.Tuna
|
||||
|
||||
@Override
|
||||
public void onTuningChanged(String key, String newValue) {
|
||||
boolean volumeDownToEnterSilent = mVolumePolicy.volumeDownToEnterSilent;
|
||||
boolean volumeUpToExitSilent = mVolumePolicy.volumeUpToExitSilent;
|
||||
boolean doNotDisturbWhenSilent = mVolumePolicy.doNotDisturbWhenSilent;
|
||||
|
||||
if (VOLUME_DOWN_SILENT.equals(key)) {
|
||||
final boolean volumeDownToEnterSilent = newValue != null
|
||||
? Integer.parseInt(newValue) != 0
|
||||
: DEFAULT_VOLUME_DOWN_TO_ENTER_SILENT;
|
||||
setVolumePolicy(volumeDownToEnterSilent,
|
||||
mVolumePolicy.volumeUpToExitSilent, mVolumePolicy.doNotDisturbWhenSilent,
|
||||
mVolumePolicy.vibrateToSilentDebounce);
|
||||
volumeDownToEnterSilent =
|
||||
TunerService.parseIntegerSwitch(newValue, DEFAULT_VOLUME_DOWN_TO_ENTER_SILENT);
|
||||
} else if (VOLUME_UP_SILENT.equals(key)) {
|
||||
final boolean volumeUpToExitSilent = newValue != null
|
||||
? Integer.parseInt(newValue) != 0
|
||||
: DEFAULT_VOLUME_UP_TO_EXIT_SILENT;
|
||||
setVolumePolicy(mVolumePolicy.volumeDownToEnterSilent,
|
||||
volumeUpToExitSilent, mVolumePolicy.doNotDisturbWhenSilent,
|
||||
mVolumePolicy.vibrateToSilentDebounce);
|
||||
volumeUpToExitSilent =
|
||||
TunerService.parseIntegerSwitch(newValue, DEFAULT_VOLUME_UP_TO_EXIT_SILENT);
|
||||
} else if (VOLUME_SILENT_DO_NOT_DISTURB.equals(key)) {
|
||||
final boolean doNotDisturbWhenSilent = newValue != null
|
||||
? Integer.parseInt(newValue) != 0
|
||||
: DEFAULT_DO_NOT_DISTURB_WHEN_SILENT;
|
||||
setVolumePolicy(mVolumePolicy.volumeDownToEnterSilent,
|
||||
mVolumePolicy.volumeUpToExitSilent, doNotDisturbWhenSilent,
|
||||
mVolumePolicy.vibrateToSilentDebounce);
|
||||
doNotDisturbWhenSilent =
|
||||
TunerService.parseIntegerSwitch(newValue, DEFAULT_DO_NOT_DISTURB_WHEN_SILENT);
|
||||
}
|
||||
|
||||
setVolumePolicy(volumeDownToEnterSilent, volumeUpToExitSilent, doNotDisturbWhenSilent,
|
||||
mVolumePolicy.vibrateToSilentDebounce);
|
||||
}
|
||||
|
||||
private void setVolumePolicy(boolean volumeDownToEnterSilent, boolean volumeUpToExitSilent,
|
||||
|
||||
Reference in New Issue
Block a user