Merge "Account types at toplevel of Settings" into jb-dev
diff --git a/src/com/android/settings/BrightnessPreference.java b/src/com/android/settings/BrightnessPreference.java
index c80f66d..eff5c50 100644
--- a/src/com/android/settings/BrightnessPreference.java
+++ b/src/com/android/settings/BrightnessPreference.java
@@ -47,6 +47,8 @@
private boolean mAutomaticAvailable;
private boolean mAutomaticMode;
+ private int mCurBrightness = -1;
+
private boolean mRestoredOldState;
// Backlight range is from 0 - 255. Need to make sure that user
@@ -60,6 +62,7 @@
private ContentObserver mBrightnessObserver = new ContentObserver(new Handler()) {
@Override
public void onChange(boolean selfChange) {
+ mCurBrightness = -1;
onBrightnessChanged();
}
};
@@ -135,6 +138,7 @@
: Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
mSeekBar.setProgress(getBrightness());
mSeekBar.setEnabled(!mAutomaticMode);
+ setBrightness(mSeekBar.getProgress(), false);
}
private int getBrightness() {
@@ -145,8 +149,12 @@
Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, 0);
brightness = (brightness+1)/2;
} else {
- brightness = Settings.System.getInt(getContext().getContentResolver(),
- Settings.System.SCREEN_BRIGHTNESS, 100);
+ if (mCurBrightness < 0) {
+ brightness = Settings.System.getInt(getContext().getContentResolver(),
+ Settings.System.SCREEN_BRIGHTNESS, 100);
+ } else {
+ brightness = mCurBrightness;
+ }
brightness = (brightness - mScreenBrightnessDim)
/ (MAXIMUM_BACKLIGHT - mScreenBrightnessDim);
}
@@ -199,6 +207,7 @@
}
setBrightness(mOldBrightness, false);
mRestoredOldState = true;
+ mCurBrightness = -1;
}
private void setBrightness(int brightness, boolean write) {
@@ -229,9 +238,12 @@
power.setBacklightBrightness(brightness);
}
if (write) {
+ mCurBrightness = -1;
final ContentResolver resolver = getContext().getContentResolver();
Settings.System.putInt(resolver,
Settings.System.SCREEN_BRIGHTNESS, brightness);
+ } else {
+ mCurBrightness = brightness;
}
} catch (RemoteException doe) {
}
@@ -255,6 +267,7 @@
myState.progress = mSeekBar.getProgress();
myState.oldAutomatic = mOldAutomatic == 1;
myState.oldProgress = mOldBrightness;
+ myState.curBrightness = mCurBrightness;
// Restore the old state when the activity or dialog is being paused
restoreOldState();
@@ -275,6 +288,7 @@
mOldAutomatic = myState.oldAutomatic ? 1 : 0;
setMode(myState.automatic ? 1 : 0);
setBrightness(myState.progress, false);
+ mCurBrightness = myState.curBrightness;
}
private static class SavedState extends BaseSavedState {
@@ -283,6 +297,7 @@
boolean oldAutomatic;
int progress;
int oldProgress;
+ int curBrightness;
public SavedState(Parcel source) {
super(source);
@@ -290,6 +305,7 @@
progress = source.readInt();
oldAutomatic = source.readInt() == 1;
oldProgress = source.readInt();
+ curBrightness = source.readInt();
}
@Override
@@ -299,6 +315,7 @@
dest.writeInt(progress);
dest.writeInt(oldAutomatic ? 1 : 0);
dest.writeInt(oldProgress);
+ dest.writeInt(curBrightness);
}
public SavedState(Parcelable superState) {
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 6bf4259..2598a0e 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -743,7 +743,9 @@
InputType.TYPE_CLASS_TEXT | (((CheckBox) view).isChecked() ?
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD :
InputType.TYPE_TEXT_VARIATION_PASSWORD));
- ((EditText)mPasswordView).setSelection(pos);
+ if (pos >= 0) {
+ ((EditText)mPasswordView).setSelection(pos);
+ }
} else if (view.getId() == R.id.wifi_advanced_togglebox) {
if (((CheckBox) view).isChecked()) {
mView.findViewById(R.id.wifi_advanced_fields).setVisibility(View.VISIBLE);