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;