diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/viewmodel/WindowViewModel.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/viewmodel/WindowViewModel.java index e17993b6c..25ba3bfa4 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/viewmodel/WindowViewModel.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/viewmodel/WindowViewModel.java @@ -18,10 +18,8 @@ import org.mozilla.vrbrowser.R; import org.mozilla.vrbrowser.VRBrowserApplication; import org.mozilla.vrbrowser.browser.SettingsStore; -import org.mozilla.vrbrowser.browser.engine.SessionStore; import org.mozilla.vrbrowser.ui.widgets.Windows; import org.mozilla.vrbrowser.utils.ServoUtils; -import org.mozilla.vrbrowser.utils.StringUtils; import org.mozilla.vrbrowser.utils.UrlUtils; import java.io.UnsupportedEncodingException; @@ -129,7 +127,7 @@ public WindowViewModel(Application application) { isMicrophoneEnabled = new MutableLiveData<>(new ObservableBoolean(true)); isBookmarked = new MutableLiveData<>(new ObservableBoolean(false)); isFocused = new MutableLiveData<>(new ObservableBoolean(false)); - isUrlEmpty = new MutableLiveData<>(new ObservableBoolean(false)); + isUrlEmpty = new MutableLiveData<>(new ObservableBoolean(true)); isPopUpAvailable = new MutableLiveData<>(new ObservableBoolean(false)); canGoForward = new MutableLiveData<>(new ObservableBoolean(false)); canGoBack = new MutableLiveData<>(new ObservableBoolean(false)); @@ -323,9 +321,7 @@ public MutableLiveData getUrl() { } public void setUrl(@Nullable String url) { - if (url != null) { - this.url.setValue(new SpannableString(url)); - } + setUrl(new SpannableString(url)); } public void setUrl(@Nullable Spannable url) { @@ -339,16 +335,6 @@ public void setUrl(@Nullable Spannable url) { return; } - if (StringUtils.isEmpty(aURL)) { - setIsBookmarked(false); - - } else { - SessionStore.get().getBookmarkStore().isBookmarked(aURL).thenAcceptAsync(this::setIsBookmarked, mUIThreadExecutor).exceptionally(throwable -> { - throwable.printStackTrace(); - return null; - }); - } - int index = -1; try { aURL = URLDecoder.decode(aURL, "UTF-8"); diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java index 9d77b257a..cb8c7c3ec 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/WindowWidget.java @@ -59,6 +59,7 @@ import org.mozilla.vrbrowser.ui.widgets.dialogs.SelectionActionWidget; import org.mozilla.vrbrowser.ui.widgets.menus.ContextMenuWidget; import org.mozilla.vrbrowser.ui.widgets.menus.LibraryMenuWidget; +import org.mozilla.vrbrowser.utils.StringUtils; import org.mozilla.vrbrowser.utils.ViewUtils; import java.util.Arrays; @@ -1583,6 +1584,16 @@ public void captureImage() { @Override public void onLocationChange(@NonNull GeckoSession session, @Nullable String url) { mViewModel.setUrl(url); + + if (StringUtils.isEmpty(url)) { + mViewModel.setIsBookmarked(false); + + } else { + SessionStore.get().getBookmarkStore().isBookmarked(url).thenAcceptAsync(aBoolean -> mViewModel.setIsBookmarked(aBoolean), mUIThreadExecutor).exceptionally(throwable -> { + throwable.printStackTrace(); + return null; + }); + } } @Override