Fix bug #12979102 Menu (Reset to default) and Add icon missing in APNs

- revert the changes on the ApnSettings to be again an Activity...

Change-Id: I7a12e25456f0a0df0f7618183f49fd8db10a5441
This commit is contained in:
Fabrice Di Meglio
2014-02-11 19:03:27 -08:00
parent 710e309951
commit e6c9a5da01
4 changed files with 26 additions and 40 deletions

View File

@@ -259,7 +259,7 @@
</intent-filter> </intent-filter>
</activity-alias> </activity-alias>
<activity android:name="Settings$ApnSettingsActivity" <activity android:name="ApnSettings"
android:label="@string/apn_settings" android:label="@string/apn_settings"
android:configChanges="orientation|keyboardHidden|screenSize" android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTask" android:launchMode="singleTask"
@@ -270,21 +270,8 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" /> <category android:name="android.intent.category.VOICE_LAUNCH" />
</intent-filter> </intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.ApnSettings" />
</activity> </activity>
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name=".ApnSettings"
android:label="@string/apn_settings"
android:configChanges="orientation|keyboardHidden|screenSize"
android:launchMode="singleTask"
android:exported="true"
android:targetActivity="Settings$ApnSettingsActivity">
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.ApnSettings" />
</activity-alias>
<activity android:name="Settings$BluetoothSettingsActivity" <activity android:name="Settings$BluetoothSettingsActivity"
android:uiOptions="splitActionBarWhenNarrow" android:uiOptions="splitActionBarWhenNarrow"
android:label="@string/bluetooth_settings_title" android:label="@string/bluetooth_settings_title"

View File

@@ -33,12 +33,12 @@ import android.os.HandlerThread;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup; import android.preference.PreferenceGroup;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.provider.Telephony; import android.provider.Telephony;
import android.util.Log; import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.widget.Toast; import android.widget.Toast;
@@ -49,7 +49,7 @@ import com.android.internal.telephony.TelephonyProperties;
import java.util.ArrayList; import java.util.ArrayList;
public class ApnSettings extends SettingsPreferenceFragment implements public class ApnSettings extends PreferenceActivity implements
Preference.OnPreferenceChangeListener { Preference.OnPreferenceChangeListener {
static final String TAG = "ApnSettings"; static final String TAG = "ApnSettings";
@@ -116,27 +116,21 @@ public class ApnSettings extends SettingsPreferenceFragment implements
} }
@Override @Override
public void onCreate(Bundle icicle) { protected void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
addPreferencesFromResource(R.xml.apn_settings); addPreferencesFromResource(R.xml.apn_settings);
getListView().setItemsCanFocus(true);
mMobileStateFilter = new IntentFilter( mMobileStateFilter = new IntentFilter(
TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED); TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
} }
@Override @Override
public void onActivityCreated(Bundle savedInstanceState) { protected void onResume() {
super.onActivityCreated(savedInstanceState);
getListView().setItemsCanFocus(true);
}
@Override
public void onResume() {
super.onResume(); super.onResume();
getActivity().registerReceiver(mMobileStateReceiver, mMobileStateFilter); registerReceiver(mMobileStateReceiver, mMobileStateFilter);
if (!mRestoreDefaultApnMode) { if (!mRestoreDefaultApnMode) {
fillList(); fillList();
@@ -146,14 +140,14 @@ public class ApnSettings extends SettingsPreferenceFragment implements
} }
@Override @Override
public void onPause() { protected void onPause() {
super.onPause(); super.onPause();
getActivity().unregisterReceiver(mMobileStateReceiver); unregisterReceiver(mMobileStateReceiver);
} }
@Override @Override
public void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
if (mRestoreDefaultApnThread != null) { if (mRestoreDefaultApnThread != null) {
@@ -184,7 +178,7 @@ public class ApnSettings extends SettingsPreferenceFragment implements
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(getActivity()); ApnPreference pref = new ApnPreference(this);
pref.setKey(key); pref.setKey(key);
pref.setTitle(name); pref.setTitle(name);
@@ -213,8 +207,8 @@ public class ApnSettings extends SettingsPreferenceFragment implements
} }
@Override @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu, inflater); super.onCreateOptionsMenu(menu);
menu.add(0, MENU_NEW, 0, menu.add(0, MENU_NEW, 0,
getResources().getString(R.string.menu_new)) getResources().getString(R.string.menu_new))
.setIcon(android.R.drawable.ic_menu_add) .setIcon(android.R.drawable.ic_menu_add)
@@ -222,6 +216,7 @@ public class ApnSettings extends SettingsPreferenceFragment implements
menu.add(0, MENU_RESTORE, 0, menu.add(0, MENU_RESTORE, 0,
getResources().getString(R.string.menu_restore)) getResources().getString(R.string.menu_restore))
.setIcon(android.R.drawable.ic_menu_upload); .setIcon(android.R.drawable.ic_menu_upload);
return true;
} }
@Override @Override
@@ -313,9 +308,9 @@ public class ApnSettings extends SettingsPreferenceFragment implements
fillList(); fillList();
getPreferenceScreen().setEnabled(true); getPreferenceScreen().setEnabled(true);
mRestoreDefaultApnMode = false; mRestoreDefaultApnMode = false;
removeDialog(DIALOG_RESTORE_DEFAULTAPN); dismissDialog(DIALOG_RESTORE_DEFAULTAPN);
Toast.makeText( Toast.makeText(
getActivity(), ApnSettings.this,
getResources().getString( getResources().getString(
R.string.restore_default_apn_completed), R.string.restore_default_apn_completed),
Toast.LENGTH_LONG).show(); Toast.LENGTH_LONG).show();
@@ -346,14 +341,20 @@ public class ApnSettings extends SettingsPreferenceFragment implements
} }
@Override @Override
public Dialog onCreateDialog(int id) { protected Dialog onCreateDialog(int id) {
if (id == DIALOG_RESTORE_DEFAULTAPN) { if (id == DIALOG_RESTORE_DEFAULTAPN) {
getPreferenceScreen().setEnabled(false); ProgressDialog dialog = new ProgressDialog(this);
ProgressDialog dialog = new ProgressDialog(getActivity());
dialog.setMessage(getResources().getString(R.string.restore_default_apn)); dialog.setMessage(getResources().getString(R.string.restore_default_apn));
dialog.setCancelable(false); dialog.setCancelable(false);
return dialog; return dialog;
} }
return null; return null;
} }
@Override
protected void onPrepareDialog(int id, Dialog dialog) {
if (id == DIALOG_RESTORE_DEFAULTAPN) {
getPreferenceScreen().setEnabled(false);
}
}
} }

View File

@@ -88,6 +88,5 @@ public class Settings extends SettingsActivity {
public static class PrintJobSettingsActivity extends SettingsActivity { /* empty */ } public static class PrintJobSettingsActivity extends SettingsActivity { /* empty */ }
public static class TopLevelSettings extends SettingsActivity { /* empty */ } public static class TopLevelSettings extends SettingsActivity { /* empty */ }
public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
} }

View File

@@ -277,8 +277,7 @@ public class SettingsActivity extends Activity
PaymentSettings.class.getName(), PaymentSettings.class.getName(),
KeyboardLayoutPickerFragment.class.getName(), KeyboardLayoutPickerFragment.class.getName(),
ChooseAccountFragment.class.getName(), ChooseAccountFragment.class.getName(),
DashboardSummary.class.getName(), DashboardSummary.class.getName()
ApnSettings.class.getName()
}; };
private SharedPreferences mDevelopmentPreferences; private SharedPreferences mDevelopmentPreferences;