From ead2f43852d76b5f3ed2e5feffa16bdb7a478627 Mon Sep 17 00:00:00 2001 From: Manuel Martin Date: Sat, 24 Aug 2019 01:10:48 +0200 Subject: [PATCH] Fixes url bar state not being correctly refreshed after changing focus. (#1648) --- .../vrbrowser/ui/views/NavigationURLBar.java | 5 ++- .../vrbrowser/ui/widgets/WindowWidget.java | 43 +++++++++++++++---- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/views/NavigationURLBar.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/views/NavigationURLBar.java index afe8bf8e2..ced9e3218 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/views/NavigationURLBar.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/views/NavigationURLBar.java @@ -310,7 +310,10 @@ public void setURL(String aURL) { } } mIsContextButtonsEnabled = aURL.length() > 0 && !aURL.startsWith("about://"); - showContextButtons(mIsContextButtonsEnabled); + + if (!aURL.equals(getResources().getString(R.string.url_bookmarks_title))) { + showContextButtons(mIsContextButtonsEnabled); + } } mURL.addTextChangedListener(mURLTextWatcher); 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 a5bab55c8..dfe0be28f 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 @@ -279,23 +279,16 @@ public void removeBookmarksListener(@NonNull BookmarkListener listener) { public void switchBookmarks() { if (mView == null) { setView(mBookmarksView); - if (mTitleBar != null) { - mTitleBar.setURL(R.string.url_bookmarks_title); - mTitleBar.setInsecureVisibility(View.GONE); - } for (BookmarkListener listener : mBookmarksListeners) listener.onBookmarksShown(this); } else { unsetView(mBookmarksView); - if (mTitleBar != null) { - mTitleBar.setURL(mSessionStack.getCurrentUri()); - mTitleBar.setInsecureVisibility(View.VISIBLE); - mTitleBar.setIsInsecure(!mSessionStack.isSecure()); - } for (BookmarkListener listener : mBookmarksListeners) listener.onBookmarksHidden(this); } + + updateTitleBar(); } public void hideBookmarks() { @@ -407,12 +400,44 @@ public void setActiveWindow(boolean active) { if (session != null) { session.getTextInput().setView(this); } + } else { + updateTitleBar(); } TelemetryWrapper.activePlacementEvent(mWindowPlacement.getValue(), mActive); updateBorder(); } + private void updateTitleBar() { + if (isBookmarksVisible()) { + updateTitleBarUrl(getResources().getString(R.string.url_bookmarks_title)); + + } else { + updateTitleBarUrl(mSessionStack.getCurrentUri()); + } + } + + private void updateTitleBarUrl(String url) { + if (mTitleBar != null && url != null) { + mTitleBar.setIsInsecure(!mSessionStack.isSecure()); + if (url.startsWith("data") && mSessionStack.isPrivateMode()) { + mTitleBar.setInsecureVisibility(GONE); + mTitleBar.setURL(getResources().getString(R.string.private_browsing_title)); + + } else if (url.equals(mSessionStack.getHomeUri())) { + mTitleBar.setInsecureVisibility(GONE); + mTitleBar.setURL(getResources().getString(R.string.url_home_title, getResources().getString(R.string.app_name))); + + } else if (url.equals(getResources().getString(R.string.url_bookmarks_title))) { + mTitleBar.setInsecureVisibility(GONE); + mTitleBar.setURL(url); + + } else { + mTitleBar.setURL(url); + } + } + } + public SessionStack getSessionStack() { return mSessionStack; }