Remove two AsyncTasks.

This commit is contained in:
Alan Evans
2021-02-23 12:48:20 -04:00
committed by GitHub
parent 270606699b
commit d651716d99
2 changed files with 39 additions and 44 deletions

View File

@@ -1,12 +1,12 @@
package org.thoughtcrime.securesms.util;
import android.content.Context;
import android.os.AsyncTask;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import org.signal.core.util.concurrent.SignalExecutors;
import org.signal.core.util.logging.Log;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.crypto.DatabaseSessionLock;
@@ -30,6 +30,7 @@ import org.thoughtcrime.securesms.sms.OutgoingIdentityVerifiedMessage;
import org.thoughtcrime.securesms.sms.OutgoingTextMessage;
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture;
import org.thoughtcrime.securesms.util.concurrent.SettableFuture;
import org.thoughtcrime.securesms.util.concurrent.SimpleTask;
import org.whispersystems.libsignal.IdentityKey;
import org.whispersystems.libsignal.SignalProtocolAddress;
import org.whispersystems.libsignal.state.IdentityKeyStore;
@@ -41,25 +42,20 @@ import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage
import java.util.List;
public class IdentityUtil {
public final class IdentityUtil {
private static final String TAG = IdentityUtil.class.getSimpleName();
private IdentityUtil() {}
private static final String TAG = Log.tag(IdentityUtil.class);
public static ListenableFuture<Optional<IdentityRecord>> getRemoteIdentityKey(final Context context, final Recipient recipient) {
final SettableFuture<Optional<IdentityRecord>> future = new SettableFuture<>();
final SettableFuture<Optional<IdentityRecord>> future = new SettableFuture<>();
final RecipientId recipientId = recipient.getId();
new AsyncTask<Recipient, Void, Optional<IdentityRecord>>() {
@Override
protected Optional<IdentityRecord> doInBackground(Recipient... recipient) {
return DatabaseFactory.getIdentityDatabase(context)
.getIdentity(recipient[0].getId());
}
@Override
protected void onPostExecute(Optional<IdentityRecord> result) {
future.set(result);
}
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, recipient);
SimpleTask.run(SignalExecutors.BOUNDED,
() -> DatabaseFactory.getIdentityDatabase(context)
.getIdentity(recipientId),
future::set);
return future;
}