diff options
Diffstat (limited to 'src')
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 |