Skip to content
This repository has been archived by the owner. It is now read-only.

[IP-618] [Search] Onboarding for existing users #397

Merged
merged 7 commits into from Jul 22, 2019
Merged
Changes from 1 commit
Commits
File filter
Filter file types
Jump to
Jump to file
Failed to load files.

Always

Just for now

fixed onboarding showing logic

  • Loading branch information
Pavel
Pavel committed Jul 22, 2019
commit 15a739d6324dc58045f61c2c9c7edc735917d7b8
@@ -927,10 +927,7 @@ class BrowserViewController: UIViewController {
if shouldShowCliqzSearch {
if self.shouldShowSearchOnboarding() {
LegacyTelemetryHelper.logOnboarding(action: "show", topic: "search")
} else {
/// Never show onboarding if Lumen was already a search engine
UserPreferences.instance.showSearchOnboarding = false
}
}

homePanelController?.view?.isHidden = true

@@ -1009,9 +1006,7 @@ class BrowserViewController: UIViewController {
}

private func shouldShowSearchOnboarding() -> Bool {
let showOboarding = UserPreferences.instance.showSearchOnboarding
let isLumenDefault = SettingsPrefs.shared.isLumenDefaultSearchEngine
return showOboarding && !isLumenDefault
return UserPreferences.instance.showSearchOnboarding
}

func hideSearchController() {
@@ -2369,7 +2364,7 @@ extension BrowserViewController: IntroViewControllerDelegate {
/* Cliqz: determining the first launch. */
let isFirstLaunch = profile.prefs.intForKey(PrefsKeys.IntroSeen) == nil
if isFirstLaunch {
UserPreferences.instance.showSearchOnboarding = false
// UserPreferences.instance.showSearchOnboarding = false
}

if force || isFirstLaunch {
@@ -32,4 +32,12 @@ extension BrowserViewController: SearchViewDelegate {
updateSearchQuery(query: query)
}
}

func makeLumenDefaultSearch() {
let lumenSearchEngine = self.profile.searchEngines.orderedEngines.filter { $0.shortName == LumenSearchEngineDisplayName }.first
if let engine = lumenSearchEngine {
self.profile.searchEngines.defaultEngine = engine
self.urlBar.updatePlaceHolders()
}
}
}
@@ -96,8 +96,10 @@ class JSBridge : RCTEventEmitter {

@objc(getConfig:reject:)
func getConfig(resolve: @escaping RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
let shouldShowOnboarding = UserPreferences.instance.showSearchOnboarding && !SettingsPrefs.shared.isLumenDefaultSearchEngine
resolve(["onboarding": shouldShowOnboarding])
if SettingsPrefs.shared.isLumenDefaultSearchEngine {
UserPreferences.instance.showSearchOnboarding = false
}
resolve(["onboarding": UserPreferences.instance.showSearchOnboarding])
}

/// Call an action over the JSBridge and execute a callback with the result. Invokation of the callback is
@@ -29,6 +29,7 @@ protocol SearchViewDelegate: class {
func autoCompeleteQuery(_ autoCompleteText: String)
func dismissKeyboard()
func closeSearchOnboarding()
func makeLumenDefaultSearch()
}

let OpenURLIsSearchEngineKey = "OpenURLIsSearchEngineKey"
@@ -301,10 +302,7 @@ extension CliqzSearchViewController {
LegacyTelemetryHelper.logOnboarding(action: "click", target: "try", topic: "search")
UserPreferences.instance.showSearchOnboarding = false
if !SettingsPrefs.shared.isLumenDefaultSearchEngine {
let lumenSearchEngine = self.profile.searchEngines.orderedEngines.filter { $0.shortName == LumenSearchEngineDisplayName }.first
if let engine = lumenSearchEngine {
self.profile.searchEngines.defaultEngine = engine
}
delegate?.makeLumenDefaultSearch()
}
}

ProTip! Use n and p to navigate between commits in a pull request.