示例#1
0
  /** 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();
  }