diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java b/app/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java deleted file mode 100644 index 1ac4f8442b..0000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.thoughtcrime.securesms.components; - -import android.annotation.SuppressLint; -import android.content.Context; -import android.content.res.TypedArray; -import android.os.AsyncTask; -import android.util.AttributeSet; -import android.view.View; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import org.session.libsession.snode.SnodeAPI; -import org.thoughtcrime.securesms.ApplicationContext; -import org.thoughtcrime.securesms.conversation.v2.components.ExpirationTimerView; -import org.thoughtcrime.securesms.database.model.MessageRecord; -import org.thoughtcrime.securesms.dependencies.DatabaseComponent; -import org.thoughtcrime.securesms.service.ExpiringMessageManager; -import org.thoughtcrime.securesms.util.DateUtils; - -import java.util.Locale; - -import network.loki.messenger.R; - -public class ConversationItemFooter extends LinearLayout { - - private TextView dateView; - private ExpirationTimerView timerView; - private ImageView insecureIndicatorView; - private DeliveryStatusView deliveryStatusView; - - public ConversationItemFooter(Context context) { - super(context); - init(null); - } - - public ConversationItemFooter(Context context, @Nullable AttributeSet attrs) { - super(context, attrs); - init(attrs); - } - - public ConversationItemFooter(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - init(attrs); - } - - private void init(@Nullable AttributeSet attrs) { - inflate(getContext(), R.layout.conversation_item_footer, this); - - dateView = findViewById(R.id.footer_date); - timerView = findViewById(R.id.footer_expiration_timer); - insecureIndicatorView = findViewById(R.id.footer_insecure_indicator); - deliveryStatusView = findViewById(R.id.footer_delivery_status); - - if (attrs != null) { - TypedArray typedArray = getContext().getTheme().obtainStyledAttributes(attrs, R.styleable.ConversationItemFooter, 0, 0); - setTextColor(typedArray.getInt(R.styleable.ConversationItemFooter_footer_text_color, getResources().getColor(R.color.core_white))); - setIconColor(typedArray.getInt(R.styleable.ConversationItemFooter_footer_icon_color, getResources().getColor(R.color.core_white))); - typedArray.recycle(); - } - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - timerView.stopAnimation(); - } - - public void setMessageRecord(@NonNull MessageRecord messageRecord, @NonNull Locale locale) { - presentDate(messageRecord, locale); - presentTimer(messageRecord); - presentInsecureIndicator(messageRecord); - presentDeliveryStatus(messageRecord); - } - - public void setTextColor(int color) { - dateView.setTextColor(color); - } - - public void setIconColor(int color) { - timerView.setColorFilter(color); - insecureIndicatorView.setColorFilter(color); - deliveryStatusView.setTint(color); - } - - private void presentDate(@NonNull MessageRecord messageRecord, @NonNull Locale locale) { - dateView.forceLayout(); - - if (messageRecord.isFailed()) { - dateView.setText(R.string.ConversationItem_error_not_delivered); - } else { - dateView.setText(DateUtils.getExtendedRelativeTimeSpanString(getContext(), locale, messageRecord.getTimestamp())); - } - } - - @SuppressLint("StaticFieldLeak") - private void presentTimer(@NonNull final MessageRecord messageRecord) { - if (messageRecord.getExpiresIn() > 0 && !messageRecord.isPending()) { - this.timerView.setVisibility(View.VISIBLE); - this.timerView.setPercentComplete(0); - - if (messageRecord.getExpireStarted() > 0) { - this.timerView.setExpirationTime(messageRecord.getExpireStarted(), - messageRecord.getExpiresIn()); - this.timerView.startAnimation(); - - if (messageRecord.getExpireStarted() + messageRecord.getExpiresIn() <= SnodeAPI.getNowWithOffset()) { - ApplicationContext.getInstance(getContext()).getExpiringMessageManager().checkSchedule(); - } - } else if (!messageRecord.isOutgoing() && !messageRecord.isMediaPending()) { - new AsyncTask() { - @Override - protected Void doInBackground(Void... params) { - ExpiringMessageManager expirationManager = ApplicationContext.getInstance(getContext()).getExpiringMessageManager(); - long id = messageRecord.getId(); - boolean mms = messageRecord.isMms(); - - if (mms) DatabaseComponent.get(getContext()).mmsDatabase().markExpireStarted(id); - else DatabaseComponent.get(getContext()).smsDatabase().markExpireStarted(id); - - expirationManager.scheduleDeletion(id, mms, messageRecord.getExpiresIn()); - return null; - } - }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); - } - } else { - this.timerView.setVisibility(View.GONE); - } - } - - private void presentInsecureIndicator(@NonNull MessageRecord messageRecord) { - insecureIndicatorView.setVisibility(View.GONE); - } - - private void presentDeliveryStatus(@NonNull MessageRecord messageRecord) { - if (!messageRecord.isFailed()) { - if (!messageRecord.isOutgoing()) deliveryStatusView.setNone(); - else if (messageRecord.isPending()) deliveryStatusView.setPending(); - else if (messageRecord.isRead()) deliveryStatusView.setRead(); - else if (messageRecord.isDelivered()) deliveryStatusView.setDelivered(); - else deliveryStatusView.setSent(); - } else { - deliveryStatusView.setNone(); - } - } -} diff --git a/app/src/main/res/layout/conversation_item_footer.xml b/app/src/main/res/layout/conversation_item_footer.xml deleted file mode 100644 index 3aefb39444..0000000000 --- a/app/src/main/res/layout/conversation_item_footer.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index d8aedf3dea..ae38d0c057 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -319,11 +319,6 @@ - - - - - diff --git a/libsession/src/main/res/values/attrs.xml b/libsession/src/main/res/values/attrs.xml index 64fab0950e..474fe565e0 100644 --- a/libsession/src/main/res/values/attrs.xml +++ b/libsession/src/main/res/values/attrs.xml @@ -252,11 +252,6 @@ - - - - -