Skip to content

Commit 07c8ce4

Browse files
Fix DI
1 parent 07d7530 commit 07c8ce4

File tree

15 files changed

+66
-52
lines changed

15 files changed

+66
-52
lines changed

app/src/main/java/org/thoughtcrime/securesms/MediaPreviewActivity.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@
8181
import org.thoughtcrime.securesms.util.SaveAttachmentTask.Attachment;
8282

8383
import java.io.IOException;
84-
import java.util.Locale;
8584
import java.util.WeakHashMap;
8685

8786
import network.loki.messenger.R;
@@ -242,7 +241,7 @@ private void updateActionBar() {
242241
CharSequence relativeTimeSpan;
243242

244243
if (mediaItem.date > 0) {
245-
relativeTimeSpan = dateUtil.getDisplayFormattedTimeSpanString(mediaItem.date);
244+
relativeTimeSpan = dateUtil.format(mediaItem.date);
246245
} else {
247246
relativeTimeSpan = getString(R.string.MediaPreviewActivity_draft);
248247
}

app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1728,7 +1728,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
17281728
val body = MentionUtilities.highlightMentions(message.body, viewModel.threadId, this)
17291729
if (TextUtils.isEmpty(body)) { continue }
17301730
if (messageSize > 1) {
1731-
val formattedTimestamp = dateUtil.getDisplayFormattedTimeSpanString(message.timestamp)
1731+
val formattedTimestamp = dateUtil.format(message.timestamp)
17321732
builder.append("$formattedTimestamp: ")
17331733
}
17341734
builder.append(body)

app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationReactionOverlay.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ public void show(@NonNull Activity activity,
172172
conversationBubble.setLayoutParams(new LinearLayout.LayoutParams(conversationItemSnapshot.getWidth(), conversationItemSnapshot.getHeight()));
173173
conversationBubble.setBackground(new BitmapDrawable(getResources(), conversationItemSnapshot));
174174
TextView conversationTimestamp = conversationItem.findViewById(R.id.conversation_item_timestamp);
175-
conversationTimestamp.setText(dateUtil.getDisplayFormattedTimeSpanString(messageRecord.getTimestamp()));
175+
conversationTimestamp.setText(dateUtil.format(messageRecord.getTimestamp()));
176176

177177
updateConversationTimestamp(messageRecord);
178178

app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/ControlMessageView.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@ import android.view.View
77
import android.widget.LinearLayout
88
import androidx.core.content.res.ResourcesCompat
99
import androidx.recyclerview.widget.RecyclerView
10+
import dagger.hilt.android.AndroidEntryPoint
1011
import network.loki.messenger.R
1112
import network.loki.messenger.databinding.ViewControlMessageBinding
1213
import org.thoughtcrime.securesms.database.model.MessageRecord
14+
import org.thoughtcrime.securesms.util.DateUtil
15+
import javax.inject.Inject
1316

17+
@AndroidEntryPoint
1418
class ControlMessageView : LinearLayout {
1519

20+
@Inject lateinit var dateUtil: DateUtil
21+
1622
private lateinit var binding: ViewControlMessageBinding
1723

1824
// region Lifecycle
@@ -28,7 +34,7 @@ class ControlMessageView : LinearLayout {
2834

2935
// region Updating
3036
fun bind(message: MessageRecord, previous: MessageRecord?) {
31-
binding.dateBreakTextView.showDateBreak(message, previous)
37+
binding.dateBreakTextView.showDateBreak(dateUtil, message, previous)
3238
binding.iconImageView.visibility = View.GONE
3339
var messageBody: CharSequence = message.getDisplayBody(context)
3440
binding.root.contentDescription= null

app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/MessageUtilities.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@ import android.widget.TextView
44
import androidx.core.view.isVisible
55
import org.thoughtcrime.securesms.database.model.MessageRecord
66
import org.thoughtcrime.securesms.util.DateUtil
7-
import org.thoughtcrime.securesms.util.DateUtils
8-
import java.util.Locale
97

108
private const val maxTimeBetweenBreaks = 5 * 60 * 1000L // 5 minutes
119

12-
fun TextView.showDateBreak(message: MessageRecord, previous: MessageRecord?) {
10+
fun TextView.showDateBreak(dateUtil: DateUtil, message: MessageRecord, previous: MessageRecord?) {
1311
val showDateBreak = (previous == null || message.timestamp - previous.timestamp > maxTimeBetweenBreaks)
1412
isVisible = showDateBreak
15-
text = if (showDateBreak) DateUtil(context).getDisplayFormattedTimeSpanString(message.timestamp) else ""
13+
text = if (showDateBreak) dateUtil.format(message.timestamp) else ""
1614
}

app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ import org.thoughtcrime.securesms.home.UserDetailsBottomSheet
4949
import org.thoughtcrime.securesms.mms.GlideRequests
5050
import org.thoughtcrime.securesms.util.*
5151
import java.util.Date
52-
import java.util.Locale
5352
import javax.inject.Inject
5453
import kotlin.math.abs
5554
import kotlin.math.min
@@ -191,7 +190,7 @@ class VisibleMessageView : LinearLayout {
191190
binding.senderNameTextView.text = contact?.displayName(contactContext) ?: senderSessionID
192191
// Date break
193192
val showDateBreak = isStartOfMessageCluster || snIsSelected
194-
binding.dateBreakTextView.text = if (showDateBreak) dateUtil.getDisplayFormattedTimeSpanString(message.timestamp) else null
193+
binding.dateBreakTextView.text = if (showDateBreak) dateUtil.format(message.timestamp) else null
195194
binding.dateBreakTextView.isVisible = showDateBreak
196195
// Message status indicator
197196
if (message.isOutgoing) {

app/src/main/java/org/thoughtcrime/securesms/dependencies/AppModule.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import org.session.libsession.utilities.AppTextSecurePreferences
88
import org.session.libsession.utilities.TextSecurePreferences
99
import org.thoughtcrime.securesms.repository.ConversationRepository
1010
import org.thoughtcrime.securesms.repository.DefaultConversationRepository
11+
import org.thoughtcrime.securesms.util.AndroidClock
12+
import org.thoughtcrime.securesms.util.Clock
1113

1214
@Module
1315
@InstallIn(SingletonComponent::class)
@@ -19,4 +21,7 @@ abstract class AppModule {
1921
@Binds
2022
abstract fun bindConversationRepository(repository: DefaultConversationRepository): ConversationRepository
2123

24+
@Binds
25+
abstract fun bindAndroidClock(androidClock: AndroidClock): Clock
26+
2227
}

app/src/main/java/org/thoughtcrime/securesms/home/ConversationView.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import android.graphics.Typeface
66
import android.graphics.drawable.ColorDrawable
77
import android.util.AttributeSet
88
import android.util.TypedValue
9-
import android.view.LayoutInflater
109
import android.view.View
1110
import android.widget.LinearLayout
1211
import androidx.core.content.ContextCompat
@@ -21,9 +20,7 @@ import org.thoughtcrime.securesms.database.RecipientDatabase.NOTIFY_TYPE_NONE
2120
import org.thoughtcrime.securesms.database.model.ThreadRecord
2221
import org.thoughtcrime.securesms.mms.GlideRequests
2322
import org.thoughtcrime.securesms.util.DateUtil
24-
import org.thoughtcrime.securesms.util.DateUtils
2523
import org.thoughtcrime.securesms.util.getAccentColor
26-
import java.util.Locale
2724
import javax.inject.Inject
2825

2926
class ConversationView : LinearLayout {
@@ -89,7 +86,7 @@ class ConversationView : LinearLayout {
8986
val senderDisplayName = getUserDisplayName(thread.recipient)
9087
?: thread.recipient.address.toString()
9188
binding.conversationViewDisplayNameTextView.text = senderDisplayName
92-
binding.timestampTextView.text = dateUtil.getDisplayFormattedTimeSpanString(thread.date)
89+
binding.timestampTextView.text = dateUtil.format(thread.date)
9390
val recipient = thread.recipient
9491
binding.muteIndicatorImageView.isVisible = recipient.isMuted || recipient.notifyType != NOTIFY_TYPE_ALL
9592
val drawableRes = if (recipient.isMuted || recipient.notifyType == NOTIFY_TYPE_NONE) {

app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ import org.thoughtcrime.securesms.onboarding.SeedReminderViewDelegate
6565
import org.thoughtcrime.securesms.preferences.SettingsActivity
6666
import org.thoughtcrime.securesms.util.*
6767
import java.io.IOException
68-
import java.util.Locale
6968
import javax.inject.Inject
7069

7170
@AndroidEntryPoint
@@ -95,7 +94,7 @@ class HomeActivity : PassphraseRequiredActionBarActivity(),
9594
HomeAdapter(context = this, listener = this)
9695
}
9796

98-
private val globalSearchAdapter = GlobalSearchAdapter { model ->
97+
private val globalSearchAdapter = GlobalSearchAdapter(dateUtil) { model ->
9998
when (model) {
10099
is GlobalSearchAdapter.Model.Message -> {
101100
val threadId = model.messageResult.threadId
@@ -285,7 +284,7 @@ class HomeActivity : PassphraseRequiredActionBarActivity(),
285284
if (messageRequestCount > 0 && !textSecurePreferences.hasHiddenMessageRequests()) {
286285
with(ViewMessageRequestBannerBinding.inflate(layoutInflater)) {
287286
unreadCountTextView.text = messageRequestCount.toString()
288-
timestampTextView.text = dateUtil.getDisplayFormattedTimeSpanString(threadDb.latestUnapprovedConversationTimestamp)
287+
timestampTextView.text = dateUtil.format(threadDb.latestUnapprovedConversationTimestamp)
289288
root.setOnClickListener { showMessageRequests() }
290289
root.setOnLongClickListener { hideMessageRequests(); true }
291290
root.layoutParams = RecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT)

app/src/main/java/org/thoughtcrime/securesms/home/search/GlobalSearchAdapter.kt

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,22 @@ import android.view.ViewGroup
66
import androidx.annotation.StringRes
77
import androidx.recyclerview.widget.DiffUtil
88
import androidx.recyclerview.widget.RecyclerView
9+
import dagger.hilt.android.AndroidEntryPoint
910
import network.loki.messenger.R
1011
import network.loki.messenger.databinding.ViewGlobalSearchHeaderBinding
1112
import network.loki.messenger.databinding.ViewGlobalSearchResultBinding
1213
import org.session.libsession.utilities.GroupRecord
1314
import org.session.libsession.utilities.recipients.Recipient
1415
import org.thoughtcrime.securesms.mms.GlideApp
1516
import org.thoughtcrime.securesms.search.model.MessageResult
17+
import org.thoughtcrime.securesms.util.DateUtil
1618
import java.security.InvalidParameterException
1719
import org.session.libsession.messaging.contacts.Contact as ContactModel
1820

19-
class GlobalSearchAdapter (private val modelCallback: (Model)->Unit): RecyclerView.Adapter<RecyclerView.ViewHolder>() {
21+
class GlobalSearchAdapter(
22+
private val dateUtil: DateUtil,
23+
private val modelCallback: (Model) -> Unit
24+
) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
2025

2126
companion object {
2227
const val HEADER_VIEW_TYPE = 0
@@ -47,8 +52,10 @@ class GlobalSearchAdapter (private val modelCallback: (Model)->Unit): RecyclerVi
4752
} else {
4853
ContentView(
4954
LayoutInflater.from(parent.context)
50-
.inflate(R.layout.view_global_search_result, parent, false)
51-
, modelCallback)
55+
.inflate(R.layout.view_global_search_result, parent, false),
56+
dateUtil,
57+
modelCallback
58+
)
5259
}
5360

5461
override fun onBindViewHolder(
@@ -69,7 +76,7 @@ class GlobalSearchAdapter (private val modelCallback: (Model)->Unit): RecyclerVi
6976
}
7077

7178
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
72-
onBindViewHolder(holder,position, mutableListOf())
79+
onBindViewHolder(holder, position, mutableListOf())
7380
}
7481

7582
class HeaderView(view: View) : RecyclerView.ViewHolder(view) {
@@ -87,8 +94,11 @@ class GlobalSearchAdapter (private val modelCallback: (Model)->Unit): RecyclerVi
8794
}
8895
}
8996

90-
class ContentView(view: View, private val modelCallback: (Model) -> Unit) : RecyclerView.ViewHolder(view) {
91-
97+
class ContentView(
98+
view: View,
99+
private val dateUtil: DateUtil,
100+
private val modelCallback: (Model) -> Unit
101+
) : RecyclerView.ViewHolder(view) {
92102
val binding = ViewGlobalSearchResultBinding.bind(view).apply {
93103
searchResultProfilePicture.root.glide = GlideApp.with(root)
94104
}
@@ -102,7 +112,7 @@ class GlobalSearchAdapter (private val modelCallback: (Model)->Unit): RecyclerVi
102112
when (model) {
103113
is Model.GroupConversation -> bindModel(query, model)
104114
is Model.Contact -> bindModel(query, model)
105-
is Model.Message -> bindModel(query, model)
115+
is Model.Message -> bindModel(dateUtil, query, model)
106116
is Model.SavedMessages -> bindModel(model)
107117
is Model.Header -> throw InvalidParameterException("Can't display Model.Header as ContentView")
108118
}
@@ -112,14 +122,14 @@ class GlobalSearchAdapter (private val modelCallback: (Model)->Unit): RecyclerVi
112122
}
113123

114124
data class MessageModel(
115-
val threadRecipient: Recipient,
116-
val messageRecipient: Recipient,
117-
val messageSnippet: String
125+
val threadRecipient: Recipient,
126+
val messageRecipient: Recipient,
127+
val messageSnippet: String
118128
)
119129

120130
sealed class Model {
121131
data class Header(@StringRes val title: Int) : Model()
122-
data class SavedMessages(val currentUserPublicKey: String): Model()
132+
data class SavedMessages(val currentUserPublicKey: String) : Model()
123133
data class Contact(val contact: ContactModel) : Model()
124134
data class GroupConversation(val groupRecord: GroupRecord) : Model()
125135
data class Message(val messageResult: MessageResult, val unread: Int) : Model()

0 commit comments

Comments
 (0)