diff options
author | Danny Baumann <dannybaumann@web.de> | 2016-01-05 10:37:37 +0100 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2016-01-06 15:17:42 -0800 |
commit | 11236ecf79f1df5fefc4d12564e0a54fecbd6481 (patch) | |
tree | b0001f69e5855ee37210abb70fa1be8d277cec63 /src | |
parent | 507838a671cd2a293dca6732f1b6199c73cef425 (diff) | |
download | packages_apps_Settings-11236ecf79f1df5fefc4d12564e0a54fecbd6481.zip packages_apps_Settings-11236ecf79f1df5fefc4d12564e0a54fecbd6481.tar.gz packages_apps_Settings-11236ecf79f1df5fefc4d12564e0a54fecbd6481.tar.bz2 |
Integrate mobile network settings into SIM settings for MSIM.
Change-Id: I3ab67d0dcb2979d2b527d40642d0c0f5b3e07034
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/settings/SettingsActivity.java | 12 | ||||
-rw-r--r-- | src/com/android/settings/sim/SimSettings.java | 24 |
2 files changed, 28 insertions, 8 deletions
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index e0be0f5..7263832 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -1217,10 +1217,7 @@ public class SettingsActivity extends Activity curBundle = null; } - // Show the SIM Cards setting if there are more than 2 SIMs installed. - if(tile.id != R.id.sim_settings || Utils.showSimCardTile(context)){ - category.addTile(tile); - } + category.addTile(tile); } else if (innerNodeName.equals("external-tiles")) { category.externalIndex = category.getTilesCount(); @@ -1281,7 +1278,12 @@ public class SettingsActivity extends Activity removeTile = true; } } else if (id == R.id.mobile_networks) { - if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { + if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY) + || Utils.showSimCardTile(this)) { + removeTile = true; + } + } else if (id == R.id.sim_settings) { + if (!Utils.showSimCardTile(this)) { removeTile = true; } } else if (id == R.id.data_usage_settings) { diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java index b70cd13..9102e7e 100644 --- a/src/com/android/settings/sim/SimSettings.java +++ b/src/com/android/settings/sim/SimSettings.java @@ -20,6 +20,7 @@ import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; import android.content.BroadcastReceiver; +import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; @@ -84,6 +85,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable private static final String KEY_SMS = "sim_sms"; public static final String EXTRA_SLOT_ID = "slot_id"; private static final String SIM_ACTIVITIES_CATEGORY = "sim_activities"; + private static final String MOBILE_NETWORK_CATEGORY = "mobile_network"; private static final String KEY_PRIMARY_SUB_SELECT = "select_primary_sub"; private IExtTelephony mExtTelephony = IExtTelephony.Stub. @@ -99,6 +101,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable private List<SubscriptionInfo> mSubInfoList = null; private List<SubscriptionInfo> mSelectableSubInfos = null; private PreferenceCategory mSimCards = null; + private PreferenceCategory mMobileNetwork; private SubscriptionManager mSubscriptionManager; private int mNumSlots; private Context mContext; @@ -144,6 +147,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable mPrimarySubSelect = (Preference) findPreference(KEY_PRIMARY_SUB_SELECT); mNumSlots = tm.getSimCount(); mSimCards = (PreferenceCategory)findPreference(SIM_CARD_CATEGORY); + mMobileNetwork = (PreferenceCategory) findPreference(MOBILE_NETWORK_CATEGORY); mAvailableSubInfos = new ArrayList<SubscriptionInfo>(mNumSlots); mSelectableSubInfos = new ArrayList<SubscriptionInfo>(); SimSelectNotification.cancelNotification(getActivity()); @@ -176,6 +180,7 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable mSimCards.removePreference(pref); } } + mMobileNetwork.removeAll(); mAvailableSubInfos.clear(); mSelectableSubInfos.clear(); @@ -189,6 +194,17 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable if (sir != null && (isSubProvisioned(i))) { mSelectableSubInfos.add(sir); } + + Intent mobileNetworkIntent = new Intent(); + mobileNetworkIntent.setComponent(new ComponentName( + "com.android.phone", "com.android.phone.MobileNetworkSettings")); + SubscriptionManager.putPhoneIdAndSubIdExtra(mobileNetworkIntent, + i, sir != null ? sir.getSubscriptionId() : -1); + Preference mobileNetworkPref = new Preference(getActivity()); + mobileNetworkPref.setTitle( + getString(R.string.sim_mobile_network_settings_title, (i + 1))); + mobileNetworkPref.setIntent(mobileNetworkIntent); + mMobileNetwork.addPreference(mobileNetworkPref); } updateAllOptions(); } @@ -311,20 +327,22 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable Intent newIntent = new Intent(context, SimPreferenceDialog.class); newIntent.putExtra(EXTRA_SLOT_ID, ((SimPreference)preference).getSlotId()); startActivity(newIntent); + return true; } else if (findPreference(KEY_CELLULAR_DATA) == preference) { intent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.DATA_PICK); context.startActivity(intent); + return true; } else if (findPreference(KEY_CALLS) == preference) { intent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.CALLS_PICK); context.startActivity(intent); + return true; } else if (findPreference(KEY_SMS) == preference) { intent.putExtra(SimDialogActivity.DIALOG_TYPE_KEY, SimDialogActivity.SMS_PICK); context.startActivity(intent); - } else if (preference == mPrimarySubSelect) { - startActivity(mPrimarySubSelect.getIntent()); + return true; } - return true; + return false; } private void loge(String msg) { if (DBG) Log.e(TAG + "message", msg); |