diff options
author | Roman Birg <roman@cyngn.com> | 2016-06-07 09:06:53 -0700 |
---|---|---|
committer | Ricardo Cerqueira <ricardo@cyngn.com> | 2016-06-08 15:36:49 +0100 |
commit | ca8ed52b30b38a2adbeaaab9b49b9684e8565b2a (patch) | |
tree | c350ffa71c97c239854b07bb18c5540c4cc8532a | |
parent | 4a0efca72689771d60053c02d949ae92587fe70b (diff) | |
download | android_packages_apps_Messaging-ca8ed52b30b38a2adbeaaab9b49b9684e8565b2a.tar.gz android_packages_apps_Messaging-ca8ed52b30b38a2adbeaaab9b49b9684e8565b2a.tar.bz2 android_packages_apps_Messaging-ca8ed52b30b38a2adbeaaab9b49b9684e8565b2a.zip |
Messaging: fix multi participant "always-ask" MSIM flow
Ticket: CYNGNOS-3013
Change-Id: Ia910253c65869964e5dbd82ec8863df2c0e05e6b
Signed-off-by: Roman Birg <roman@cyngn.com>
3 files changed, 21 insertions, 19 deletions
diff --git a/src/com/android/messaging/ui/conversation/ComposeMessageView.java b/src/com/android/messaging/ui/conversation/ComposeMessageView.java index 20d1564..771c1f7 100644 --- a/src/com/android/messaging/ui/conversation/ComposeMessageView.java +++ b/src/com/android/messaging/ui/conversation/ComposeMessageView.java @@ -339,18 +339,7 @@ public class ComposeMessageView extends LinearLayout mSendButton.setOnClickListener(new OnClickListener() { @Override public void onClick(final View clickView) { - - PhoneUtils.setOverrideSendingSubId(ParticipantData.DEFAULT_SELF_SUB_ID); - if (isSMSPromptEnabled()) { - showSimSelector((Activity)mOriginalContext, new OnSimSelectedCallback() { - @Override - public void onSimSelected(int subId) { - sendMessageWithSubId(subId); - } - }); - } else { - sendMessageInternal(true /* checkMessageSize */); - } + promptAndSendWithSubId(true); } }); mSendButton.setOnLongClickListener(new OnLongClickListener() { @@ -449,7 +438,7 @@ public class ComposeMessageView extends LinearLayout @Override // TextView.OnEditorActionListener.onEditorAction public boolean onEditorAction(final TextView view, final int actionId, final KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_SEND) { - sendMessageInternal(true /* checkMessageSize */); + promptAndSendWithSubId(true /* checkMessageSize */); return true; } return false; @@ -538,7 +527,7 @@ public class ComposeMessageView extends LinearLayout new Runnable() { @Override public void run() { - sendMessageInternal(checkMessageSize); + promptAndSendWithSubId(checkMessageSize); } }); @@ -712,9 +701,19 @@ public class ComposeMessageView extends LinearLayout mBinding.getData().getSelfId(), false /* excludeDefault */); } - private void sendMessageWithSubId(int subId) { - PhoneUtils.setOverrideSendingSubId(subId); - sendMessageInternal(true /* checkMessageSize */); + private void promptAndSendWithSubId(final boolean checkMessageSize) { + PhoneUtils.setOverrideSendingSubId(ParticipantData.DEFAULT_SELF_SUB_ID); + if (isSMSPromptEnabled()) { + showSimSelector((Activity)mOriginalContext, new OnSimSelectedCallback() { + @Override + public void onSimSelected(int subId) { + PhoneUtils.setOverrideSendingSubId(subId); + sendMessageInternal(checkMessageSize); + } + }); + } else { + sendMessageInternal(checkMessageSize /* checkMessageSize */); + } } private boolean isDataLoadedForMessageSend() { @@ -1026,7 +1025,7 @@ public class ComposeMessageView extends LinearLayout } public void sendMessageIgnoreMessageSizeLimit() { - sendMessageInternal(false /* checkMessageSize */); + promptAndSendWithSubId(false /* checkMessageSize */); } public void onAttachmentPreviewLongClicked() { diff --git a/src/com/android/messaging/ui/conversation/ConversationFragment.java b/src/com/android/messaging/ui/conversation/ConversationFragment.java index df93291..448d709 100644 --- a/src/com/android/messaging/ui/conversation/ConversationFragment.java +++ b/src/com/android/messaging/ui/conversation/ConversationFragment.java @@ -1500,6 +1500,9 @@ public class ConversationFragment extends Fragment implements ConversationDataLi @Override public int getConversationSelfSubId() { + if (PhoneUtils.getOverrideSendingSubId() != ParticipantData.DEFAULT_SELF_SUB_ID) { + return PhoneUtils.getOverrideSendingSubId(); + } final String selfParticipantId = mComposeMessageView.getConversationSelfId(); final ParticipantData self = mBinding.getData().getSelfParticipantById(selfParticipantId); // If the self id or the self participant data hasn't been loaded yet, fallback to diff --git a/src/com/android/messaging/util/PhoneUtils.java b/src/com/android/messaging/util/PhoneUtils.java index 2ba735b..dfbf924 100644 --- a/src/com/android/messaging/util/PhoneUtils.java +++ b/src/com/android/messaging/util/PhoneUtils.java @@ -75,7 +75,7 @@ public abstract class PhoneUtils { private static final ArrayMap<String, ArrayMap<String, String>> sCanonicalPhoneNumberCache = new ArrayMap<>(); - public static int sOverrideSendingSubId = -1; + public static int sOverrideSendingSubId = ParticipantData.DEFAULT_SELF_SUB_ID; public static int getOverrideSendingSubId() { return sOverrideSendingSubId; |