summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRoman Birg <roman@cyngn.com>2016-05-13 13:58:50 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-05-16 08:50:20 -0700
commite4d27317b48f06f199c392f85f99ab8d98e90c47 (patch)
treeb546b651808e0bcd1dc8bba4b79e1ef718b0b26e /src
parent3352b45980ae9a98bf864d60fb04114a8b157c0b (diff)
downloadpackages_apps_Messaging-e4d27317b48f06f199c392f85f99ab8d98e90c47.zip
packages_apps_Messaging-e4d27317b48f06f199c392f85f99ab8d98e90c47.tar.gz
packages_apps_Messaging-e4d27317b48f06f199c392f85f99ab8d98e90c47.tar.bz2
Messaging: properly handle "always ask" SMS sending option
Before the app would require the system to have an SMS subscription actively selected, but the app also allows the user to override that sub and send an SMS with another SIM. If the user overrides it, we should respect their choice and allow the SMS to send if no system one is ever selected. Ticket: CYNGNOS-2185, CYNGNOS-2570 Change-Id: I04c1e8bd5c0c41c90af870c4336c0c7f5ba83d4c Signed-off-by: Roman Birg <roman@cyngn.com>
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