mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-23 20:48:43 +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) {
|
public void handleDistributionBroadcastEnabled(MenuItem item) {
|
||||||
distributionType = ThreadTable.DistributionTypes.BROADCAST;
|
distributionType = ThreadTable.DistributionTypes.BROADCAST;
|
||||||
draftViewModel.setDistributionType(distributionType);
|
draftViewModel.setDistributionType(distributionType);
|
||||||
|
viewModel.setDistributionType(distributionType);
|
||||||
item.setChecked(true);
|
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
|
@Override
|
||||||
public void handleDistributionConversationEnabled(MenuItem item) {
|
public void handleDistributionConversationEnabled(MenuItem item) {
|
||||||
distributionType = ThreadTable.DistributionTypes.CONVERSATION;
|
distributionType = ThreadTable.DistributionTypes.CONVERSATION;
|
||||||
draftViewModel.setDistributionType(distributionType);
|
draftViewModel.setDistributionType(distributionType);
|
||||||
|
viewModel.setDistributionType(distributionType);
|
||||||
item.setChecked(true);
|
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
|
@Override
|
||||||
|
|||||||
@@ -216,4 +216,8 @@ class ConversationRepository {
|
|||||||
public void setConversationMuted(@NonNull RecipientId recipientId, long until) {
|
public void setConversationMuted(@NonNull RecipientId recipientId, long until) {
|
||||||
SignalExecutors.BOUNDED.execute(() -> SignalDatabase.recipients().setMuted(recipientId, 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) {
|
void submitMarkReadRequest(long timestampSince) {
|
||||||
markReadRequestPublisher.onNext(timestampSince);
|
markReadRequestPublisher.onNext(timestampSince);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user