summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/messaging/datamodel/data/ConversationData.java10
-rw-r--r--src/com/android/messaging/ui/conversation/ComposeMessageView.java6
-rw-r--r--src/com/android/messaging/util/PhoneUtils.java14
3 files changed, 18 insertions, 12 deletions
diff --git a/src/com/android/messaging/datamodel/data/ConversationData.java b/src/com/android/messaging/datamodel/data/ConversationData.java
index 71bd167..06a8260 100644
--- a/src/com/android/messaging/datamodel/data/ConversationData.java
+++ b/src/com/android/messaging/datamodel/data/ConversationData.java
@@ -69,8 +69,6 @@ public class ConversationData extends BindableData {
private static final long LAST_MESSAGE_TIMESTAMP_NaN = -1;
private static final int MESSAGE_COUNT_NaN = -1;
- private static int mOverrideSubId = -1;
-
/**
* Takes a conversation id and a list of message ids and computes the positions
* for each message.
@@ -592,10 +590,6 @@ public class ConversationData extends BindableData {
return mParticipantData.isLoaded();
}
- public void setOverrideSendingSubId(int subId) {
- mOverrideSubId = subId;
- }
-
public void sendMessage(final BindingBase<ConversationData> binding,
final MessageData message) {
Assert.isTrue(TextUtils.equals(mConversationId, message.getConversationId()));
@@ -605,8 +599,8 @@ public class ConversationData extends BindableData {
InsertNewMessageAction.insertNewMessage(message);
} else {
final int systemDefaultSubId = PhoneUtils.getDefault().getDefaultSmsSubscriptionId();
- if (mOverrideSubId != ParticipantData.DEFAULT_SELF_SUB_ID) {
- InsertNewMessageAction.insertNewMessage(message, mOverrideSubId);
+ if (PhoneUtils.getOverrideSendingSubId() != ParticipantData.DEFAULT_SELF_SUB_ID) {
+ InsertNewMessageAction.insertNewMessage(message, PhoneUtils.getOverrideSendingSubId());
} else if (systemDefaultSubId != ParticipantData.DEFAULT_SELF_SUB_ID &&
mSelfParticipantsData.isDefaultSelf(message.getSelfId())) {
// Lock the sub selection to the system default SIM as soon as the user clicks on
diff --git a/src/com/android/messaging/ui/conversation/ComposeMessageView.java b/src/com/android/messaging/ui/conversation/ComposeMessageView.java
index 9bf3635..9bcd00e 100644
--- a/src/com/android/messaging/ui/conversation/ComposeMessageView.java
+++ b/src/com/android/messaging/ui/conversation/ComposeMessageView.java
@@ -78,6 +78,7 @@ import com.android.messaging.util.ContentType;
import com.android.messaging.util.LogUtil;
import com.android.messaging.util.MediaUtil;
import com.android.messaging.util.OsUtil;
+import com.android.messaging.util.PhoneUtils;
import com.android.messaging.util.UiUtils;
import com.android.messaging.util.UnicodeFilter;
@@ -339,8 +340,7 @@ public class ComposeMessageView extends LinearLayout
@Override
public void onClick(final View clickView) {
- mConversationDataModel.getData().setOverrideSendingSubId(
- ParticipantData.DEFAULT_SELF_SUB_ID);
+ PhoneUtils.setOverrideSendingSubId(ParticipantData.DEFAULT_SELF_SUB_ID);
if (isSMSPromptEnabled()) {
showSimSelector((Activity)mOriginalContext, new OnSimSelectedCallback() {
@Override
@@ -713,7 +713,7 @@ public class ComposeMessageView extends LinearLayout
}
private void sendMessageWithSubId(int subId) {
- mConversationDataModel.getData().setOverrideSendingSubId(subId);
+ PhoneUtils.setOverrideSendingSubId(subId);
sendMessageInternal(true /* checkMessageSize */);
}
diff --git a/src/com/android/messaging/util/PhoneUtils.java b/src/com/android/messaging/util/PhoneUtils.java
index cd89551..1eb410c 100644
--- a/src/com/android/messaging/util/PhoneUtils.java
+++ b/src/com/android/messaging/util/PhoneUtils.java
@@ -75,6 +75,16 @@ public abstract class PhoneUtils {
private static final ArrayMap<String, ArrayMap<String, String>> sCanonicalPhoneNumberCache =
new ArrayMap<>();
+ public static int sOverrideSendingSubId = -1;
+
+ public static int getOverrideSendingSubId() {
+ return sOverrideSendingSubId;
+ }
+
+ public static void setOverrideSendingSubId(int subId) {
+ sOverrideSendingSubId = subId;
+ }
+
protected final Context mContext;
protected final TelephonyManager mTelephonyManager;
protected final int mSubId;
@@ -561,7 +571,9 @@ public abstract class PhoneUtils {
@Override
public boolean getHasPreferredSmsSim() {
- return getDefaultSmsSubscriptionId() != ParticipantData.DEFAULT_SELF_SUB_ID;
+ return getDefaultSmsSubscriptionId() != ParticipantData.DEFAULT_SELF_SUB_ID
+ || (sOverrideSendingSubId != ParticipantData.DEFAULT_SELF_SUB_ID
+ && SmsManager.getDefault().isSMSPromptEnabled());
}
@Override