summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/messaging/ui/conversation/ComposeMessageView.java16
-rwxr-xr-xsrc/com/cyanogenmod/messaging/quickmessage/QuickMessagePopup.java16
2 files changed, 30 insertions, 2 deletions
diff --git a/src/com/android/messaging/ui/conversation/ComposeMessageView.java b/src/com/android/messaging/ui/conversation/ComposeMessageView.java
index cb6562f..ae1bbec 100644
--- a/src/com/android/messaging/ui/conversation/ComposeMessageView.java
+++ b/src/com/android/messaging/ui/conversation/ComposeMessageView.java
@@ -87,6 +87,7 @@ import com.cyanogenmod.messaging.util.PrefsUtils;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Iterator;
import java.util.List;
/**
@@ -244,7 +245,20 @@ public class ComposeMessageView extends LinearLayout
@Override
public void onPhoneAccountSelected(PhoneAccountHandle selectedAccountHandle,
boolean setDefault) {
- cb.onSimSelected(Integer.valueOf(selectedAccountHandle.getId()));
+ // we need the subId and we only have a PhoneAccountHandle
+ TelephonyManager telephonyManager =
+ (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ Iterator<PhoneAccountHandle> phoneAccounts =
+ telecomMgr.getCallCapablePhoneAccounts().listIterator();
+ int subId = 0; // defaulting to 0, just in case
+ while (phoneAccounts.hasNext()) {
+ PhoneAccountHandle p = phoneAccounts.next();
+ if (p.getId() == selectedAccountHandle.getId()) {
+ PhoneAccount phoneAccount = telecomMgr.getPhoneAccount(p);
+ subId = telephonyManager.getSubIdForPhoneAccount(phoneAccount);
+ }
+ }
+ cb.onSimSelected(subId);
}
@Override
public void onDialogDismissed() {
diff --git a/src/com/cyanogenmod/messaging/quickmessage/QuickMessagePopup.java b/src/com/cyanogenmod/messaging/quickmessage/QuickMessagePopup.java
index 6c4af67..0bf8b7f 100755
--- a/src/com/cyanogenmod/messaging/quickmessage/QuickMessagePopup.java
+++ b/src/com/cyanogenmod/messaging/quickmessage/QuickMessagePopup.java
@@ -62,6 +62,7 @@ import com.cyanogenmod.messaging.ui.QuickMessageView;
import com.cyanogenmod.messaging.util.PrefsUtils;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
public class QuickMessagePopup extends Activity {
@@ -401,7 +402,20 @@ public class QuickMessagePopup extends Activity {
@Override
public void onPhoneAccountSelected(PhoneAccountHandle selectedAccountHandle,
boolean setDefault) {
- cb.onSimSelected(Integer.valueOf(selectedAccountHandle.getId()));
+ // we need the subId and we only have a PhoneAccountHandle
+ TelephonyManager telephonyManager =
+ (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+ Iterator<PhoneAccountHandle> phoneAccounts =
+ telecomMgr.getCallCapablePhoneAccounts().listIterator();
+ int subId = 0; // defaulting to 0, just in case
+ while (phoneAccounts.hasNext()) {
+ PhoneAccountHandle p = phoneAccounts.next();
+ if (p.getId() == selectedAccountHandle.getId()) {
+ PhoneAccount phoneAccount = telecomMgr.getPhoneAccount(p);
+ subId = telephonyManager.getSubIdForPhoneAccount(phoneAccount);
+ }
+ }
+ cb.onSimSelected(subId);
}
@Override
public void onDialogDismissed() {