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

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

Issue 2855543005: 🔍 Add basic SearchActivityTests (Closed)
Patch Set: rebase 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
index c161dab2a3d3d01a81d66d944909c31d4fc9b7c5..dbb7e91fa28d69a48ef98c98899efb91ecf150c7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchActivity.java
@@ -37,11 +37,26 @@ import org.chromium.ui.base.ActivityWindowAndroid;
/** Queries the user's default search engine and shows autocomplete suggestions. */
public class SearchActivity extends AsyncInitializationActivity
implements SnackbarManageable, SearchActivityLocationBarLayout.Delegate {
+ /** Notified about events happening inside a SearchActivity. */
+ public interface SearchActivityObserver {
+ /** Called when {@link SearchActivity#setContentView} is done. */
+ void onSetContentView();
+
+ /** Called when {@link SearchActivity#finishNativeInitialization} is done. */
+ void onFinishNativeInitialization();
+
+ /** Called when {@link SearchActivity#finishDeferredInitialization} is done. */
+ void onFinishDeferredInitialization();
+ }
+
private static final String TAG = "searchwidget";
/** Setting this field causes the Activity to finish itself immediately for tests. */
private static boolean sIsDisabledForTest;
+ /** Notified about events happening for the SearchActivity. */
+ private static SearchActivityObserver sObserver;
+
/** Main content view. */
private ViewGroup mContentView;
@@ -84,14 +99,15 @@ public class SearchActivity extends AsyncInitializationActivity
mSnackbarManager = new SnackbarManager(this, null);
mSearchBoxDataProvider = new SearchBoxDataProvider();
- // Build the search box.
mContentView = createContentView();
+ setContentView(mContentView);
+
+ // Build the search box.
mSearchBox = (SearchActivityLocationBarLayout) mContentView.findViewById(
R.id.search_location_bar);
mSearchBox.setDelegate(this);
mSearchBox.setToolbarDataProvider(mSearchBoxDataProvider);
mSearchBox.initializeControls(new WindowDelegate(getWindow()), getWindowAndroid());
- setContentView(mContentView);
// Kick off everything needed for the user to type into the box.
// TODO(dfalcantara): We should prevent the user from doing anything while we're running the
@@ -108,6 +124,8 @@ public class SearchActivity extends AsyncInitializationActivity
beginLoadingLibrary();
}
});
+
+ if (sObserver != null) sObserver.onSetContentView();
}
@Override
@@ -139,6 +157,8 @@ public class SearchActivity extends AsyncInitializationActivity
}
});
}
+
+ if (sObserver != null) sObserver.onFinishNativeInitialization();
}
private void finishDeferredInitialization(Boolean result) {
@@ -154,6 +174,8 @@ public class SearchActivity extends AsyncInitializationActivity
AutocompleteController.nativePrefetchZeroSuggestResults();
CustomTabsConnection.getInstance(getApplication()).warmup(0);
mSearchBox.onDeferredStartup(isVoiceSearchIntent());
+
+ if (sObserver != null) sObserver.onFinishDeferredInitialization();
}
@Override
@@ -242,4 +264,10 @@ public class SearchActivity extends AsyncInitializationActivity
static void disableForTests() {
sIsDisabledForTest = true;
}
+
+ /** See {@link #sObserver}. */
+ @VisibleForTesting
+ static void setObserverForTests(SearchActivityObserver observer) {
+ sObserver = observer;
+ }
}
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/searchwidget/SearchWidgetProvider.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698