diff --git a/AndroidManifest.xml b/AndroidManifest.xml index babca2c94..2c0e15a63 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -146,7 +146,7 @@ diff --git a/res/layout/conversation_list_item_action.xml b/res/layout/conversation_list_item_action.xml deleted file mode 100644 index 77d2bc837..000000000 --- a/res/layout/conversation_list_item_action.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/res/menu/text_secure_normal.xml b/res/menu/text_secure_normal.xml index 9046f5b80..fc57cdafe 100644 --- a/res/menu/text_secure_normal.xml +++ b/res/menu/text_secure_normal.xml @@ -10,9 +10,6 @@ - - #552090ea #ff3792fc + #b6b6bb + #3b3b3b #ffffffff #ff000000 diff --git a/src/org/thoughtcrime/securesms/ConversationListActivity.java b/src/org/thoughtcrime/securesms/ConversationListActivity.java index ca4a0ddf3..7dfee121b 100644 --- a/src/org/thoughtcrime/securesms/ConversationListActivity.java +++ b/src/org/thoughtcrime/securesms/ConversationListActivity.java @@ -317,9 +317,6 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit case R.id.menu_new_chat: createChat(); return true; - case R.id.menu_archived_chats: - onSwitchToArchive(); - return true; case R.id.menu_settings: startActivity(new Intent(this, ApplicationPreferencesActivity.class)); return true; diff --git a/src/org/thoughtcrime/securesms/ConversationListAdapter.java b/src/org/thoughtcrime/securesms/ConversationListAdapter.java index aaaf6f203..909d4ae27 100644 --- a/src/org/thoughtcrime/securesms/ConversationListAdapter.java +++ b/src/org/thoughtcrime/securesms/ConversationListAdapter.java @@ -32,6 +32,7 @@ import com.b44t.messenger.DcLot; import org.thoughtcrime.securesms.connect.DcHelper; import org.thoughtcrime.securesms.mms.GlideRequests; +import org.thoughtcrime.securesms.util.ViewUtil; import java.lang.ref.WeakReference; import java.util.Collections; @@ -101,14 +102,15 @@ class ConversationListAdapter extends RecyclerView.Adapter { @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == MESSAGE_TYPE_SWITCH_ARCHIVE) { - ConversationListItemAction action = (ConversationListItemAction) inflater.inflate(R.layout.conversation_list_item_action, - parent, false); - - action.setOnClickListener(v -> { + final ConversationListItem item = (ConversationListItem)inflater.inflate(R.layout.conversation_list_item_view, parent, false); + item.getLayoutParams().height = ViewUtil.dpToPx(54); + item.findViewById(R.id.subject).setVisibility(View.GONE); + item.findViewById(R.id.date).setVisibility(View.GONE); + item.setOnClickListener(v -> { if (clickListener != null) clickListener.onSwitchToArchive(); }); - return new ViewHolder(action); + return new ViewHolder(item); } else if (viewType == MESSAGE_TYPE_INBOX_ZERO) { return new ViewHolder((ConversationListItemInboxZero)inflater.inflate(R.layout.conversation_list_item_inbox_zero, parent, false)); } else { diff --git a/src/org/thoughtcrime/securesms/ConversationListArchiveActivity.java b/src/org/thoughtcrime/securesms/ConversationListArchiveActivity.java index 3391ceb6b..77de74d88 100644 --- a/src/org/thoughtcrime/securesms/ConversationListArchiveActivity.java +++ b/src/org/thoughtcrime/securesms/ConversationListArchiveActivity.java @@ -33,9 +33,9 @@ public class ConversationListArchiveActivity extends PassphraseRequiredActionBar getSupportActionBar().setDisplayHomeAsUpEnabled(true); if (isRelayingMessageContent(this)) { getSupportActionBar().setTitle(isSharing(this) ? R.string.chat_share_with_title : R.string.forward_to); - getSupportActionBar().setSubtitle(R.string.chat_archived_chats_title); + getSupportActionBar().setSubtitle(R.string.chat_archived_label); } else { - getSupportActionBar().setTitle(R.string.chat_archived_chats_title); + getSupportActionBar().setTitle(R.string.chat_archived_label); } Bundle bundle = new Bundle(); diff --git a/src/org/thoughtcrime/securesms/ConversationListItem.java b/src/org/thoughtcrime/securesms/ConversationListItem.java index 275dc23a3..47904089e 100644 --- a/src/org/thoughtcrime/securesms/ConversationListItem.java +++ b/src/org/thoughtcrime/securesms/ConversationListItem.java @@ -161,7 +161,7 @@ public class ConversationListItem extends RelativeLayout thread.isSendingLocations()? R.drawable.ic_location_chatlist : 0, 0 ); - setStatusIcons(thread.getVisibility(), state, unreadCount, thread.isContactRequest()); + setStatusIcons(thread.getVisibility(), state, unreadCount, thread.isContactRequest(), thread.isMuted() || chatId == DcChat.DC_CHAT_ID_ARCHIVED_LINK); setBatchState(batchMode); setBgColor(thread); @@ -250,39 +250,23 @@ public class ConversationListItem extends RelativeLayout return msgId; } - private void setStatusIcons(int visibility, int state, int unreadCount, boolean isContactRequest) { + private void setStatusIcons(int visibility, int state, int unreadCount, boolean isContactRequest, boolean isMuted) { if (visibility==DcChat.DC_CHAT_VISIBILITY_ARCHIVED) { archivedBadgeView.setVisibility(View.VISIBLE); requestBadgeView.setVisibility(isContactRequest ? View.VISIBLE : View.GONE); deliveryStatusIndicator.setNone(); - unreadIndicator.setVisibility(View.GONE); } else if (isContactRequest) { requestBadgeView.setVisibility(View.VISIBLE); archivedBadgeView.setVisibility(View.GONE); deliveryStatusIndicator.setNone(); - unreadIndicator.setVisibility(View.GONE); } else { requestBadgeView.setVisibility(View.GONE); archivedBadgeView.setVisibility(View.GONE); - if(unreadCount==0) { - unreadIndicator.setVisibility(View.GONE); - } else { - unreadIndicator.setImageDrawable(TextDrawable.builder() - .beginConfig() - .width(ViewUtil.dpToPx(getContext(), 24)) - .height(ViewUtil.dpToPx(getContext(), 24)) - .textColor(Color.WHITE) - .bold() - .endConfig() - .buildRound(String.valueOf(unreadCount), getResources().getColor(R.color.unread_count))); - unreadIndicator.setVisibility(View.VISIBLE); - } - if (state == DcMsg.DC_STATE_OUT_FAILED) { deliveryStatusIndicator.setFailed(); } else if (state == DcMsg.DC_STATE_OUT_MDN_RCVD) { @@ -303,6 +287,21 @@ public class ConversationListItem extends RelativeLayout deliveryStatusIndicator.resetTint(); } } + + if(unreadCount==0 || isContactRequest) { + unreadIndicator.setVisibility(View.GONE); + } else { + final int color = getResources().getColor(isMuted ? (ThemeUtil.isDarkTheme(getContext()) ? R.color.unread_count_muted_dark : R.color.unread_count_muted) : R.color.unread_count); + unreadIndicator.setImageDrawable(TextDrawable.builder() + .beginConfig() + .width(ViewUtil.dpToPx(getContext(), 24)) + .height(ViewUtil.dpToPx(getContext(), 24)) + .textColor(Color.WHITE) + .bold() + .endConfig() + .buildRound(String.valueOf(unreadCount), color)); + unreadIndicator.setVisibility(View.VISIBLE); + } } private void setBgColor(ThreadRecord thread) { diff --git a/src/org/thoughtcrime/securesms/ConversationListItemAction.java b/src/org/thoughtcrime/securesms/ConversationListItemAction.java deleted file mode 100644 index ba87cbc8b..000000000 --- a/src/org/thoughtcrime/securesms/ConversationListItemAction.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.thoughtcrime.securesms; - -import android.annotation.TargetApi; -import android.content.Context; -import android.os.Build; -import androidx.annotation.NonNull; -import android.util.AttributeSet; -import android.widget.LinearLayout; -import android.widget.TextView; - -import com.b44t.messenger.DcLot; - -import org.thoughtcrime.securesms.database.model.ThreadRecord; -import org.thoughtcrime.securesms.mms.GlideRequests; -import org.thoughtcrime.securesms.util.ViewUtil; - -import java.util.Locale; -import java.util.Set; - -public class ConversationListItemAction extends LinearLayout implements BindableConversationListItem { - - private TextView description; - - public ConversationListItemAction(Context context) { - super(context); - } - - public ConversationListItemAction(Context context, AttributeSet attrs) { - super(context, attrs); - } - - @TargetApi(Build.VERSION_CODES.HONEYCOMB) - public ConversationListItemAction(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - @Override - public void onFinishInflate() { - super.onFinishInflate(); - this.description = ViewUtil.findById(this, R.id.description); - } - - @Override - public void bind(@NonNull ThreadRecord thread, int msgId, @NonNull DcLot dcSummary, @NonNull GlideRequests glideRequests, @NonNull Locale locale, @NonNull Set selectedThreads, boolean batchMode) { - this.description.setText(thread.getRecipient().getName()); - } - - @Override - public void unbind() { - - } -} diff --git a/src/org/thoughtcrime/securesms/connect/DcHelper.java b/src/org/thoughtcrime/securesms/connect/DcHelper.java index d124d91ff..9339186d8 100644 --- a/src/org/thoughtcrime/securesms/connect/DcHelper.java +++ b/src/org/thoughtcrime/securesms/connect/DcHelper.java @@ -146,7 +146,7 @@ public class DcHelper { dcContext.setStockTranslation(35, context.getString(R.string.contact_verified)); dcContext.setStockTranslation(36, context.getString(R.string.contact_not_verified)); dcContext.setStockTranslation(37, context.getString(R.string.contact_setup_changed)); - dcContext.setStockTranslation(40, context.getString(R.string.chat_archived_chats_title)); + dcContext.setStockTranslation(40, context.getString(R.string.chat_archived_label)); dcContext.setStockTranslation(42, context.getString(R.string.autocrypt_asm_subject)); dcContext.setStockTranslation(43, context.getString(R.string.autocrypt_asm_general_body)); dcContext.setStockTranslation(60, context.getString(R.string.login_error_cannot_login));