Merge "Shrink notification history views to fit" into sc-qpr1-dev
diff --git a/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java b/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
index 7826522..d483dd1 100644
--- a/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
+++ b/src/com/android/settings/sim/smartForwarding/DisableSmartForwardingTask.java
@@ -19,6 +19,7 @@
import static com.android.settings.sim.smartForwarding.SmartForwardingUtils.TAG;
import android.telephony.CallForwardingInfo;
+import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
@@ -37,16 +38,29 @@
@Override
public void run() {
for (int i = 0; i < tm.getActiveModemCount(); i++) {
- if (callWaitingStatus != null) {
+ int subId = getSubId(i);
+ if (callWaitingStatus != null
+ && subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
Log.d(TAG, "Restore call waiting to " + callWaitingStatus[i]);
- tm.setCallWaitingEnabled(callWaitingStatus[i], null, null);
+ tm.createForSubscriptionId(subId)
+ .setCallWaitingEnabled(callWaitingStatus[i], null, null);
}
if (callForwardingInfo != null
- && callForwardingInfo[i] != null) {
+ && callForwardingInfo[i] != null
+ && subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
Log.d(TAG, "Restore call forwarding to " + callForwardingInfo[i]);
- tm.setCallForwarding(callForwardingInfo[i], null, null);
+ tm.createForSubscriptionId(subId)
+ .setCallForwarding(callForwardingInfo[i], null, null);
}
}
}
+
+ private int getSubId(int slotIndex) {
+ int[] subId = SubscriptionManager.getSubId(slotIndex);
+ if (subId != null && subId.length > 0) {
+ return subId[0];
+ }
+ return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+ }
}