mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-08 06:58:35 +00:00
Fix corner cases with LinkPreviewViewModel enabled state.
This commit is contained in:
parent
ba712ce357
commit
0c332b6adb
@ -1903,11 +1903,6 @@ public class ConversationActivity extends PassphraseRequiredActivity
|
|||||||
private void initializeLinkPreviewObserver() {
|
private void initializeLinkPreviewObserver() {
|
||||||
linkPreviewViewModel = ViewModelProviders.of(this, new LinkPreviewViewModel.Factory(new LinkPreviewRepository())).get(LinkPreviewViewModel.class);
|
linkPreviewViewModel = ViewModelProviders.of(this, new LinkPreviewViewModel.Factory(new LinkPreviewRepository())).get(LinkPreviewViewModel.class);
|
||||||
|
|
||||||
if (!SignalStore.settings().isLinkPreviewsEnabled()) {
|
|
||||||
linkPreviewViewModel.onUserCancel();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
linkPreviewViewModel.getLinkPreviewState().observe(this, previewState -> {
|
linkPreviewViewModel.getLinkPreviewState().observe(this, previewState -> {
|
||||||
if (previewState == null) return;
|
if (previewState == null) return;
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ import org.thoughtcrime.securesms.groups.GroupId;
|
|||||||
import org.thoughtcrime.securesms.groups.GroupManager;
|
import org.thoughtcrime.securesms.groups.GroupManager;
|
||||||
import org.thoughtcrime.securesms.groups.v2.GroupInviteLinkUrl;
|
import org.thoughtcrime.securesms.groups.v2.GroupInviteLinkUrl;
|
||||||
import org.thoughtcrime.securesms.jobs.AvatarGroupsV2DownloadJob;
|
import org.thoughtcrime.securesms.jobs.AvatarGroupsV2DownloadJob;
|
||||||
|
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
||||||
import org.thoughtcrime.securesms.linkpreview.LinkPreviewUtil.OpenGraph;
|
import org.thoughtcrime.securesms.linkpreview.LinkPreviewUtil.OpenGraph;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
import org.thoughtcrime.securesms.mms.GlideApp;
|
import org.thoughtcrime.securesms.mms.GlideApp;
|
||||||
@ -84,6 +85,10 @@ public class LinkPreviewRepository {
|
|||||||
@NonNull String url,
|
@NonNull String url,
|
||||||
@NonNull Callback callback)
|
@NonNull Callback callback)
|
||||||
{
|
{
|
||||||
|
if (!SignalStore.settings().isLinkPreviewsEnabled()) {
|
||||||
|
throw new IllegalStateException();
|
||||||
|
}
|
||||||
|
|
||||||
CompositeRequestController compositeController = new CompositeRequestController();
|
CompositeRequestController compositeController = new CompositeRequestController();
|
||||||
|
|
||||||
if (!LinkPreviewUtil.isValidPreviewUrl(url)) {
|
if (!LinkPreviewUtil.isValidPreviewUrl(url)) {
|
||||||
|
@ -138,9 +138,9 @@ public class LinkPreviewViewModel extends ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onTransportChanged(boolean isSms) {
|
public void onTransportChanged(boolean isSms) {
|
||||||
enabled = !isSms;
|
enabled = SignalStore.settings().isLinkPreviewsEnabled() && !isSms;
|
||||||
|
|
||||||
if (isSms) {
|
if (!enabled) {
|
||||||
onUserCancel();
|
onUserCancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -159,12 +159,8 @@ public class LinkPreviewViewModel extends ViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onEnabled() {
|
public void onEnabled() {
|
||||||
if (!SignalStore.settings().isLinkPreviewsEnabled()) {
|
|
||||||
throw new AssertionError();
|
|
||||||
}
|
|
||||||
|
|
||||||
userCanceled = false;
|
userCanceled = false;
|
||||||
enabled = true;
|
enabled = SignalStore.settings().isLinkPreviewsEnabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
x
Reference in New Issue
Block a user