diff --git a/res/drawable-hdpi/ic_send_sms_white_24dp.png b/res/drawable-hdpi/ic_send_sms_white_24dp.png
index 129a0235c..6e3e2e69d 100644
Binary files a/res/drawable-hdpi/ic_send_sms_white_24dp.png and b/res/drawable-hdpi/ic_send_sms_white_24dp.png differ
diff --git a/res/drawable-mdpi/ic_send_sms_white_24dp.png b/res/drawable-mdpi/ic_send_sms_white_24dp.png
index 74ac8833e..834c579c0 100644
Binary files a/res/drawable-mdpi/ic_send_sms_white_24dp.png and b/res/drawable-mdpi/ic_send_sms_white_24dp.png differ
diff --git a/res/drawable-xhdpi/ic_send_sms_white_24dp.png b/res/drawable-xhdpi/ic_send_sms_white_24dp.png
index c8680adb2..68dafe27a 100644
Binary files a/res/drawable-xhdpi/ic_send_sms_white_24dp.png and b/res/drawable-xhdpi/ic_send_sms_white_24dp.png differ
diff --git a/res/drawable-xxhdpi/ic_send_sms_white_24dp.png b/res/drawable-xxhdpi/ic_send_sms_white_24dp.png
index c0d1416c9..6ad518c70 100644
Binary files a/res/drawable-xxhdpi/ic_send_sms_white_24dp.png and b/res/drawable-xxhdpi/ic_send_sms_white_24dp.png differ
diff --git a/res/drawable-xxxhdpi/ic_send_sms_white_24dp.png b/res/drawable-xxxhdpi/ic_send_sms_white_24dp.png
index 0976f95f7..7346365c4 100644
Binary files a/res/drawable-xxxhdpi/ic_send_sms_white_24dp.png and b/res/drawable-xxxhdpi/ic_send_sms_white_24dp.png differ
diff --git a/res/layout/conversation_input_panel.xml b/res/layout/conversation_input_panel.xml
index 041b19e1f..43df1f5dd 100644
--- a/res/layout/conversation_input_panel.xml
+++ b/res/layout/conversation_input_panel.xml
@@ -211,7 +211,7 @@
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/circle_touch_highlight_background"
- android:src="@drawable/ic_add_white_24dp"
+ android:src="@drawable/ic_attach_white_24dp"
android:contentDescription="@string/ConversationActivity_add_attachment"
android:nextFocusLeft="@+id/embedded_text_editor" />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 44e8df630..5b785e194 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -757,6 +757,7 @@
Show Contacts
+ Message
Delta Chat message
Unsecured SMS
Unsecured MMS
diff --git a/src/org/thoughtcrime/securesms/ConversationActivity.java b/src/org/thoughtcrime/securesms/ConversationActivity.java
index fa5f81ff1..8d290baa0 100644
--- a/src/org/thoughtcrime/securesms/ConversationActivity.java
+++ b/src/org/thoughtcrime/securesms/ConversationActivity.java
@@ -873,15 +873,8 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
this.isDefaultSms = isDefaultSms;
this.isSecurityInitialized = true;
- boolean isMediaMessage = recipient.isMmsGroupRecipient() || attachmentManager.isAttachmentPresent();
-
- sendButton.resetAvailableTransports(isMediaMessage);
-
- if (!isSecureText && !isPushGroupConversation()) sendButton.disableTransport(Type.TEXTSECURE);
- if (recipient.isPushGroupRecipient()) sendButton.disableTransport(Type.SMS);
-
- if (isSecureText || isPushGroupConversation()) sendButton.setDefaultTransport(Type.TEXTSECURE);
- else sendButton.setDefaultTransport(Type.SMS);
+ sendButton.resetAvailableTransports();
+ sendButton.setDefaultTransport(Type.TEXTSECURE);
calculateCharactersRemaining();
supportInvalidateOptionsMenu();
@@ -1003,7 +996,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
private void onSecurityUpdated() {
Log.w(TAG, "onSecurityUpdated()");
updateReminders();
- updateDefaultSubscriptionId(recipient.getDefaultSubscriptionId());
}
protected void updateReminders() {
@@ -1014,11 +1006,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
}
- private void updateDefaultSubscriptionId(Optional defaultSubscriptionId) {
- Log.w(TAG, "updateDefaultSubscriptionId(" + defaultSubscriptionId.orNull() + ")");
- sendButton.setDefaultSubscriptionId(defaultSubscriptionId);
- }
-
private void initializeViews() {
ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar == null) throw new AssertionError();
@@ -1123,7 +1110,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
setBlockedUserState(recipient, isSecureText, isDefaultSms);
setGroupShareProfileReminder(recipient);
updateReminders();
- updateDefaultSubscriptionId(recipient.getDefaultSubscriptionId());
initializeSecurity(isSecureText, isDefaultSms);
invalidateOptionsMenu();
});
diff --git a/src/org/thoughtcrime/securesms/TransportOptions.java b/src/org/thoughtcrime/securesms/TransportOptions.java
index 26eb16efc..e2ae76282 100644
--- a/src/org/thoughtcrime/securesms/TransportOptions.java
+++ b/src/org/thoughtcrime/securesms/TransportOptions.java
@@ -1,17 +1,10 @@
package org.thoughtcrime.securesms;
-import android.Manifest;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import org.thoughtcrime.securesms.util.CharacterCalculator;
-import org.thoughtcrime.securesms.util.MmsCharacterCalculator;
-import org.thoughtcrime.securesms.permissions.Permissions;
import org.thoughtcrime.securesms.util.PushCharacterCalculator;
-import org.thoughtcrime.securesms.util.SmsCharacterCalculator;
-import org.thoughtcrime.securesms.util.dualsim.SubscriptionInfoCompat;
-import org.thoughtcrime.securesms.util.dualsim.SubscriptionManagerCompat;
import org.whispersystems.libsignal.util.guava.Optional;
import java.util.LinkedList;
@@ -27,18 +20,16 @@ public class TransportOptions {
private final Context context;
private final List enabledTransports;
- private Type defaultTransportType = Type.SMS;
- private Optional defaultSubscriptionId = Optional.absent();
+ private Type defaultTransportType = Type.TEXTSECURE;
private Optional selectedOption = Optional.absent();
- public TransportOptions(Context context, boolean media) {
+ public TransportOptions(Context context) {
this.context = context;
- this.enabledTransports = initializeAvailableTransports(media);
- this.defaultSubscriptionId = new SubscriptionManagerCompat(context).getPreferredSubscriptionId();
+ this.enabledTransports = initializeAvailableTransports();
}
- public void reset(boolean media) {
- List transportOptions = initializeAvailableTransports(media);
+ public void reset() {
+ List transportOptions = initializeAvailableTransports();
this.enabledTransports.clear();
this.enabledTransports.addAll(transportOptions);
@@ -46,8 +37,7 @@ public class TransportOptions {
if (selectedOption.isPresent() && !isEnabled(selectedOption.get())) {
setSelectedTransport(null);
} else {
- this.defaultTransportType = Type.SMS;
- this.defaultSubscriptionId = Optional.absent();
+ this.defaultTransportType = Type.TEXTSECURE;
notifyTransportChangeListeners();
}
@@ -61,14 +51,6 @@ public class TransportOptions {
}
}
- public void setDefaultSubscriptionId(Optional subscriptionId) {
- this.defaultSubscriptionId = subscriptionId;
-
- if (!selectedOption.isPresent()) {
- notifyTransportChangeListeners();
- }
- }
-
public void setSelectedTransport(@Nullable TransportOption transportOption) {
this.selectedOption = Optional.fromNullable(transportOption);
notifyTransportChangeListeners();
@@ -81,16 +63,6 @@ public class TransportOptions {
public @NonNull TransportOption getSelectedTransport() {
if (selectedOption.isPresent()) return selectedOption.get();
- if (defaultSubscriptionId.isPresent()) {
- for (TransportOption transportOption : enabledTransports) {
- if (transportOption.getType() == defaultTransportType &&
- (int)defaultSubscriptionId.get() == transportOption.getSimSubscriptionId().or(-1))
- {
- return transportOption;
- }
- }
- }
-
for (TransportOption transportOption : enabledTransports) {
if (transportOption.getType() == defaultTransportType) {
return transportOption;
@@ -120,59 +92,18 @@ public class TransportOptions {
this.listeners.add(listener);
}
- private List initializeAvailableTransports(boolean isMediaMessage) {
+ private List initializeAvailableTransports() {
List results = new LinkedList<>();
- if (isMediaMessage) {
- results.addAll(getTransportOptionsForSimCards(context.getString(R.string.ConversationActivity_transport_insecure_mms),
- context.getString(R.string.conversation_activity__type_message_mms_insecure),
- new MmsCharacterCalculator()));
- } else {
- results.addAll(getTransportOptionsForSimCards(context.getString(R.string.ConversationActivity_transport_insecure_sms),
- context.getString(R.string.conversation_activity__type_message_sms_insecure),
- new SmsCharacterCalculator()));
- }
-
- results.add(new TransportOption(Type.TEXTSECURE, R.drawable.ic_send_push_white_24dp,
+ results.add(new TransportOption(Type.TEXTSECURE, R.drawable.ic_send_sms_white_24dp,
context.getResources().getColor(R.color.textsecure_primary),
context.getString(R.string.ConversationActivity_transport_signal),
- context.getString(R.string.conversation_activity__type_message_push),
+ context.getString(R.string.conversation_activity__type_message),
new PushCharacterCalculator()));
return results;
}
- private @NonNull List getTransportOptionsForSimCards(@NonNull String text,
- @NonNull String composeHint,
- @NonNull CharacterCalculator characterCalculator)
- {
- List results = new LinkedList<>();
- SubscriptionManagerCompat subscriptionManager = new SubscriptionManagerCompat(context);
- List subscriptions;
-
- if (Permissions.hasAll(context, Manifest.permission.READ_PHONE_STATE)) {
- subscriptions = subscriptionManager.getActiveSubscriptionInfoList();
- } else {
- subscriptions = new LinkedList<>();
- }
-
- if (subscriptions.size() < 2) {
- results.add(new TransportOption(Type.SMS, R.drawable.ic_send_sms_white_24dp,
- context.getResources().getColor(R.color.grey_600),
- text, composeHint, characterCalculator));
- } else {
- for (SubscriptionInfoCompat subscriptionInfo : subscriptions) {
- results.add(new TransportOption(Type.SMS, R.drawable.ic_send_sms_white_24dp,
- context.getResources().getColor(R.color.grey_600),
- text, composeHint, characterCalculator,
- Optional.of(subscriptionInfo.getDisplayName()),
- Optional.of(subscriptionInfo.getSubscriptionId())));
- }
- }
-
- return results;
- }
-
private void notifyTransportChangeListeners() {
for (OnTransportChangedListener listener : listeners) {
listener.onChange(getSelectedTransport(), selectedOption.isPresent());
diff --git a/src/org/thoughtcrime/securesms/components/SendButton.java b/src/org/thoughtcrime/securesms/components/SendButton.java
index 9ef421d2b..8d4bffbe4 100644
--- a/src/org/thoughtcrime/securesms/components/SendButton.java
+++ b/src/org/thoughtcrime/securesms/components/SendButton.java
@@ -25,26 +25,26 @@ public class SendButton extends ImageButton
@SuppressWarnings("unused")
public SendButton(Context context) {
super(context);
- this.transportOptions = initializeTransportOptions(false);
+ this.transportOptions = initializeTransportOptions();
ViewUtil.mirrorIfRtl(this, getContext());
}
@SuppressWarnings("unused")
public SendButton(Context context, AttributeSet attrs) {
super(context, attrs);
- this.transportOptions = initializeTransportOptions(false);
+ this.transportOptions = initializeTransportOptions();
ViewUtil.mirrorIfRtl(this, getContext());
}
@SuppressWarnings("unused")
public SendButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
- this.transportOptions = initializeTransportOptions(false);
+ this.transportOptions = initializeTransportOptions();
ViewUtil.mirrorIfRtl(this, getContext());
}
- private TransportOptions initializeTransportOptions(boolean media) {
- TransportOptions transportOptions = new TransportOptions(getContext(), media);
+ private TransportOptions initializeTransportOptions() {
+ TransportOptions transportOptions = new TransportOptions(getContext());
transportOptions.addOnTransportChangedListener(this);
setOnLongClickListener(this);
@@ -71,8 +71,8 @@ public class SendButton extends ImageButton
return transportOptions.getSelectedTransport();
}
- public void resetAvailableTransports(boolean isMediaMessage) {
- transportOptions.reset(isMediaMessage);
+ public void resetAvailableTransports() {
+ transportOptions.reset();
}
public void disableTransport(TransportOption.Type type) {
@@ -83,10 +83,6 @@ public class SendButton extends ImageButton
transportOptions.setDefaultTransport(type);
}
- public void setDefaultSubscriptionId(Optional subscriptionId) {
- transportOptions.setDefaultSubscriptionId(subscriptionId);
- }
-
@Override
public void onSelected(TransportOption option) {
transportOptions.setSelectedTransport(option);