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;
+    }
 }