Improving the way search engine preferences are handled
This commit is contained in:
parent
93be0afee4
commit
cf94963255
@ -19,6 +19,7 @@ import acr.browser.lightning.download.LightningDownloadListener;
|
|||||||
import acr.browser.lightning.fragment.BookmarkSettingsFragment;
|
import acr.browser.lightning.fragment.BookmarkSettingsFragment;
|
||||||
import acr.browser.lightning.fragment.BookmarksFragment;
|
import acr.browser.lightning.fragment.BookmarksFragment;
|
||||||
import acr.browser.lightning.fragment.DebugSettingsFragment;
|
import acr.browser.lightning.fragment.DebugSettingsFragment;
|
||||||
|
import acr.browser.lightning.fragment.GeneralSettingsFragment;
|
||||||
import acr.browser.lightning.fragment.LightningPreferenceFragment;
|
import acr.browser.lightning.fragment.LightningPreferenceFragment;
|
||||||
import acr.browser.lightning.fragment.PrivacySettingsFragment;
|
import acr.browser.lightning.fragment.PrivacySettingsFragment;
|
||||||
import acr.browser.lightning.fragment.TabsFragment;
|
import acr.browser.lightning.fragment.TabsFragment;
|
||||||
@ -88,4 +89,6 @@ public interface AppComponent {
|
|||||||
|
|
||||||
void inject(SearchEngineProvider searchEngineProvider);
|
void inject(SearchEngineProvider searchEngineProvider);
|
||||||
|
|
||||||
|
void inject(GeneralSettingsFragment generalSettingsFragment);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -22,10 +22,18 @@ import android.view.View;
|
|||||||
import android.webkit.URLUtil;
|
import android.webkit.URLUtil;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import acr.browser.lightning.BuildConfig;
|
import acr.browser.lightning.BuildConfig;
|
||||||
import acr.browser.lightning.R;
|
import acr.browser.lightning.R;
|
||||||
|
import acr.browser.lightning.app.BrowserApp;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
import acr.browser.lightning.dialog.BrowserDialog;
|
import acr.browser.lightning.dialog.BrowserDialog;
|
||||||
|
import acr.browser.lightning.search.SearchEngineProvider;
|
||||||
|
import acr.browser.lightning.search.engine.BaseSearchEngine;
|
||||||
|
import acr.browser.lightning.search.engine.CustomSearch;
|
||||||
import acr.browser.lightning.utils.FileUtils;
|
import acr.browser.lightning.utils.FileUtils;
|
||||||
import acr.browser.lightning.utils.ProxyUtils;
|
import acr.browser.lightning.utils.ProxyUtils;
|
||||||
import acr.browser.lightning.utils.ThemeUtils;
|
import acr.browser.lightning.utils.ThemeUtils;
|
||||||
@ -54,12 +62,16 @@ public class GeneralSettingsFragment extends LightningPreferenceFragment impleme
|
|||||||
private int mAgentChoice;
|
private int mAgentChoice;
|
||||||
private String mHomepage;
|
private String mHomepage;
|
||||||
|
|
||||||
|
@Inject SearchEngineProvider mSearchEngineProvider;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
// Load the preferences from an XML resource
|
// Load the preferences from an XML resource
|
||||||
addPreferencesFromResource(R.xml.preference_general);
|
addPreferencesFromResource(R.xml.preference_general);
|
||||||
|
|
||||||
|
BrowserApp.getAppComponent().inject(this);
|
||||||
|
|
||||||
mActivity = getActivity();
|
mActivity = getActivity();
|
||||||
|
|
||||||
initPrefs();
|
initPrefs();
|
||||||
@ -107,7 +119,8 @@ public class GeneralSettingsFragment extends LightningPreferenceFragment impleme
|
|||||||
mPreferenceManager.setFlashSupport(0);
|
mPreferenceManager.setFlashSupport(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
setSearchEngineSummary(mPreferenceManager.getSearchChoice());
|
BaseSearchEngine currentSearchEngine = mSearchEngineProvider.getCurrentSearchEngine();
|
||||||
|
setSearchEngineSummary(currentSearchEngine);
|
||||||
|
|
||||||
downloadloc.setSummary(mDownloadLocation);
|
downloadloc.setSummary(mDownloadLocation);
|
||||||
|
|
||||||
@ -175,18 +188,18 @@ public class GeneralSettingsFragment extends LightningPreferenceFragment impleme
|
|||||||
cbColorMode.setChecked(mPreferenceManager.getColorModeEnabled());
|
cbColorMode.setChecked(mPreferenceManager.getColorModeEnabled());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void searchUrlPicker() {
|
private void showUrlPicker(@NonNull final CustomSearch customSearch) {
|
||||||
|
|
||||||
BrowserDialog.showEditText(mActivity,
|
BrowserDialog.showEditText(mActivity,
|
||||||
R.string.custom_url,
|
R.string.search_engine_custom,
|
||||||
R.string.custom_url,
|
R.string.search_engine_custom,
|
||||||
mPreferenceManager.getSearchUrl(),
|
mPreferenceManager.getSearchUrl(),
|
||||||
R.string.action_ok,
|
R.string.action_ok,
|
||||||
new BrowserDialog.EditorListener() {
|
new BrowserDialog.EditorListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(String text) {
|
public void onClick(String text) {
|
||||||
mPreferenceManager.setSearchUrl(text);
|
mPreferenceManager.setSearchUrl(text);
|
||||||
searchengine.setSummary(mActivity.getString(R.string.custom_url) + ": " + text);
|
setSearchEngineSummary(customSearch);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -299,13 +312,24 @@ public class GeneralSettingsFragment extends LightningPreferenceFragment impleme
|
|||||||
BrowserDialog.setDialogSize(mActivity, dialog);
|
BrowserDialog.setDialogSize(mActivity, dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
private CharSequence[] convertSearchEngineToString(@NonNull List<BaseSearchEngine> searchEngines) {
|
||||||
|
CharSequence[] titles = new CharSequence[searchEngines.size()];
|
||||||
|
|
||||||
|
for (int n = 0; n < searchEngines.size(); n++) {
|
||||||
|
titles[n] = getString(searchEngines.get(n).getTitleRes());
|
||||||
|
}
|
||||||
|
|
||||||
|
return titles;
|
||||||
|
}
|
||||||
|
|
||||||
private void searchDialog() {
|
private void searchDialog() {
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity);
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity);
|
||||||
picker.setTitle(getResources().getString(R.string.title_search_engine));
|
picker.setTitle(getResources().getString(R.string.title_search_engine));
|
||||||
CharSequence[] chars = {getResources().getString(R.string.custom_url), "Google",
|
|
||||||
"Ask", "Bing", "Yahoo", "StartPage", "StartPage (Mobile)",
|
final List<BaseSearchEngine> searchEngineList = mSearchEngineProvider.getAllSearchEngines();
|
||||||
"DuckDuckGo (Privacy)", "DuckDuckGo Lite (Privacy)", "Baidu (Chinese)",
|
|
||||||
"Yandex (Russian)"};
|
CharSequence[] chars = convertSearchEngineToString(searchEngineList);
|
||||||
|
|
||||||
int n = mPreferenceManager.getSearchChoice();
|
int n = mPreferenceManager.getSearchChoice();
|
||||||
|
|
||||||
@ -313,8 +337,19 @@ public class GeneralSettingsFragment extends LightningPreferenceFragment impleme
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
mPreferenceManager.setSearchChoice(which);
|
BaseSearchEngine searchEngine = searchEngineList.get(which);
|
||||||
setSearchEngineSummary(which);
|
|
||||||
|
// Store the search engine preference
|
||||||
|
int preferencesIndex = mSearchEngineProvider.mapSearchEngineToPreferenceIndex(searchEngine);
|
||||||
|
mPreferenceManager.setSearchChoice(preferencesIndex);
|
||||||
|
|
||||||
|
if (searchEngine instanceof CustomSearch) {
|
||||||
|
// Show the URL picker
|
||||||
|
showUrlPicker((CustomSearch) searchEngine);
|
||||||
|
} else {
|
||||||
|
// Set the new search engine summary
|
||||||
|
setSearchEngineSummary(searchEngine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
picker.setPositiveButton(R.string.action_ok, null);
|
picker.setPositiveButton(R.string.action_ok, null);
|
||||||
@ -549,40 +584,11 @@ public class GeneralSettingsFragment extends LightningPreferenceFragment impleme
|
|||||||
BrowserDialog.setDialogSize(mActivity, dialog);
|
BrowserDialog.setDialogSize(mActivity, dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setSearchEngineSummary(int which) {
|
private void setSearchEngineSummary(BaseSearchEngine baseSearchEngine) {
|
||||||
switch (which) {
|
if (baseSearchEngine instanceof CustomSearch) {
|
||||||
case 0:
|
searchengine.setSummary(mPreferenceManager.getSearchUrl());
|
||||||
searchUrlPicker();
|
} else {
|
||||||
break;
|
searchengine.setSummary(getString(baseSearchEngine.getTitleRes()));
|
||||||
case 1:
|
|
||||||
searchengine.setSummary("Google");
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
searchengine.setSummary("Ask");
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
searchengine.setSummary("Bing");
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
searchengine.setSummary("Yahoo");
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
searchengine.setSummary("StartPage");
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
searchengine.setSummary("StartPage (Mobile)");
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
searchengine.setSummary("DuckDuckGo");
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
searchengine.setSummary("DuckDuckGo Lite");
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
searchengine.setSummary("Baidu");
|
|
||||||
break;
|
|
||||||
case 10:
|
|
||||||
searchengine.setSummary("Yandex");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,9 @@ package acr.browser.lightning.search;
|
|||||||
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import acr.browser.lightning.app.BrowserApp;
|
import acr.browser.lightning.app.BrowserApp;
|
||||||
@ -61,4 +64,49 @@ public class SearchEngineProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int mapSearchEngineToPreferenceIndex(@NonNull BaseSearchEngine searchEngine) {
|
||||||
|
if (searchEngine instanceof CustomSearch) {
|
||||||
|
return 0;
|
||||||
|
} else if (searchEngine instanceof GoogleSearch) {
|
||||||
|
return 1;
|
||||||
|
} else if (searchEngine instanceof AskSearch) {
|
||||||
|
return 2;
|
||||||
|
} else if (searchEngine instanceof BingSearch) {
|
||||||
|
return 3;
|
||||||
|
} else if (searchEngine instanceof YahooSearch) {
|
||||||
|
return 4;
|
||||||
|
} else if (searchEngine instanceof StartPageSearch) {
|
||||||
|
return 5;
|
||||||
|
} else if (searchEngine instanceof StartPageMobileSearch) {
|
||||||
|
return 6;
|
||||||
|
} else if (searchEngine instanceof DuckSearch) {
|
||||||
|
return 7;
|
||||||
|
} else if (searchEngine instanceof DuckLiteSearch) {
|
||||||
|
return 8;
|
||||||
|
} else if (searchEngine instanceof BaiduSearch) {
|
||||||
|
return 9;
|
||||||
|
} else if (searchEngine instanceof YandexSearch) {
|
||||||
|
return 10;
|
||||||
|
} else {
|
||||||
|
throw new UnsupportedOperationException("Unknown search engine provided: " + searchEngine.getClass());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public List<BaseSearchEngine> getAllSearchEngines() {
|
||||||
|
return new ArrayList<BaseSearchEngine>(11) {{
|
||||||
|
add(new CustomSearch(mPreferenceManager.getSearchUrl()));
|
||||||
|
add(new GoogleSearch());
|
||||||
|
add(new AskSearch());
|
||||||
|
add(new BingSearch());
|
||||||
|
add(new YahooSearch());
|
||||||
|
add(new StartPageSearch());
|
||||||
|
add(new StartPageMobileSearch());
|
||||||
|
add(new DuckSearch());
|
||||||
|
add(new DuckLiteSearch());
|
||||||
|
add(new BaiduSearch());
|
||||||
|
add(new YandexSearch());
|
||||||
|
}};
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -8,7 +9,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class AskSearch extends BaseSearchEngine {
|
public class AskSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public AskSearch() {
|
public AskSearch() {
|
||||||
super("file:///android_asset/ask.png", Constants.ASK_SEARCH);
|
super("file:///android_asset/ask.png", Constants.ASK_SEARCH, R.string.search_engine_ask);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -10,7 +11,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class BaiduSearch extends BaseSearchEngine {
|
public class BaiduSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public BaiduSearch() {
|
public BaiduSearch() {
|
||||||
super("file:///android_asset/baidu.png", Constants.BAIDU_SEARCH);
|
super("file:///android_asset/baidu.png", Constants.BAIDU_SEARCH, R.string.search_engine_baidu);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,23 +1,36 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.annotation.StringRes;
|
||||||
|
|
||||||
import acr.browser.lightning.utils.Preconditions;
|
import acr.browser.lightning.utils.Preconditions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class representative of a search engine.
|
* A class representative of a search engine.
|
||||||
|
* <p>
|
||||||
|
* Contains three key pieces of information:
|
||||||
|
* <ul>
|
||||||
|
* <li>The icon shown for the search engine, should point to a local assets URL.</li>
|
||||||
|
* <li>The query URL for the search engine, the query will be appended to the end.</li>
|
||||||
|
* <li>The title string resource for the search engine.</li>
|
||||||
|
* </ul>
|
||||||
*/
|
*/
|
||||||
public class BaseSearchEngine {
|
public class BaseSearchEngine {
|
||||||
|
|
||||||
@NonNull private final String mIconUrl;
|
@NonNull private final String mIconUrl;
|
||||||
@NonNull private final String mQueryUrl;
|
@NonNull private final String mQueryUrl;
|
||||||
|
@StringRes private final int mTitleRes;
|
||||||
|
|
||||||
|
public BaseSearchEngine(@NonNull String iconUrl,
|
||||||
|
@NonNull String queryUrl,
|
||||||
|
@StringRes int titleRes) {
|
||||||
|
|
||||||
public BaseSearchEngine(@NonNull String iconUrl, @NonNull String queryUrl) {
|
|
||||||
Preconditions.checkNonNull(iconUrl);
|
Preconditions.checkNonNull(iconUrl);
|
||||||
Preconditions.checkNonNull(queryUrl);
|
Preconditions.checkNonNull(queryUrl);
|
||||||
|
|
||||||
mIconUrl = iconUrl;
|
mIconUrl = iconUrl;
|
||||||
mQueryUrl = queryUrl;
|
mQueryUrl = queryUrl;
|
||||||
|
mTitleRes = titleRes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@ -30,4 +43,9 @@ public class BaseSearchEngine {
|
|||||||
return mQueryUrl;
|
return mQueryUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@StringRes
|
||||||
|
public final int getTitleRes() {
|
||||||
|
return mTitleRes;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -11,8 +12,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class BingSearch extends BaseSearchEngine {
|
public class BingSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public BingSearch() {
|
public BingSearch() {
|
||||||
super("file:///android_asset/bing.png", Constants.BING_SEARCH);
|
super("file:///android_asset/bing.png", Constants.BING_SEARCH, R.string.search_engine_bing);
|
||||||
// "http://upload.wikimedia.org/wikipedia/commons/thumb/b/b1/Bing_logo_%282013%29.svg/500px-Bing_logo_%282013%29.svg.png";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,13 +2,15 @@ package acr.browser.lightning.search.engine;
|
|||||||
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A custom search engine.
|
* A custom search engine.
|
||||||
*/
|
*/
|
||||||
public class CustomSearch extends BaseSearchEngine {
|
public class CustomSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public CustomSearch(@NonNull String queryUrl) {
|
public CustomSearch(@NonNull String queryUrl) {
|
||||||
super("file:///android_asset/lightning.png", queryUrl);
|
super("file:///android_asset/lightning.png", queryUrl, R.string.search_engine_custom);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -10,7 +11,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class DuckLiteSearch extends BaseSearchEngine {
|
public class DuckLiteSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public DuckLiteSearch() {
|
public DuckLiteSearch() {
|
||||||
super("file:///android_asset/duckduckgo.png", Constants.DUCK_LITE_SEARCH);
|
super("file:///android_asset/duckduckgo.png", Constants.DUCK_LITE_SEARCH, R.string.search_engine_duckduckgo_lite);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -10,7 +11,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class DuckSearch extends BaseSearchEngine {
|
public class DuckSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public DuckSearch() {
|
public DuckSearch() {
|
||||||
super("file:///android_asset/duckduckgo.png", Constants.DUCK_SEARCH);
|
super("file:///android_asset/duckduckgo.png", Constants.DUCK_SEARCH, R.string.search_engine_duckduckgo);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -10,6 +11,6 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class GoogleSearch extends BaseSearchEngine {
|
public class GoogleSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public GoogleSearch() {
|
public GoogleSearch() {
|
||||||
super("file:///android_asset/google.png", Constants.GOOGLE_SEARCH);
|
super("file:///android_asset/google.png", Constants.GOOGLE_SEARCH, R.string.search_engine_google);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -8,7 +9,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class StartPageMobileSearch extends BaseSearchEngine {
|
public class StartPageMobileSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public StartPageMobileSearch() {
|
public StartPageMobileSearch() {
|
||||||
super("file:///android_asset/startpage.png", Constants.STARTPAGE_MOBILE_SEARCH);
|
super("file:///android_asset/startpage.png", Constants.STARTPAGE_MOBILE_SEARCH, R.string.search_engine_startpage_mobile);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -8,7 +9,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class StartPageSearch extends BaseSearchEngine {
|
public class StartPageSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public StartPageSearch() {
|
public StartPageSearch() {
|
||||||
super("file:///android_asset/startpage.png", Constants.STARTPAGE_SEARCH);
|
super("file:///android_asset/startpage.png", Constants.STARTPAGE_SEARCH, R.string.search_engine_startpage);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -11,7 +12,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class YahooSearch extends BaseSearchEngine {
|
public class YahooSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public YahooSearch() {
|
public YahooSearch() {
|
||||||
super("file:///android_asset/yahoo.png", Constants.YAHOO_SEARCH);
|
super("file:///android_asset/yahoo.png", Constants.YAHOO_SEARCH, R.string.search_engine_yahoo);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package acr.browser.lightning.search.engine;
|
package acr.browser.lightning.search.engine;
|
||||||
|
|
||||||
|
import acr.browser.lightning.R;
|
||||||
import acr.browser.lightning.constant.Constants;
|
import acr.browser.lightning.constant.Constants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -11,7 +12,7 @@ import acr.browser.lightning.constant.Constants;
|
|||||||
public class YandexSearch extends BaseSearchEngine {
|
public class YandexSearch extends BaseSearchEngine {
|
||||||
|
|
||||||
public YandexSearch() {
|
public YandexSearch() {
|
||||||
super("file:///android_asset/yandex.png", Constants.YANDEX_SEARCH);
|
super("file:///android_asset/yandex.png", Constants.YANDEX_SEARCH, R.string.search_engine_yandex);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
<string name="max_tabs">Maximale Reiteranzahl erreicht!</string>
|
<string name="max_tabs">Maximale Reiteranzahl erreicht!</string>
|
||||||
<string name="message_text_copied">Text in Zwischenablage kopiert</string>
|
<string name="message_text_copied">Text in Zwischenablage kopiert</string>
|
||||||
<string name="message_link_copied">Link in Zwischenablage kopiert</string>
|
<string name="message_link_copied">Link in Zwischenablage kopiert</string>
|
||||||
<string name="custom_url">Benutzerdefinierte URL</string>
|
<string name="search_engine_custom">Benutzerdefinierte URL</string>
|
||||||
<string name="message_blocked_local">Lokale Datei wurde beim Laden blockiert</string>
|
<string name="message_blocked_local">Lokale Datei wurde beim Laden blockiert</string>
|
||||||
<string name="licenses">Open Source-Lizenzen</string>
|
<string name="licenses">Open Source-Lizenzen</string>
|
||||||
<string name="suggestion">Suche nach</string>
|
<string name="suggestion">Suche nach</string>
|
||||||
|
@ -103,7 +103,7 @@
|
|||||||
<string name="max_tabs">Μέγιστος αριθμός καρτελών ξεπεράστηκε</string>
|
<string name="max_tabs">Μέγιστος αριθμός καρτελών ξεπεράστηκε</string>
|
||||||
<string name="message_text_copied">Το κείμενο αντιγράφτηκε</string>
|
<string name="message_text_copied">Το κείμενο αντιγράφτηκε</string>
|
||||||
<string name="message_link_copied">Ο σύνδεσμος αντιγράφτηκε</string>
|
<string name="message_link_copied">Ο σύνδεσμος αντιγράφτηκε</string>
|
||||||
<string name="custom_url">Ειδικό URL</string>
|
<string name="search_engine_custom">Ειδικό URL</string>
|
||||||
<string name="message_blocked_local">Τοπικά αρχεία εχουν μπλοκαριστεί απο την φόρτωση</string>
|
<string name="message_blocked_local">Τοπικά αρχεία εχουν μπλοκαριστεί απο την φόρτωση</string>
|
||||||
<string name="licenses">Άδειες ανοιχτού κώδικα</string>
|
<string name="licenses">Άδειες ανοιχτού κώδικα</string>
|
||||||
<string name="suggestion">Αναζήτηση για</string>
|
<string name="suggestion">Αναζήτηση για</string>
|
||||||
|
@ -103,7 +103,7 @@
|
|||||||
<string name="max_tabs">Se ha alcanzado el máximo de pestañas</string>
|
<string name="max_tabs">Se ha alcanzado el máximo de pestañas</string>
|
||||||
<string name="message_text_copied">El texto se ha copiado al portapapeles</string>
|
<string name="message_text_copied">El texto se ha copiado al portapapeles</string>
|
||||||
<string name="message_link_copied">El enlace se ha copiado al portapapeles</string>
|
<string name="message_link_copied">El enlace se ha copiado al portapapeles</string>
|
||||||
<string name="custom_url">Dirección personalizada</string>
|
<string name="search_engine_custom">Dirección personalizada</string>
|
||||||
<string name="message_blocked_local">Se ha bloqueado la carga del archivo local</string>
|
<string name="message_blocked_local">Se ha bloqueado la carga del archivo local</string>
|
||||||
<string name="licenses">Licencias de código abierto (open source)</string>
|
<string name="licenses">Licencias de código abierto (open source)</string>
|
||||||
<string name="suggestion">Buscar</string>
|
<string name="suggestion">Buscar</string>
|
||||||
|
@ -125,7 +125,7 @@
|
|||||||
<string name="max_tabs">Onglets maximuns atteint</string>
|
<string name="max_tabs">Onglets maximuns atteint</string>
|
||||||
<string name="message_text_copied">Texte copié dans le presse-papiers</string>
|
<string name="message_text_copied">Texte copié dans le presse-papiers</string>
|
||||||
<string name="message_link_copied">Adresse copiée dans le presse-papiers</string>
|
<string name="message_link_copied">Adresse copiée dans le presse-papiers</string>
|
||||||
<string name="custom_url">Adresse personnalisée</string>
|
<string name="search_engine_custom">Adresse personnalisée</string>
|
||||||
<string name="message_blocked_local">Le fichier local a été bloqué au chargement</string>
|
<string name="message_blocked_local">Le fichier local a été bloqué au chargement</string>
|
||||||
<string name="licenses">Licences open source</string>
|
<string name="licenses">Licences open source</string>
|
||||||
<string name="suggestion">Recherche</string>
|
<string name="suggestion">Recherche</string>
|
||||||
|
@ -124,7 +124,7 @@
|
|||||||
<string name="max_tabs">Maximálisan megnyitható lapok száma elérve</string>
|
<string name="max_tabs">Maximálisan megnyitható lapok száma elérve</string>
|
||||||
<string name="message_text_copied">Szöveg másolva a vágólapra</string>
|
<string name="message_text_copied">Szöveg másolva a vágólapra</string>
|
||||||
<string name="message_link_copied">Link másolva a vágólapra</string>
|
<string name="message_link_copied">Link másolva a vágólapra</string>
|
||||||
<string name="custom_url">Egyéni URL</string>
|
<string name="search_engine_custom">Egyéni URL</string>
|
||||||
<string name="message_blocked_local">Helyi fájl betöltése blokkolva</string>
|
<string name="message_blocked_local">Helyi fájl betöltése blokkolva</string>
|
||||||
<string name="licenses">Nyílt forráskódú licencek</string>
|
<string name="licenses">Nyílt forráskódú licencek</string>
|
||||||
<string name="suggestion">Keresés</string>
|
<string name="suggestion">Keresés</string>
|
||||||
|
@ -124,7 +124,7 @@
|
|||||||
<string name="max_tabs">Hai raggiunto il numero massimo di schede apribili</string>
|
<string name="max_tabs">Hai raggiunto il numero massimo di schede apribili</string>
|
||||||
<string name="message_text_copied">Testo copiato negli appunti</string>
|
<string name="message_text_copied">Testo copiato negli appunti</string>
|
||||||
<string name="message_link_copied">Link copiato negli appunti</string>
|
<string name="message_link_copied">Link copiato negli appunti</string>
|
||||||
<string name="custom_url">URL personalizzato</string>
|
<string name="search_engine_custom">URL personalizzato</string>
|
||||||
<string name="message_blocked_local">Caricamento file locale bloccato</string>
|
<string name="message_blocked_local">Caricamento file locale bloccato</string>
|
||||||
<string name="licenses">Licenze Open Source</string>
|
<string name="licenses">Licenze Open Source</string>
|
||||||
<string name="suggestion">Cerca</string>
|
<string name="suggestion">Cerca</string>
|
||||||
|
@ -110,7 +110,7 @@
|
|||||||
<string name="max_tabs">これ以上タブは開けません</string>
|
<string name="max_tabs">これ以上タブは開けません</string>
|
||||||
<string name="message_text_copied">テキストをクリップボードにコピーしました</string>
|
<string name="message_text_copied">テキストをクリップボードにコピーしました</string>
|
||||||
<string name="message_link_copied">リンクをクリップボードにコピーしました</string>
|
<string name="message_link_copied">リンクをクリップボードにコピーしました</string>
|
||||||
<string name="custom_url">カスタム URL</string>
|
<string name="search_engine_custom">カスタム URL</string>
|
||||||
<string name="message_blocked_local">ファイルを読み込めませんでした</string>
|
<string name="message_blocked_local">ファイルを読み込めませんでした</string>
|
||||||
<string name="licenses">オープンソース ライセンス</string>
|
<string name="licenses">オープンソース ライセンス</string>
|
||||||
<string name="suggestion">検索 :</string>
|
<string name="suggestion">検索 :</string>
|
||||||
|
@ -102,7 +102,7 @@
|
|||||||
<string name="max_tabs">최대 탭 수에 도달했습니다</string>
|
<string name="max_tabs">최대 탭 수에 도달했습니다</string>
|
||||||
<string name="message_text_copied">텍스트가 클립보드로 복사되었습니다</string>
|
<string name="message_text_copied">텍스트가 클립보드로 복사되었습니다</string>
|
||||||
<string name="message_link_copied">링크가 클립보드로 복사되었습니다</string>
|
<string name="message_link_copied">링크가 클립보드로 복사되었습니다</string>
|
||||||
<string name="custom_url">임의의 URL</string>
|
<string name="search_engine_custom">임의의 URL</string>
|
||||||
<string name="message_blocked_local">로컬 파일 불러오기가 차단되었습니다</string>
|
<string name="message_blocked_local">로컬 파일 불러오기가 차단되었습니다</string>
|
||||||
<string name="licenses">오픈 소스 라이센스</string>
|
<string name="licenses">오픈 소스 라이센스</string>
|
||||||
<string name="suggestion">다음을 검색</string>
|
<string name="suggestion">다음을 검색</string>
|
||||||
|
@ -124,7 +124,7 @@
|
|||||||
<string name="max_tabs">Maximum aantal tabbladen bereikt</string>
|
<string name="max_tabs">Maximum aantal tabbladen bereikt</string>
|
||||||
<string name="message_text_copied">Tekst gekopieerd naar klembord</string>
|
<string name="message_text_copied">Tekst gekopieerd naar klembord</string>
|
||||||
<string name="message_link_copied">Link gekopieerd naar klembord</string>
|
<string name="message_link_copied">Link gekopieerd naar klembord</string>
|
||||||
<string name="custom_url">Aangepaste URL</string>
|
<string name="search_engine_custom">Aangepaste URL</string>
|
||||||
<string name="message_blocked_local">Lokaal bestand werd geblokkeerd</string>
|
<string name="message_blocked_local">Lokaal bestand werd geblokkeerd</string>
|
||||||
<string name="licenses">Open Source Licenses</string>
|
<string name="licenses">Open Source Licenses</string>
|
||||||
<string name="suggestion">Zoek voor</string>
|
<string name="suggestion">Zoek voor</string>
|
||||||
|
@ -105,7 +105,7 @@
|
|||||||
<string name="max_tabs">Maksymalna liczba otwartych kart osiągnięta</string>
|
<string name="max_tabs">Maksymalna liczba otwartych kart osiągnięta</string>
|
||||||
<string name="message_text_copied">Tekst został skopiowany do schowka</string>
|
<string name="message_text_copied">Tekst został skopiowany do schowka</string>
|
||||||
<string name="message_link_copied">Link został skopiowany do schowka</string>
|
<string name="message_link_copied">Link został skopiowany do schowka</string>
|
||||||
<string name="custom_url">Własny URL</string>
|
<string name="search_engine_custom">Własny URL</string>
|
||||||
<string name="message_blocked_local">Wczytywanie lokalnego pliku zostało zablokowane</string>
|
<string name="message_blocked_local">Wczytywanie lokalnego pliku zostało zablokowane</string>
|
||||||
<string name="licenses">Licencje Open Source</string>
|
<string name="licenses">Licencje Open Source</string>
|
||||||
<string name="suggestion">Wyszukaj</string>
|
<string name="suggestion">Wyszukaj</string>
|
||||||
|
@ -118,7 +118,7 @@
|
|||||||
<string name="max_tabs">Atingido número máximo de abas</string>
|
<string name="max_tabs">Atingido número máximo de abas</string>
|
||||||
<string name="message_text_copied">Texto copiado para a área de transferência</string>
|
<string name="message_text_copied">Texto copiado para a área de transferência</string>
|
||||||
<string name="message_link_copied">Link copiado para a área de transferência</string>
|
<string name="message_link_copied">Link copiado para a área de transferência</string>
|
||||||
<string name="custom_url">URL personalizado</string>
|
<string name="search_engine_custom">URL personalizado</string>
|
||||||
<string name="message_blocked_local">Bloqueado o carregamento do arquivo local</string>
|
<string name="message_blocked_local">Bloqueado o carregamento do arquivo local</string>
|
||||||
<string name="licenses">Licenças Open Source</string>
|
<string name="licenses">Licenças Open Source</string>
|
||||||
<string name="suggestion">Pesquisar por</string>
|
<string name="suggestion">Pesquisar por</string>
|
||||||
|
@ -123,7 +123,7 @@
|
|||||||
<string name="max_tabs">Atingido o número máximo de separadores</string>
|
<string name="max_tabs">Atingido o número máximo de separadores</string>
|
||||||
<string name="message_text_copied">Texto copiado para a área de transferência</string>
|
<string name="message_text_copied">Texto copiado para a área de transferência</string>
|
||||||
<string name="message_link_copied">Ligação copiada para a área de transferência</string>
|
<string name="message_link_copied">Ligação copiada para a área de transferência</string>
|
||||||
<string name="custom_url">URL personalizado</string>
|
<string name="search_engine_custom">URL personalizado</string>
|
||||||
<string name="message_blocked_local">Bloqueado o carregamento do ficheiro local</string>
|
<string name="message_blocked_local">Bloqueado o carregamento do ficheiro local</string>
|
||||||
<string name="licenses">Licenças Open Source</string>
|
<string name="licenses">Licenças Open Source</string>
|
||||||
<string name="suggestion">Pesquisar por</string>
|
<string name="suggestion">Pesquisar por</string>
|
||||||
|
@ -107,7 +107,7 @@
|
|||||||
<string name="max_tabs">Достигнуто максимальное число вкладок</string>
|
<string name="max_tabs">Достигнуто максимальное число вкладок</string>
|
||||||
<string name="message_text_copied">Текст скопирован в буфер обмена</string>
|
<string name="message_text_copied">Текст скопирован в буфер обмена</string>
|
||||||
<string name="message_link_copied">Ссылка скопирована в буфер обмена</string>
|
<string name="message_link_copied">Ссылка скопирована в буфер обмена</string>
|
||||||
<string name="custom_url">Пользовательский URL</string>
|
<string name="search_engine_custom">Пользовательский URL</string>
|
||||||
<string name="message_blocked_local">Локальный файл недоступен для загрузки</string>
|
<string name="message_blocked_local">Локальный файл недоступен для загрузки</string>
|
||||||
<string name="licenses">Open Source Licenses</string>
|
<string name="licenses">Open Source Licenses</string>
|
||||||
<string name="suggestion">Искать</string>
|
<string name="suggestion">Искать</string>
|
||||||
|
@ -124,7 +124,7 @@
|
|||||||
<string name="max_tabs">Досегнут макс. број језичака</string>
|
<string name="max_tabs">Досегнут макс. број језичака</string>
|
||||||
<string name="message_text_copied">Текст копиран на клипборд</string>
|
<string name="message_text_copied">Текст копиран на клипборд</string>
|
||||||
<string name="message_link_copied">Веза копирана на клипборд</string>
|
<string name="message_link_copied">Веза копирана на клипборд</string>
|
||||||
<string name="custom_url">Посебна адреса</string>
|
<string name="search_engine_custom">Посебна адреса</string>
|
||||||
<string name="message_blocked_local">Учитавање локалног фајла је блокирано</string>
|
<string name="message_blocked_local">Учитавање локалног фајла је блокирано</string>
|
||||||
<string name="licenses">Лиценце отвореног кôда</string>
|
<string name="licenses">Лиценце отвореног кôда</string>
|
||||||
<string name="suggestion">Тражи</string>
|
<string name="suggestion">Тражи</string>
|
||||||
|
@ -108,7 +108,7 @@
|
|||||||
<string name="max_tabs">Maksimum sekme sınırına ulaşıldı</string>
|
<string name="max_tabs">Maksimum sekme sınırına ulaşıldı</string>
|
||||||
<string name="message_text_copied">Yazı panoya kopyalandı</string>
|
<string name="message_text_copied">Yazı panoya kopyalandı</string>
|
||||||
<string name="message_link_copied">Bağlantı panoya kopyalandı</string>
|
<string name="message_link_copied">Bağlantı panoya kopyalandı</string>
|
||||||
<string name="custom_url">Kişisel bağlantı</string>
|
<string name="search_engine_custom">Kişisel bağlantı</string>
|
||||||
<string name="message_blocked_local">Yerel dosyanın yüklenmesi engellendi</string>
|
<string name="message_blocked_local">Yerel dosyanın yüklenmesi engellendi</string>
|
||||||
<string name="licenses">Açık Kaynak Lisansları</string>
|
<string name="licenses">Açık Kaynak Lisansları</string>
|
||||||
<string name="suggestion">Ara</string>
|
<string name="suggestion">Ara</string>
|
||||||
|
@ -102,7 +102,7 @@
|
|||||||
<string name="max_tabs">达到最大标签数</string>
|
<string name="max_tabs">达到最大标签数</string>
|
||||||
<string name="message_text_copied">文本已复制到剪贴板</string>
|
<string name="message_text_copied">文本已复制到剪贴板</string>
|
||||||
<string name="message_link_copied">链接已复制到剪贴板</string>
|
<string name="message_link_copied">链接已复制到剪贴板</string>
|
||||||
<string name="custom_url">自定义 URL</string>
|
<string name="search_engine_custom">自定义 URL</string>
|
||||||
<string name="message_blocked_local">本地文件已被阻止加载</string>
|
<string name="message_blocked_local">本地文件已被阻止加载</string>
|
||||||
<string name="licenses">开源许可</string>
|
<string name="licenses">开源许可</string>
|
||||||
<string name="suggestion">搜索目标</string>
|
<string name="suggestion">搜索目标</string>
|
||||||
|
@ -102,7 +102,7 @@
|
|||||||
<string name="max_tabs">達到最大標籤數</string>
|
<string name="max_tabs">達到最大標籤數</string>
|
||||||
<string name="message_text_copied">文本已複製到剪貼板</string>
|
<string name="message_text_copied">文本已複製到剪貼板</string>
|
||||||
<string name="message_link_copied">鏈接已複製到剪貼板</string>
|
<string name="message_link_copied">鏈接已複製到剪貼板</string>
|
||||||
<string name="custom_url">自定義 URL</string>
|
<string name="search_engine_custom">自定義 URL</string>
|
||||||
<string name="message_blocked_local">本地檔已被阻止加載</string>
|
<string name="message_blocked_local">本地檔已被阻止加載</string>
|
||||||
<string name="licenses">開源許可</string>
|
<string name="licenses">開源許可</string>
|
||||||
<string name="suggestion">搜索目標</string>
|
<string name="suggestion">搜索目標</string>
|
||||||
|
@ -110,7 +110,6 @@
|
|||||||
<string name="max_tabs">Max tabs reached</string>
|
<string name="max_tabs">Max tabs reached</string>
|
||||||
<string name="message_text_copied">Text copied to clipboard</string>
|
<string name="message_text_copied">Text copied to clipboard</string>
|
||||||
<string name="message_link_copied">Link copied to clipboard</string>
|
<string name="message_link_copied">Link copied to clipboard</string>
|
||||||
<string name="custom_url">Custom URL</string>
|
|
||||||
<string name="message_blocked_local">Local file has been blocked from loading</string>
|
<string name="message_blocked_local">Local file has been blocked from loading</string>
|
||||||
<string name="licenses">Open Source Licenses</string>
|
<string name="licenses">Open Source Licenses</string>
|
||||||
<string name="suggestion">Search for</string>
|
<string name="suggestion">Search for</string>
|
||||||
@ -253,4 +252,17 @@
|
|||||||
<string name="dialog_title_close_browser">Close browser</string>
|
<string name="dialog_title_close_browser">Close browser</string>
|
||||||
<string name="dialog_delete_download">Delete download</string>
|
<string name="dialog_delete_download">Delete download</string>
|
||||||
<string name="dialog_delete_all_downloads">Delete all downloads</string>
|
<string name="dialog_delete_all_downloads">Delete all downloads</string>
|
||||||
|
|
||||||
|
<!-- Search Engines -->
|
||||||
|
<string name="search_engine_custom">Custom URL</string>
|
||||||
|
<string name="search_engine_google">Google</string>
|
||||||
|
<string name="search_engine_ask">Ask</string>
|
||||||
|
<string name="search_engine_bing">Bing</string>
|
||||||
|
<string name="search_engine_yahoo">Yahoo</string>
|
||||||
|
<string name="search_engine_startpage">StartPage</string>
|
||||||
|
<string name="search_engine_startpage_mobile">StartPage Mobile</string>
|
||||||
|
<string name="search_engine_duckduckgo">DuckDuckGo</string>
|
||||||
|
<string name="search_engine_duckduckgo_lite">DuckDuckGo Lite</string>
|
||||||
|
<string name="search_engine_baidu">Baidu</string>
|
||||||
|
<string name="search_engine_yandex">Yandex</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user