Merge "Make voicemail vibrate/ringtone MSIM-aware." into lmp-mr1-dev
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index 18a4036..06c6108 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -343,10 +343,13 @@
// Update HAC Value in AudioManager
mAudioManager.setParameter(HAC_KEY, hac != 0 ? HAC_VAL_ON : HAC_VAL_OFF);
return true;
- } else if (preference == mVoicemailSettings) {
+ } else if (preference.getKey().equals(mVoicemailSettings.getKey())) {
+ // Check key instead of comparing reference because closing the voicemail notification
+ // ringtone dialog invokes onResume(), but leaves the old preference screen up,
+ // TODO: Revert to checking reference after migrating voicemail to its own activity.
if (DBG) log("onPreferenceTreeClick: Voicemail Settings Preference is clicked.");
- final Dialog dialog = mVoicemailSettings.getDialog();
+ final Dialog dialog = ((PreferenceScreen) preference).getDialog();
if (dialog != null) {
dialog.getActionBar().setDisplayHomeAsUpEnabled(false);
}
@@ -421,6 +424,9 @@
saveVoiceMailAndForwardingNumber(newProviderKey, newProviderSettings);
}
} else if (preference.getKey().equals(mVoicemailNotificationVibrate.getKey())) {
+ // Check key instead of comparing reference because closing the voicemail notification
+ // ringtone dialog invokes onResume(), but leaves the old preference screen up,
+ // TODO: Revert to checking reference after migrating voicemail to its own activity.
VoicemailNotificationSettingsUtil.setVibrationEnabled(
mPhone, Boolean.TRUE.equals(objValue));
} else if (preference == mEnableVideoCalling) {
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 0deefd2..d83f10d 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -22,22 +22,16 @@
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
-import android.content.pm.Signature;
-import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.AsyncResult;
import android.os.Binder;
import android.os.Bundle;
import android.os.Handler;
-import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.Process;
-import android.os.RemoteException;
import android.os.ServiceManager;
-import android.os.SystemProperties;
import android.os.UserHandle;
import android.preference.PreferenceManager;
import android.provider.Settings;
@@ -46,7 +40,6 @@
import android.telephony.NeighboringCellInfo;
import android.telephony.RadioAccessFamily;
import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
import android.telephony.SubscriptionInfo;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -56,36 +49,24 @@
import com.android.ims.ImsManager;
import com.android.internal.telephony.CallManager;
import com.android.internal.telephony.CommandException;
-import com.android.internal.telephony.Connection;
import com.android.internal.telephony.DefaultPhoneNotifier;
import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.IccCard;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
-import com.android.internal.telephony.PhoneProxy;
import com.android.internal.telephony.ProxyController;
-import com.android.internal.telephony.CallManager;
-import com.android.internal.telephony.CommandException;
import com.android.internal.telephony.PhoneConstants;
-import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.telephony.dataconnection.DctController;
-import com.android.internal.telephony.uicc.AdnRecord;
+import com.android.internal.telephony.SubscriptionController;
import com.android.internal.telephony.uicc.IccIoResult;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.telephony.uicc.UiccCard;
-import com.android.internal.telephony.uicc.UiccCarrierPrivilegeRules;
import com.android.internal.telephony.uicc.UiccController;
import com.android.internal.util.HexDump;
import static com.android.internal.telephony.PhoneConstants.SUBSCRIPTION_KEY;
import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
-import java.util.Map;
-import java.util.Set;
/**
* Implementation of the ITelephony interface.
@@ -138,7 +119,7 @@
private CallManager mCM;
private AppOpsManager mAppOps;
private MainThreadHandler mMainThreadHandler;
- private SubscriptionManager mSubscriptionManager;
+ private SubscriptionController mSubscriptionController;
private SharedPreferences mTelephonySharedPreferences;
private static final String PREF_CARRIERS_ALPHATAG_PREFIX = "carrier_alphtag_";
@@ -727,7 +708,7 @@
mMainThreadHandler = new MainThreadHandler();
mTelephonySharedPreferences =
PreferenceManager.getDefaultSharedPreferences(mPhone.getContext());
- mSubscriptionManager = SubscriptionManager.from(app);
+ mSubscriptionController = SubscriptionController.getInstance();
publish();
}
@@ -740,7 +721,7 @@
// returns phone associated with the subId.
private Phone getPhone(int subId) {
- return PhoneFactory.getPhone(SubscriptionManager.getPhoneId(subId));
+ return PhoneFactory.getPhone(mSubscriptionController.getPhoneId(subId));
}
//
// Implementation of the ITelephony interface.
@@ -793,7 +774,7 @@
}
boolean isValid = false;
- List<SubscriptionInfo> slist = mSubscriptionManager.getActiveSubscriptionInfoList();
+ List<SubscriptionInfo> slist = mSubscriptionController.getActiveSubscriptionInfoList();
if (slist != null) {
for (SubscriptionInfo subInfoRecord : slist) {
if (subInfoRecord.getSubscriptionId() == subId) {
@@ -1141,7 +1122,7 @@
// FIXME: subId version needed
public boolean enableDataConnectivity() {
enforceModifyPermission();
- int subId = SubscriptionManager.getDefaultDataSubId();
+ int subId = mSubscriptionController.getDefaultDataSubId();
getPhone(subId).setDataEnabled(true);
return true;
}
@@ -1149,14 +1130,14 @@
// FIXME: subId version needed
public boolean disableDataConnectivity() {
enforceModifyPermission();
- int subId = SubscriptionManager.getDefaultDataSubId();
+ int subId = mSubscriptionController.getDefaultDataSubId();
getPhone(subId).setDataEnabled(false);
return true;
}
// FIXME: subId version needed
public boolean isDataConnectivityPossible() {
- int subId = SubscriptionManager.getDefaultDataSubId();
+ int subId = mSubscriptionController.getDefaultDataSubId();
return getPhone(subId).isDataConnectivityPossible();
}
@@ -1178,12 +1159,12 @@
}
public int getDataState() {
- Phone phone = getPhone(SubscriptionManager.getDefaultDataSubId());
+ Phone phone = getPhone(mSubscriptionController.getDefaultDataSubId());
return DefaultPhoneNotifier.convertDataState(phone.getDataConnectionState());
}
public int getDataActivity() {
- Phone phone = getPhone(SubscriptionManager.getDefaultDataSubId());
+ Phone phone = getPhone(mSubscriptionController.getDefaultDataSubId());
return DefaultPhoneNotifier.convertDataActivityState(phone.getDataActivityState());
}
@@ -1612,11 +1593,11 @@
* Returns Default subId, 0 in the case of single standby.
*/
private int getDefaultSubscription() {
- return SubscriptionManager.getDefaultSubId();
+ return mSubscriptionController.getDefaultSubId();
}
private int getPreferredVoiceSubscription() {
- return SubscriptionManager.getDefaultVoiceSubId();
+ return mSubscriptionController.getDefaultVoiceSubId();
}
/**
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 43f8651..46bad01 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -377,8 +377,8 @@
private boolean isOriginalConnectionKnown(
com.android.internal.telephony.Connection originalConnection) {
for (Connection connection : getAllConnections()) {
- TelephonyConnection telephonyConnection = (TelephonyConnection) connection;
if (connection instanceof TelephonyConnection) {
+ TelephonyConnection telephonyConnection = (TelephonyConnection) connection;
if (telephonyConnection.getOriginalConnection() == originalConnection) {
return true;
}