<NumberPicker
android:id="@+id/bytes"
- android:layout_width="48dip"
+ android:layout_width="wrap_content"
+ android:minWidth="48dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="16dip"
<!-- Hint shown in dialog screen when password is too short -->
<string name="lockpassword_password_too_short">Password must be at least %d characters</string>
<!-- Hint shown in dialog screen when PIN is too short -->
- <string name="lockpassword_pin_too_short">PIN must be at least %d characters</string>
+ <string name="lockpassword_pin_too_short">PIN must be at least %d digits</string>
<!-- Hint shown after minimum password criteria is met -->
<string name="lockpassword_press_continue">Touch Continue when done</string>
ar= (AsyncResult) msg.obj;
if (ar.exception == null) {
int type = ((int[])ar.result)[0];
+ if (type >= mPreferredNetworkLabels.length) {
+ Log.e(TAG, "[RadioInfo] EVENT_QUERY_PREFERRED_TYPE_DONE: unknown " +
+ "type=" + type);
+ type = mPreferredNetworkLabels.length - 1;
+ }
preferredNetworkType.setSelection(type, true);
} else {
- preferredNetworkType.setSelection(8, true);
+ preferredNetworkType.setSelection(mPreferredNetworkLabels.length - 1, true);
}
break;
case EVENT_SET_PREFERRED_TYPE_DONE:
mPreferredNetworkHandler = new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView parent, View v, int pos, long id) {
Message msg = mHandler.obtainMessage(EVENT_SET_PREFERRED_TYPE_DONE);
- if (pos>=0 && pos<=7) { //IS THIS NEEDED to extend to the entire range of values
+ if (pos>=0 && pos<=(mPreferredNetworkLabels.length - 2)) {
phone.setPreferredNetworkType(pos, msg);
}
}
"CDMA only",
"EvDo only",
"GSM/CDMA auto (PRL)",
+ "LTE/CDMA auto (PRL)",
+ "LTE/GSM auto (PRL)",
+ "LTE/GSM/CDMA auto (PRL)",
+ "LTE only",
"Unknown"};
}
// Did not find a matching activity, so remove the preference
parentPreferenceGroup.removePreference(preference);
- return true;
+ return false;
}
/**
private Account[] mAccounts;
private ArrayList<SyncStateCheckBoxPreference> mCheckBoxes =
new ArrayList<SyncStateCheckBoxPreference>();
- private ArrayList<String> mInvisibleAdapters = Lists.newArrayList();
+ private ArrayList<SyncAdapterType> mInvisibleAdapters = Lists.newArrayList();
@Override
public Dialog onCreateDialog(final int id) {
}
// plus whatever the system needs to sync, e.g., invisible sync adapters
if (mAccount != null) {
- for (String authority : mInvisibleAdapters) {
- requestOrCancelSync(mAccount, authority, startSync);
+ for (SyncAdapterType syncAdapter : mInvisibleAdapters) {
+ // invisible sync adapters' account type should be same as current account type
+ if (syncAdapter.accountType.equals(mAccount.type)) {
+ requestOrCancelSync(mAccount, syncAdapter.authority, startSync);
+ }
}
}
}
} else {
// keep track of invisible sync adapters, so sync now forces
// them to sync as well.
- mInvisibleAdapters.add(sa.authority);
+ mInvisibleAdapters.add(sa);
}
}
private Preference mSignalStrength;
private Preference mUptime;
- private static String sUnknown;
+ private String sUnknown;
private Preference mBatteryStatus;
private Preference mBatteryLevel;
mBatteryStatus = findPreference(KEY_BATTERY_STATUS);
mRes = getResources();
- if (sUnknown == null) {
- sUnknown = mRes.getString(R.string.device_info_default);
- }
+ sUnknown = mRes.getString(R.string.device_info_default);
mPhone = PhoneFactory.getDefaultPhone();
// Note - missing in zaku build, be careful later...
public void onResume() {
super.onResume();
+ mSettingsObserver.resume();
mIm.registerInputDeviceListener(this, null);
if (!mIsOnlyImeSettings) {
super.onPause();
mIm.unregisterInputDeviceListener(this);
+ mSettingsObserver.pause();
if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
mShowInputMethodSelectorPref.setOnPreferenceChangeListener(null);
}
private class SettingsObserver extends ContentObserver {
+ private Context mContext;
+
public SettingsObserver(Handler handler, Context context) {
super(handler);
- final ContentResolver cr = context.getContentResolver();
+ mContext = context;
+ }
+
+ @Override public void onChange(boolean selfChange) {
+ updateCurrentImeName();
+ }
+
+ public void resume() {
+ final ContentResolver cr = mContext.getContentResolver();
cr.registerContentObserver(
Settings.Secure.getUriFor(Settings.Secure.DEFAULT_INPUT_METHOD), false, this);
cr.registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE), false, this);
}
- @Override public void onChange(boolean selfChange) {
- updateCurrentImeName();
+ public void pause() {
+ mContext.getContentResolver().unregisterContentObserver(this);
}
}
}