mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 12:38:33 +00:00
Move distribution type operation into ConversationViewModel.
This commit is contained in:
committed by
Greyson Parrelli
parent
53716019b6
commit
1056adb591
@@ -1273,34 +1273,16 @@ public class ConversationParentFragment extends Fragment
|
||||
public void handleDistributionBroadcastEnabled(MenuItem item) {
|
||||
distributionType = ThreadTable.DistributionTypes.BROADCAST;
|
||||
draftViewModel.setDistributionType(distributionType);
|
||||
viewModel.setDistributionType(distributionType);
|
||||
item.setChecked(true);
|
||||
|
||||
if (threadId != -1) {
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Void... params) {
|
||||
SignalDatabase.threads().setDistributionType(threadId, ThreadTable.DistributionTypes.BROADCAST);
|
||||
return null;
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleDistributionConversationEnabled(MenuItem item) {
|
||||
distributionType = ThreadTable.DistributionTypes.CONVERSATION;
|
||||
draftViewModel.setDistributionType(distributionType);
|
||||
viewModel.setDistributionType(distributionType);
|
||||
item.setChecked(true);
|
||||
|
||||
if (threadId != -1) {
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Void... params) {
|
||||
SignalDatabase.threads().setDistributionType(threadId, ThreadTable.DistributionTypes.CONVERSATION);
|
||||
return null;
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -216,4 +216,8 @@ class ConversationRepository {
|
||||
public void setConversationMuted(@NonNull RecipientId recipientId, long until) {
|
||||
SignalExecutors.BOUNDED.execute(() -> SignalDatabase.recipients().setMuted(recipientId, until));
|
||||
}
|
||||
|
||||
public void setConversationDistributionType(long threadId, int distributionType) {
|
||||
SignalExecutors.BOUNDED.execute(() -> SignalDatabase.threads().setDistributionType(threadId, distributionType));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -260,6 +260,15 @@ public class ConversationViewModel extends ViewModel {
|
||||
}
|
||||
}
|
||||
|
||||
void setDistributionType(int distributionType) {
|
||||
Long threadId = this.threadId.getValue();
|
||||
if (threadId == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
conversationRepository.setConversationDistributionType(threadId, distributionType);
|
||||
}
|
||||
|
||||
void submitMarkReadRequest(long timestampSince) {
|
||||
markReadRequestPublisher.onNext(timestampSince);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user