/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { mTraceStartUp = getIntent().hasExtra(INTENT_EXTRA_TRACE_START_UP); if (mTraceStartUp) { String traceFile = new File(getDir("traces", 0), "qsb-start.trace").getAbsolutePath(); Log.i(TAG, "Writing start-up trace to " + traceFile); Debug.startMethodTracing(traceFile); } recordStartTime(); if (DBG) Log.d(TAG, "onCreate()"); super.onCreate(savedInstanceState); // This forces the HTTP request to check the users domain to be // sent as early as possible. QsbApplication.get(this).getSearchBaseUrlHelper(); mSearchActivityView = setupContentView(); if (getConfig().showScrollingSuggestions()) { mSearchActivityView.setMaxPromotedSuggestions(getConfig().getMaxPromotedSuggestions()); } else { mSearchActivityView.limitSuggestionsToViewHeight(); } if (getConfig().showScrollingResults()) { mSearchActivityView.setMaxPromotedResults(getConfig().getMaxPromotedResults()); } else { mSearchActivityView.limitResultsToViewHeight(); } mSearchActivityView.setSearchClickListener( new SearchActivityView.SearchClickListener() { public boolean onSearchClicked(int method) { return SearchActivity.this.onSearchClicked(method); } }); mSearchActivityView.setQueryListener( new SearchActivityView.QueryListener() { public void onQueryChanged() { updateSuggestionsBuffered(); } }); mSearchActivityView.setSuggestionClickListener(new ClickHandler()); mSearchActivityView.setVoiceSearchButtonClickListener( new View.OnClickListener() { public void onClick(View view) { onVoiceSearchClicked(); } }); View.OnClickListener finishOnClick = new View.OnClickListener() { public void onClick(View v) { finish(); } }; mSearchActivityView.setExitClickListener(finishOnClick); // First get setup from intent Intent intent = getIntent(); setupFromIntent(intent); // Then restore any saved instance state restoreInstanceState(savedInstanceState); // Do this at the end, to avoid updating the list view when setSource() // is called. mSearchActivityView.start(); mCorporaObserver = new CorporaObserver(); getCorpora().registerDataSetObserver(mCorporaObserver); recordOnCreateDone(); }