diff --git a/app/src/common/shared/com/igalia/wolvic/ui/viewmodel/WindowViewModel.java b/app/src/common/shared/com/igalia/wolvic/ui/viewmodel/WindowViewModel.java index e9414f7f664..c79ea8af2e3 100644 --- a/app/src/common/shared/com/igalia/wolvic/ui/viewmodel/WindowViewModel.java +++ b/app/src/common/shared/com/igalia/wolvic/ui/viewmodel/WindowViewModel.java @@ -56,7 +56,6 @@ public class WindowViewModel extends AndroidViewModel { private MutableLiveData currentContentType; public MutableLiveData lastContentType; private MediatorLiveData isNativeContentVisible; - private MediatorLiveData isInNewTabPage; private MutableLiveData backToNewTabEnabled; private MutableLiveData isLoading; private MutableLiveData isMicrophoneEnabled; @@ -148,12 +147,6 @@ public WindowViewModel(Application application) { ); isNativeContentVisible.setValue(new ObservableBoolean(currentContentType.getValue() != Windows.ContentType.WEB_CONTENT)); - isInNewTabPage = new MediatorLiveData<>(); - isInNewTabPage.addSource(currentContentType, contentType -> - isInNewTabPage.setValue(new ObservableBoolean(contentType == Windows.ContentType.NEW_TAB)) - ); - isInNewTabPage.setValue(new ObservableBoolean(currentContentType.getValue() == Windows.ContentType.NEW_TAB)); - backToNewTabEnabled = new MutableLiveData<>(new ObservableBoolean(false)); isLoading = new MutableLiveData<>(new ObservableBoolean(false)); @@ -256,7 +249,7 @@ public void onChanged(ObservableBoolean o) { @Override public void onChanged(Spannable aUrl) { String url = aUrl.toString(); - if (isNativeContentVisible.getValue().get() && !isInNewTabPage.getValue().get()) { + if (isNativeContentVisible.getValue().get() && currentContentType.getValue() != Windows.ContentType.NEW_TAB) { url = getApplication().getString(R.string.url_library_title); } else if (currentContentType.getValue() == Windows.ContentType.NEW_TAB) { @@ -470,10 +463,10 @@ public MutableLiveData getHint() { } private String getHintValue() { - if (isNativeContentVisible.getValue().get() && !isInNewTabPage.getValue().get()) { + if (isNativeContentVisible.getValue().get() && currentContentType.getValue() != Windows.ContentType.NEW_TAB) { return getApplication().getString(R.string.url_library_title); - } else if (isInNewTabPage.getValue().get()) { + } else if (currentContentType.getValue() == Windows.ContentType.NEW_TAB) { return getApplication().getString(R.string.url_new_tab_title); } else { @@ -627,10 +620,6 @@ public MutableLiveData getIsNativeContentVisible() { return isNativeContentVisible; } - public MutableLiveData getIsInNewTabPage() { - return isInNewTabPage; - } - public void enableBackToNewTab(boolean backToNewTabEnabled) { this.backToNewTabEnabled.postValue(new ObservableBoolean(backToNewTabEnabled)); } diff --git a/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java b/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java index 528220491de..bc524d34f6f 100644 --- a/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java +++ b/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java @@ -1027,7 +1027,7 @@ public void onLocationChange(@NonNull WSession session, @Nullable String url) { updateTrackingProtection(); } - mBinding.navigationBarNavigation.reloadButton.setEnabled(!mViewModel.getIsInNewTabPage().getValue().get() && !UrlUtils.isPrivateAboutPage(getContext(), url)); + mBinding.navigationBarNavigation.reloadButton.setEnabled(mViewModel.getCurrentContentType().getValue() != Windows.ContentType.NEW_TAB && !UrlUtils.isPrivateAboutPage(getContext(), url)); } // Content delegate diff --git a/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java b/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java index d15de6f1f75..47378645638 100644 --- a/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java +++ b/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java @@ -600,7 +600,7 @@ private void hidePanel(boolean switchSurface) { } public void hideNewTab() { - if (mViewModel.getIsInNewTabPage().getValue().get()) { + if (mViewModel.getCurrentContentType().getValue() == Windows.ContentType.NEW_TAB) { mViewModel.enableBackToNewTab(true); hideNewTab(true); } diff --git a/app/src/main/res/layout/navigation_bar_navigation.xml b/app/src/main/res/layout/navigation_bar_navigation.xml index 5577ce102f4..580a7fde357 100644 --- a/app/src/main/res/layout/navigation_bar_navigation.xml +++ b/app/src/main/res/layout/navigation_bar_navigation.xml @@ -4,6 +4,7 @@ + @@ -50,7 +51,7 @@ style="?attr/navigationBarButtonStyle" android:src="@{viewmodel.isLoading ? @drawable/ic_icon_exit : @drawable/ic_icon_reload}" android:tooltipText="@{viewmodel.isLoading ? @string/stop_tooltip : @string/refresh_tooltip}" - android:enabled="@{!viewmodel.isInNewTabPage}" + android:enabled="@{viewmodel.currentContentType != ContentType.NEW_TAB}" app:privateMode="@{viewmodel.isPrivateSession}" /> + app:activeMode="@{viewmodel.isNativeContentVisible && viewmodel.currentContentType != ContentType.NEW_TAB}"/>