Merge "avoid stopping app in case of accessing empty db"
This commit is contained in:
@@ -164,43 +164,45 @@ public class ApnSettings extends PreferenceActivity implements
|
|||||||
"_id", "name", "apn", "type"}, where, null,
|
"_id", "name", "apn", "type"}, where, null,
|
||||||
Telephony.Carriers.DEFAULT_SORT_ORDER);
|
Telephony.Carriers.DEFAULT_SORT_ORDER);
|
||||||
|
|
||||||
PreferenceGroup apnList = (PreferenceGroup) findPreference("apn_list");
|
if (cursor != null) {
|
||||||
apnList.removeAll();
|
PreferenceGroup apnList = (PreferenceGroup) findPreference("apn_list");
|
||||||
|
apnList.removeAll();
|
||||||
|
|
||||||
ArrayList<Preference> mmsApnList = new ArrayList<Preference>();
|
ArrayList<Preference> mmsApnList = new ArrayList<Preference>();
|
||||||
|
|
||||||
mSelectedKey = getSelectedApnKey();
|
mSelectedKey = getSelectedApnKey();
|
||||||
cursor.moveToFirst();
|
cursor.moveToFirst();
|
||||||
while (!cursor.isAfterLast()) {
|
while (!cursor.isAfterLast()) {
|
||||||
String name = cursor.getString(NAME_INDEX);
|
String name = cursor.getString(NAME_INDEX);
|
||||||
String apn = cursor.getString(APN_INDEX);
|
String apn = cursor.getString(APN_INDEX);
|
||||||
String key = cursor.getString(ID_INDEX);
|
String key = cursor.getString(ID_INDEX);
|
||||||
String type = cursor.getString(TYPES_INDEX);
|
String type = cursor.getString(TYPES_INDEX);
|
||||||
|
|
||||||
ApnPreference pref = new ApnPreference(this);
|
ApnPreference pref = new ApnPreference(this);
|
||||||
|
|
||||||
pref.setKey(key);
|
pref.setKey(key);
|
||||||
pref.setTitle(name);
|
pref.setTitle(name);
|
||||||
pref.setSummary(apn);
|
pref.setSummary(apn);
|
||||||
pref.setPersistent(false);
|
pref.setPersistent(false);
|
||||||
pref.setOnPreferenceChangeListener(this);
|
pref.setOnPreferenceChangeListener(this);
|
||||||
|
|
||||||
boolean selectable = ((type == null) || !type.equals("mms"));
|
boolean selectable = ((type == null) || !type.equals("mms"));
|
||||||
pref.setSelectable(selectable);
|
pref.setSelectable(selectable);
|
||||||
if (selectable) {
|
if (selectable) {
|
||||||
if ((mSelectedKey != null) && mSelectedKey.equals(key)) {
|
if ((mSelectedKey != null) && mSelectedKey.equals(key)) {
|
||||||
pref.setChecked();
|
pref.setChecked();
|
||||||
|
}
|
||||||
|
apnList.addPreference(pref);
|
||||||
|
} else {
|
||||||
|
mmsApnList.add(pref);
|
||||||
}
|
}
|
||||||
apnList.addPreference(pref);
|
cursor.moveToNext();
|
||||||
} else {
|
|
||||||
mmsApnList.add(pref);
|
|
||||||
}
|
}
|
||||||
cursor.moveToNext();
|
cursor.close();
|
||||||
}
|
|
||||||
cursor.close();
|
|
||||||
|
|
||||||
for (Preference preference : mmsApnList) {
|
for (Preference preference : mmsApnList) {
|
||||||
apnList.addPreference(preference);
|
apnList.addPreference(preference);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -330,7 +332,7 @@ public class ApnSettings extends PreferenceActivity implements
|
|||||||
switch (msg.what) {
|
switch (msg.what) {
|
||||||
case EVENT_RESTORE_DEFAULTAPN_START:
|
case EVENT_RESTORE_DEFAULTAPN_START:
|
||||||
ContentResolver resolver = getContentResolver();
|
ContentResolver resolver = getContentResolver();
|
||||||
resolver.delete(DEFAULTAPN_URI, null, null);
|
resolver.delete(DEFAULTAPN_URI, null, null);
|
||||||
mRestoreApnUiHandler
|
mRestoreApnUiHandler
|
||||||
.sendEmptyMessage(EVENT_RESTORE_DEFAULTAPN_COMPLETE);
|
.sendEmptyMessage(EVENT_RESTORE_DEFAULTAPN_COMPLETE);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user