From 103eea9fcb4463d162480c7d6d50abdf3589477c Mon Sep 17 00:00:00 2001 From: anthony restaino Date: Sat, 22 Apr 2017 17:10:30 -0400 Subject: [PATCH] Making encoding a constructor parameter --- .../lightning/search/BaseSuggestionsModel.java | 11 +++++------ .../lightning/search/DuckSuggestionsModel.java | 8 +------- .../lightning/search/GoogleSuggestionsModel.java | 8 +------- 3 files changed, 7 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/acr/browser/lightning/search/BaseSuggestionsModel.java b/app/src/main/java/acr/browser/lightning/search/BaseSuggestionsModel.java index 76abeed..f2be9ab 100644 --- a/app/src/main/java/acr/browser/lightning/search/BaseSuggestionsModel.java +++ b/app/src/main/java/acr/browser/lightning/search/BaseSuggestionsModel.java @@ -37,16 +37,15 @@ abstract class BaseSuggestionsModel { @Nullable private static String sLanguage; @NonNull private final OkHttpClient mHttpClient; @NonNull private final CacheControl mCacheControl; + @NonNull private final String mEncoding; @NonNull protected abstract String createQueryUrl(@NonNull String query, @NonNull String language); protected abstract void parseResults(@NonNull InputStream inputStream, @NonNull List results) throws Exception; - @NonNull - protected abstract String getEncoding(); - - BaseSuggestionsModel(@NonNull Application application) { + BaseSuggestionsModel(@NonNull Application application, @NonNull String encoding) { + mEncoding = encoding; File suggestionsCache = new File(application.getCacheDir(), "suggestion_responses"); mHttpClient = new OkHttpClient.Builder() .cache(new Cache(suggestionsCache, FileUtils.megabytesToBytes(1))) @@ -70,7 +69,7 @@ abstract class BaseSuggestionsModel { List getResults(@NonNull String query) { List filter = new ArrayList<>(5); try { - query = URLEncoder.encode(query, getEncoding()); + query = URLEncoder.encode(query, mEncoding); } catch (UnsupportedEncodingException e) { Log.e(TAG, "Unable to encode the URL", e); } @@ -107,7 +106,7 @@ abstract class BaseSuggestionsModel { // OkHttp automatically gzips requests Request suggestionsRequest = new Request.Builder().url(url) - .addHeader("Accept-Charset", getEncoding()) + .addHeader("Accept-Charset", mEncoding) .cacheControl(mCacheControl) .build(); diff --git a/app/src/main/java/acr/browser/lightning/search/DuckSuggestionsModel.java b/app/src/main/java/acr/browser/lightning/search/DuckSuggestionsModel.java index d276d65..1351564 100644 --- a/app/src/main/java/acr/browser/lightning/search/DuckSuggestionsModel.java +++ b/app/src/main/java/acr/browser/lightning/search/DuckSuggestionsModel.java @@ -20,7 +20,7 @@ final class DuckSuggestionsModel extends BaseSuggestionsModel { @NonNull private final String mSearchSubtitle; DuckSuggestionsModel(@NonNull Application application) { - super(application); + super(application, ENCODING); mSearchSubtitle = application.getString(R.string.suggestion); } @@ -47,10 +47,4 @@ final class DuckSuggestionsModel extends BaseSuggestionsModel { } } - @NonNull - @Override - protected String getEncoding() { - return ENCODING; - } - } diff --git a/app/src/main/java/acr/browser/lightning/search/GoogleSuggestionsModel.java b/app/src/main/java/acr/browser/lightning/search/GoogleSuggestionsModel.java index 0f90ab9..2a4f1d6 100644 --- a/app/src/main/java/acr/browser/lightning/search/GoogleSuggestionsModel.java +++ b/app/src/main/java/acr/browser/lightning/search/GoogleSuggestionsModel.java @@ -23,7 +23,7 @@ class GoogleSuggestionsModel extends BaseSuggestionsModel { @NonNull private final String mSearchSubtitle; GoogleSuggestionsModel(@NonNull Application application) { - super(application); + super(application, ENCODING); mSearchSubtitle = application.getString(R.string.suggestion); } @@ -54,12 +54,6 @@ class GoogleSuggestionsModel extends BaseSuggestionsModel { } } - @NonNull - @Override - protected String getEncoding() { - return ENCODING; - } - @NonNull private static synchronized XmlPullParser getParser() throws XmlPullParserException { if (sXpp == null) {