From d983eb244439aae841f78694a1f3ea7845fbfb0e Mon Sep 17 00:00:00 2001 From: Daosheng Mu Date: Thu, 12 Sep 2019 15:43:37 -0700 Subject: [PATCH] Keep preload history. Fixes #1806 --- .../shared/org/mozilla/vrbrowser/browser/HistoryStore.kt | 6 +++--- .../org/mozilla/vrbrowser/ui/widgets/WindowWidget.java | 9 +++------ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/HistoryStore.kt b/app/src/common/shared/org/mozilla/vrbrowser/browser/HistoryStore.kt index 5fa14fb9c..b34f7ebe3 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/HistoryStore.kt +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/HistoryStore.kt @@ -46,8 +46,7 @@ class HistoryStore constructor(val context: Context) { storage.getDetailedVisits(0, excludeTypes = listOf( VisitType.NOT_A_VISIT, VisitType.REDIRECT_TEMPORARY, - VisitType.REDIRECT_PERMANENT, - VisitType.RELOAD)) + VisitType.REDIRECT_PERMANENT)) } fun recordVisit(aURL: String, visitType: VisitType) = GlobalScope.future { @@ -90,7 +89,8 @@ class HistoryStore constructor(val context: Context) { } fun isInHistory(aURL: String): CompletableFuture = GlobalScope.future { - storage.getVisited(listOf(aURL)).isNotEmpty() + var result = storage.getVisited(listOf(aURL)) + result.isNotEmpty() && result[0] } private fun notifyListeners() { 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 780afa165..66704edff 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 @@ -1479,22 +1479,19 @@ public GeckoResult onVisited(@NonNull GeckoSession geckoSession, @NonNu VisitType visitType; if (isReload) { visitType = VisitType.RELOAD; - } else { if ((flags & VISIT_REDIRECT_SOURCE_PERMANENT) != 0) { visitType = VisitType.REDIRECT_PERMANENT; - } else if ((flags & VISIT_REDIRECT_SOURCE) != 0) { visitType = VisitType.REDIRECT_TEMPORARY; - } else { visitType = VisitType.LINK; } } - SessionStore.get().getHistoryStore().deleteVisitsFor(url); - SessionStore.get().getHistoryStore().recordVisit(url, visitType); - + SessionStore.get().getHistoryStore().deleteVisitsFor(url).thenAcceptAsync(result -> { + SessionStore.get().getHistoryStore().recordVisit(url, visitType); + }); return GeckoResult.fromValue(true); }