summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2016-01-05 10:37:37 +0100
committerAdnan Begovic <adnan@cyngn.com>2016-01-06 15:17:42 -0800
commit11236ecf79f1df5fefc4d12564e0a54fecbd6481 (patch)
treeb0001f69e5855ee37210abb70fa1be8d277cec63 /src
parent507838a671cd2a293dca6732f1b6199c73cef425 (diff)
downloadpackages_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.java12
-rw-r--r--src/com/android/settings/sim/SimSettings.java24
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);