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