Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(678)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java

Issue 2833673003: 🔍 More consistent first run triggering (Closed)
Patch Set: Rebased Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
index be13cdd29a2557eec51aab66d90220208b2845c1..cc0b913baf95757e5c0d350c388a019a8c3e7aaa 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java
@@ -27,6 +27,7 @@ import org.chromium.base.VisibleForTesting;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.IntentHandler;
+import org.chromium.chrome.browser.firstrun.FirstRunFlowSequencer;
import org.chromium.chrome.browser.search_engines.TemplateUrlService;
import org.chromium.chrome.browser.search_engines.TemplateUrlService.LoadListener;
import org.chromium.chrome.browser.search_engines.TemplateUrlService.TemplateUrlServiceObserver;
@@ -168,7 +169,7 @@ public class SearchWidgetProvider extends AppWidgetProvider {
@Override
public void run() {
if (IntentHandler.isIntentChromeOrFirstParty(intent)) {
- handleAction(intent.getAction());
+ handleAction(intent);
} else {
SearchWidgetProvider.super.onReceive(context, intent);
}
@@ -188,11 +189,12 @@ public class SearchWidgetProvider extends AppWidgetProvider {
/** Handles the intent actions to the widget. */
@VisibleForTesting
- static void handleAction(String action) {
+ static void handleAction(Intent intent) {
+ String action = intent.getAction();
if (ACTION_START_TEXT_QUERY.equals(action)) {
- startSearchActivity(false);
+ startSearchActivity(intent, false);
} else if (ACTION_START_VOICE_QUERY.equals(action)) {
- startSearchActivity(true);
+ startSearchActivity(intent, true);
} else if (ACTION_UPDATE_ALL_WIDGETS.equals(action)) {
performUpdate(null);
} else {
@@ -200,10 +202,13 @@ public class SearchWidgetProvider extends AppWidgetProvider {
}
}
- private static void startSearchActivity(boolean startVoiceSearch) {
+ private static void startSearchActivity(Intent intent, boolean startVoiceSearch) {
Log.d(TAG, "Launching SearchActivity: VOICE=" + startVoiceSearch);
Context context = getDelegate().getContext();
+ // Abort if the user needs to go through First Run.
+ if (FirstRunFlowSequencer.launch(context, intent, true)) return;
+
// Launch the SearchActivity.
Intent searchIntent = new Intent();
searchIntent.setClass(context, SearchActivity.class);

Powered by Google App Engine
This is Rietveld 408576698