summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2014-10-25 03:42:15 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-10-25 03:42:15 +0000
commit4ce7ad5d47105cf2cca8743d300ff6a13ba9517e (patch)
tree8d5b1de634fc421e1aff465b997ebb4ca9582b19
parente50e512e556d0d6b6e464dca93b5232bf1247d01 (diff)
parent6b7f0a0bcccecab87a4c49cdeb6a870a59c40e47 (diff)
am 6b7f0a0b: am 5847b667: am f1621a2f: Show phone account settings for multiple sims.
* commit '6b7f0a0bcccecab87a4c49cdeb6a870a59c40e47': Show phone account settings for multiple sims.
-rw-r--r--res/values/strings.xml9
-rw-r--r--src/com/android/dialer/settings/DialerSettingsActivity.java31
2 files changed, 32 insertions, 8 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml
index beb7fe209..7a88b98cb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -804,10 +804,15 @@
<!-- Title of settings screen for managing the "Respond via SMS" feature. [CHAR LIMIT=30] -->
<string name="respond_via_sms_setting_title">Quick responses</string>
- <!-- Label for the call settings section [CHAR LIMIT=30]-->
+ <!-- Label for the call settings section [CHAR LIMIT=30] -->
<string name="call_settings_label">Call settings</string>
- <!-- Label for the call settings section description [CHAR LIMIT=80]-->
+ <!-- Label for the call settings section description [CHAR LIMIT=80] -->
<string name="call_settings_description">Voicemail, call waiting, and others</string>
+ <!-- Label for the phone account settings [CHAR LIMIT=30] -->
+ <string name="phone_account_settings_label">Phone account settings</string>
+
+ <!-- Label for the phone account settings description [CHAR LIMIT=80] -->
+ <string name="phone_account_settings_description">Manage SIM and call settings</string>
</resources>
diff --git a/src/com/android/dialer/settings/DialerSettingsActivity.java b/src/com/android/dialer/settings/DialerSettingsActivity.java
index 7d80ac390..43186664e 100644
--- a/src/com/android/dialer/settings/DialerSettingsActivity.java
+++ b/src/com/android/dialer/settings/DialerSettingsActivity.java
@@ -3,11 +3,15 @@ package com.android.dialer.settings;
import com.google.common.collect.Lists;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.PreferenceManager;
+import android.preference.PreferenceActivity.Header;
+import android.telecom.TelecomManager;
+import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.MenuItem;
@@ -45,13 +49,28 @@ public class DialerSettingsActivity extends AnalyticsPreferenceActivity {
generalSettingsHeader.fragment = GeneralSettingsFragment.class.getName();
target.add(generalSettingsHeader);
- // Only add the call settings header if the current user is the primary/owner user.
+ // Only show call setting menus if the current user is the primary/owner user.
if (isPrimaryUser()) {
- final Header callSettingHeader = new Header();
- callSettingHeader.titleRes = R.string.call_settings_label;
- callSettingHeader.summaryRes = R.string.call_settings_description;
- callSettingHeader.intent = DialtactsActivity.getCallSettingsIntent();
- target.add(callSettingHeader);
+ final TelephonyManager telephonyManager =
+ (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
+ // Show "Call Settings" if there is one SIM and "Phone Accounts" if there are more.
+ if (telephonyManager.getPhoneCount() <= 1) {
+ final Header callSettingsHeader = new Header();
+ callSettingsHeader.titleRes = R.string.call_settings_label;
+ callSettingsHeader.summaryRes = R.string.call_settings_description;
+ callSettingsHeader.intent = DialtactsActivity.getCallSettingsIntent();
+ target.add(callSettingsHeader);
+ } else {
+ final Header phoneAccountSettingsHeader = new Header();
+ final Intent phoneAccountSettingsIntent =
+ new Intent(TelecomManager.ACTION_CHANGE_PHONE_ACCOUNTS);
+ phoneAccountSettingsIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+
+ phoneAccountSettingsHeader.titleRes = R.string.phone_account_settings_label;
+ phoneAccountSettingsHeader.summaryRes = R.string.phone_account_settings_description;
+ phoneAccountSettingsHeader.intent = phoneAccountSettingsIntent;
+ target.add(phoneAccountSettingsHeader);
+ }
}
}