Fix bug #12910775 Settings crash after tap on Access Point Names under Mobile networks
- ApnSettings is now a fragment so introduce a new ApnSettingsActivity
- ApsSettingsActivity will use the ApnSettings fragment
- move the getListView() call to onActivityCreated(...) as the ListView
needs to be created before this call can be done.
- add also an alias for the old activity name ".ApsSettings"
Change-Id: Id228722d7f34415d4b036282f0845e28546111df
diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java
index 294d50f..5b71010 100644
--- a/src/com/android/settings/ApnSettings.java
+++ b/src/com/android/settings/ApnSettings.java
@@ -120,13 +120,19 @@
super.onCreate(icicle);
addPreferencesFromResource(R.xml.apn_settings);
- getListView().setItemsCanFocus(true);
mMobileStateFilter = new IntentFilter(
TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
}
@Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+
+ getListView().setItemsCanFocus(true);
+ }
+
+ @Override
public void onResume() {
super.onResume();
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 6bcfbee..4754dad 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -88,5 +88,6 @@
public static class PrintJobSettingsActivity extends SettingsActivity { /* empty */ }
public static class TopLevelSettings extends SettingsActivity { /* empty */ }
+ public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
}
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index a362ee6..af0d8bb 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -278,7 +278,8 @@
PaymentSettings.class.getName(),
KeyboardLayoutPickerFragment.class.getName(),
ChooseAccountFragment.class.getName(),
- DashboardSummary.class.getName()
+ DashboardSummary.class.getName(),
+ ApnSettings.class.getName()
};
private SharedPreferences mDevelopmentPreferences;