Exemplo n.º 1
0
  /** Initialize the search engine list. */
  private void initEntries() {
    TemplateUrlService templateUrlService = TemplateUrlService.getInstance();
    if (!templateUrlService.isLoaded()) {
      templateUrlService.registerLoadListener(this);
      templateUrlService.load();
      return; // Flow continues in onTemplateUrlServiceLoaded below.
    }

    // Fetch all the search engine info and the currently active one.
    mSearchEngines = templateUrlService.getLocalizedSearchEngines();
    int searchEngineIndex = templateUrlService.getDefaultSearchEngineIndex();
    // Convert the TemplateUrl index into an index into mSearchEngines.
    mSelectedSearchEnginePosition = -1;
    for (int i = 0; i < mSearchEngines.size(); ++i) {
      if (mSearchEngines.get(i).getIndex() == searchEngineIndex) {
        mSelectedSearchEnginePosition = i;
      }
    }

    // Report back what is selected.
    String name = "";
    if (mSelectedSearchEnginePosition > -1) {
      name = mSearchEngines.get(mSelectedSearchEnginePosition).getShortName();
    }
    mCallback.currentSearchEngineDetermined(name);
  }
Exemplo n.º 2
0
  private void searchEngineSelected(int position) {
    // First clean up any automatically added permissions (if any) for the previously selected
    // search engine.
    SharedPreferences sharedPreferences = ContextUtils.getAppSharedPreferences();
    if (sharedPreferences.getBoolean(PrefServiceBridge.LOCATION_AUTO_ALLOWED, false)) {
      if (locationEnabled(mSelectedSearchEnginePosition, false)) {
        String url =
            TemplateUrlService.getInstance()
                .getSearchEngineUrlFromTemplateUrl(toIndex(mSelectedSearchEnginePosition));
        WebsitePreferenceBridge.nativeSetGeolocationSettingForOrigin(
            url, url, ContentSetting.DEFAULT.toInt(), false);
      }
      sharedPreferences.edit().remove(PrefServiceBridge.LOCATION_AUTO_ALLOWED).apply();
    }

    // Record the change in search engine.
    mSelectedSearchEnginePosition = position;
    TemplateUrlService.getInstance().setSearchEngine(toIndex(mSelectedSearchEnginePosition));

    // Report the change back.
    TemplateUrl templateUrl = mSearchEngines.get(mSelectedSearchEnginePosition);
    mCallback.currentSearchEngineDetermined(templateUrl.getShortName());

    notifyDataSetChanged();
  }
Exemplo n.º 3
0
 private void onLocationLinkClicked() {
   if (!LocationSettings.getInstance().isSystemLocationSettingEnabled()) {
     mContext.startActivity(LocationSettings.getInstance().getSystemLocationSettingsIntent());
   } else {
     Intent settingsIntent =
         PreferencesLauncher.createIntentForSettingsPage(
             mContext, SingleWebsitePreferences.class.getName());
     String url =
         TemplateUrlService.getInstance()
             .getSearchEngineUrlFromTemplateUrl(toIndex(mSelectedSearchEnginePosition));
     Bundle fragmentArgs = SingleWebsitePreferences.createFragmentArgsForSite(url);
     fragmentArgs.putBoolean(
         SingleWebsitePreferences.EXTRA_LOCATION,
         locationEnabled(mSelectedSearchEnginePosition, true));
     settingsIntent.putExtra(Preferences.EXTRA_SHOW_FRAGMENT_ARGUMENTS, fragmentArgs);
     mContext.startActivity(settingsIntent);
   }
   mCallback.onDismissDialog();
 }