Add MSIM support for Call Forwarding.
+ Set subcription info dynamically on intents to open
GsmUmtsCallForwardOptions and GsmUmtsAdditionalCallOptions.
+ Allow phone to be set on initialization for the preferences
used in those settings.
Bug: 18114923
Bug: 18233808
Bug: 18233614
Change-Id: I79a708872ea57ff9ba7a52a61835204caf156733
diff --git a/src/com/android/phone/GsmUmtsAdditionalCallOptions.java b/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
index cd400f9..0540547 100644
--- a/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
+++ b/src/com/android/phone/GsmUmtsAdditionalCallOptions.java
@@ -8,10 +8,11 @@
import android.util.Log;
import android.view.MenuItem;
+import com.android.internal.telephony.Phone;
+
import java.util.ArrayList;
-public class GsmUmtsAdditionalCallOptions extends
- TimeConsumingPreferenceActivity {
+public class GsmUmtsAdditionalCallOptions extends TimeConsumingPreferenceActivity {
private static final String LOG_TAG = "GsmUmtsAdditionalCallOptions";
private final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
@@ -22,7 +23,8 @@
private CallWaitingCheckBoxPreference mCWButton;
private final ArrayList<Preference> mPreferences = new ArrayList<Preference>();
- private int mInitIndex= 0;
+ private int mInitIndex = 0;
+ private Phone mPhone;
@Override
protected void onCreate(Bundle icicle) {
@@ -30,6 +32,11 @@
addPreferencesFromResource(R.xml.gsm_umts_additional_options);
+ SubscriptionInfoHelper subscriptionInfoHelper = new SubscriptionInfoHelper(getIntent());
+ subscriptionInfoHelper.setActionBarTitle(
+ getActionBar(), getResources(), R.string.additional_gsm_call_settings_with_label);
+ mPhone = subscriptionInfoHelper.getPhone();
+
PreferenceScreen prefSet = getPreferenceScreen();
mCLIRButton = (CLIRListPreference) prefSet.findPreference(BUTTON_CLIR_KEY);
mCWButton = (CallWaitingCheckBoxPreference) prefSet.findPreference(BUTTON_CW_KEY);
@@ -39,19 +46,19 @@
if (icicle == null) {
if (DBG) Log.d(LOG_TAG, "start to init ");
- mCLIRButton.init(this, false);
+ mCLIRButton.init(this, false, mPhone);
} else {
if (DBG) Log.d(LOG_TAG, "restore stored states");
mInitIndex = mPreferences.size();
- mCLIRButton.init(this, true);
- mCWButton.init(this, true);
+ mCLIRButton.init(this, true, mPhone);
+ mCWButton.init(this, true, mPhone);
int[] clirArray = icicle.getIntArray(mCLIRButton.getKey());
if (clirArray != null) {
if (DBG) Log.d(LOG_TAG, "onCreate: clirArray[0]="
+ clirArray[0] + ", clirArray[1]=" + clirArray[1]);
mCLIRButton.handleGetCLIRResult(clirArray);
} else {
- mCLIRButton.init(this, false);
+ mCLIRButton.init(this, false, mPhone);
}
}
@@ -77,7 +84,7 @@
mInitIndex++;
Preference pref = mPreferences.get(mInitIndex);
if (pref instanceof CallWaitingCheckBoxPreference) {
- ((CallWaitingCheckBoxPreference) pref).init(this, false);
+ ((CallWaitingCheckBoxPreference) pref).init(this, false, mPhone);
}
}
super.onFinished(preference, reading);