Fix corner cases with LinkPreviewViewModel enabled state.

fork-5.53.8
Greyson Parrelli 2020-08-28 09:25:08 -04:00
rodzic ba712ce357
commit 0c332b6adb
3 zmienionych plików z 8 dodań i 12 usunięć

Wyświetl plik

@ -1903,11 +1903,6 @@ public class ConversationActivity extends PassphraseRequiredActivity
private void initializeLinkPreviewObserver() {
linkPreviewViewModel = ViewModelProviders.of(this, new LinkPreviewViewModel.Factory(new LinkPreviewRepository())).get(LinkPreviewViewModel.class);
if (!SignalStore.settings().isLinkPreviewsEnabled()) {
linkPreviewViewModel.onUserCancel();
return;
}
linkPreviewViewModel.getLinkPreviewState().observe(this, previewState -> {
if (previewState == null) return;

Wyświetl plik

@ -25,6 +25,7 @@ import org.thoughtcrime.securesms.groups.GroupId;
import org.thoughtcrime.securesms.groups.GroupManager;
import org.thoughtcrime.securesms.groups.v2.GroupInviteLinkUrl;
import org.thoughtcrime.securesms.jobs.AvatarGroupsV2DownloadJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.linkpreview.LinkPreviewUtil.OpenGraph;
import org.thoughtcrime.securesms.logging.Log;
import org.thoughtcrime.securesms.mms.GlideApp;
@ -84,6 +85,10 @@ public class LinkPreviewRepository {
@NonNull String url,
@NonNull Callback callback)
{
if (!SignalStore.settings().isLinkPreviewsEnabled()) {
throw new IllegalStateException();
}
CompositeRequestController compositeController = new CompositeRequestController();
if (!LinkPreviewUtil.isValidPreviewUrl(url)) {

Wyświetl plik

@ -138,9 +138,9 @@ public class LinkPreviewViewModel extends ViewModel {
}
public void onTransportChanged(boolean isSms) {
enabled = !isSms;
enabled = SignalStore.settings().isLinkPreviewsEnabled() && !isSms;
if (isSms) {
if (!enabled) {
onUserCancel();
}
}
@ -159,12 +159,8 @@ public class LinkPreviewViewModel extends ViewModel {
}
public void onEnabled() {
if (!SignalStore.settings().isLinkPreviewsEnabled()) {
throw new AssertionError();
}
userCanceled = false;
enabled = true;
enabled = SignalStore.settings().isLinkPreviewsEnabled();
}
@Override