mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-20 16:49:40 +01:00
Rewrite the AppDependencies system.
This commit is contained in:
committed by
Cody Henthorne
parent
a0131bf39b
commit
b6a4e1f145
@@ -5,7 +5,7 @@ import androidx.annotation.NonNull;
|
||||
import com.annimon.stream.ComparatorCompat;
|
||||
|
||||
import org.thoughtcrime.securesms.conversation.ConversationMessage;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
@@ -13,8 +13,8 @@ import java.util.List;
|
||||
import java.util.TreeSet;
|
||||
|
||||
public final class MessageDetails {
|
||||
private static final Comparator<RecipientDeliveryStatus> HAS_DISPLAY_NAME = (r1, r2) -> Boolean.compare(r2.getRecipient().hasAUserSetDisplayName(ApplicationDependencies.getApplication()), r1.getRecipient().hasAUserSetDisplayName(ApplicationDependencies.getApplication()));
|
||||
private static final Comparator<RecipientDeliveryStatus> ALPHABETICAL = (r1, r2) -> r1.getRecipient().getDisplayName(ApplicationDependencies.getApplication()).compareToIgnoreCase(r2.getRecipient().getDisplayName(ApplicationDependencies.getApplication()));
|
||||
private static final Comparator<RecipientDeliveryStatus> HAS_DISPLAY_NAME = (r1, r2) -> Boolean.compare(r2.getRecipient().hasAUserSetDisplayName(AppDependencies.getApplication()), r1.getRecipient().hasAUserSetDisplayName(AppDependencies.getApplication()));
|
||||
private static final Comparator<RecipientDeliveryStatus> ALPHABETICAL = (r1, r2) -> r1.getRecipient().getDisplayName(AppDependencies.getApplication()).compareToIgnoreCase(r2.getRecipient().getDisplayName(AppDependencies.getApplication()));
|
||||
private static final Comparator<RecipientDeliveryStatus> RECIPIENT_COMPARATOR = ComparatorCompat.chain(HAS_DISPLAY_NAME).thenComparing(ALPHABETICAL);
|
||||
|
||||
private final ConversationMessage conversationMessage;
|
||||
|
||||
@@ -19,7 +19,7 @@ import org.thoughtcrime.securesms.database.documents.IdentityKeyMismatch;
|
||||
import org.thoughtcrime.securesms.database.documents.NetworkFailure;
|
||||
import org.thoughtcrime.securesms.database.model.MessageId;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.whispersystems.signalservice.api.push.DistributionId;
|
||||
@@ -34,7 +34,7 @@ import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||
|
||||
public final class MessageDetailsRepository {
|
||||
|
||||
private final Context context = ApplicationDependencies.getApplication();
|
||||
private final Context context = AppDependencies.getApplication();
|
||||
|
||||
@NonNull LiveData<MessageRecord> getMessageRecord(Long messageId) {
|
||||
return new MessageRecordLiveData(new MessageId(messageId));
|
||||
@@ -65,8 +65,8 @@ public final class MessageDetailsRepository {
|
||||
}
|
||||
};
|
||||
|
||||
ApplicationDependencies.getDatabaseObserver().registerMessageUpdateObserver(messageObserver);
|
||||
emitter.setCancellable(() -> ApplicationDependencies.getDatabaseObserver().unregisterObserver(messageObserver));
|
||||
AppDependencies.getDatabaseObserver().registerMessageUpdateObserver(messageObserver);
|
||||
emitter.setCancellable(() -> AppDependencies.getDatabaseObserver().unregisterObserver(messageObserver));
|
||||
|
||||
messageObserver.onMessageChanged(messageId);
|
||||
}).observeOn(Schedulers.io());
|
||||
|
||||
@@ -5,12 +5,11 @@ import androidx.lifecycle.LiveData;
|
||||
|
||||
import org.signal.core.util.concurrent.SignalExecutors;
|
||||
import org.thoughtcrime.securesms.database.DatabaseObserver;
|
||||
import org.thoughtcrime.securesms.database.MessageTable;
|
||||
import org.thoughtcrime.securesms.database.NoSuchMessageException;
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.MessageId;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
|
||||
import org.thoughtcrime.securesms.dependencies.AppDependencies;
|
||||
|
||||
final class MessageRecordLiveData extends LiveData<MessageRecord> {
|
||||
|
||||
@@ -29,7 +28,7 @@ final class MessageRecordLiveData extends LiveData<MessageRecord> {
|
||||
|
||||
@Override
|
||||
protected void onInactive() {
|
||||
ApplicationDependencies.getDatabaseObserver().unregisterObserver(observer);
|
||||
AppDependencies.getDatabaseObserver().unregisterObserver(observer);
|
||||
}
|
||||
|
||||
@WorkerThread
|
||||
@@ -42,7 +41,7 @@ final class MessageRecordLiveData extends LiveData<MessageRecord> {
|
||||
}
|
||||
|
||||
postValue(record);
|
||||
ApplicationDependencies.getDatabaseObserver().registerVerboseConversationObserver(record.getThreadId(), observer);
|
||||
AppDependencies.getDatabaseObserver().registerVerboseConversationObserver(record.getThreadId(), observer);
|
||||
} catch (NoSuchMessageException ignored) {
|
||||
postValue(null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user