From 404796a9faf54d8d26c59d875d5f7ba4e5595c80 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 19 Apr 2018 14:10:47 +0200 Subject: [PATCH] switch to official support PreferenceFragment #1379 --- app/build.gradle | 9 +- .../support-v4-preferencefragment-release.aar | Bin 16149 -> 0 bytes .../view/AppCompatListPreference.java | 100 ----- .../views/fragments/PreferencesFragment.java | 32 +- .../fdroid/views/main/SettingsView.java | 12 +- .../views/panic/PanicPreferencesFragment.java | 25 +- app/src/main/res/values/styles.xml | 2 + app/src/main/res/xml/preferences.xml | 8 +- .../AndroidManifest.xml | 20 - extern/support-v4-preferencefragment/LICENSE | 191 ---------- .../build.gradle | 41 -- .../gradle.properties | 22 -- .../project.properties | 15 - .../res/layout/preference_list_fragment.xml | 82 ---- .../res/values-sw320dp/dimens.xml | 9 - .../res/values-v21/dimens.xml | 7 - .../res/values-w720dp/dimens.xml | 7 - .../res/values/dimens.xml | 29 -- .../res/values/strings.xml | 29 -- .../support-v4-preferencefragment/src/.readme | 2 - .../v4/preference/PreferenceFragment.java | 349 ------------------ .../preference/PreferenceManagerCompat.java | 230 ------------ 22 files changed, 40 insertions(+), 1181 deletions(-) delete mode 100644 app/libs/binaryDeps/support-v4-preferencefragment-release.aar delete mode 100644 app/src/main/java/com/geecko/QuickLyric/view/AppCompatListPreference.java delete mode 100644 extern/support-v4-preferencefragment/AndroidManifest.xml delete mode 100644 extern/support-v4-preferencefragment/LICENSE delete mode 100644 extern/support-v4-preferencefragment/build.gradle delete mode 100644 extern/support-v4-preferencefragment/gradle.properties delete mode 100644 extern/support-v4-preferencefragment/project.properties delete mode 100644 extern/support-v4-preferencefragment/res/layout/preference_list_fragment.xml delete mode 100644 extern/support-v4-preferencefragment/res/values-sw320dp/dimens.xml delete mode 100644 extern/support-v4-preferencefragment/res/values-v21/dimens.xml delete mode 100644 extern/support-v4-preferencefragment/res/values-w720dp/dimens.xml delete mode 100644 extern/support-v4-preferencefragment/res/values/dimens.xml delete mode 100644 extern/support-v4-preferencefragment/res/values/strings.xml delete mode 100644 extern/support-v4-preferencefragment/src/.readme delete mode 100644 extern/support-v4-preferencefragment/src/android/support/v4/preference/PreferenceFragment.java delete mode 100644 extern/support-v4-preferencefragment/src/android/support/v4/preference/PreferenceManagerCompat.java diff --git a/app/build.gradle b/app/build.gradle index ebd454a36..4e8cc3900 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,6 +24,7 @@ dependencies { compile "com.android.support:support-vector-drawable:27.1.1" compile 'com.android.support.constraint:constraint-layout:1.1.0' compile "com.android.support:palette-v7:27.1.1" + compile "com.android.support:preference-v7:27.1.1" compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' compile 'com.google.zxing:core:3.3.2' @@ -65,10 +66,6 @@ if (!hasProperty('sourceDeps')) { compile 'com.madgag.spongycastle:prov:1.54.0.0' compile 'com.madgag.spongycastle:core:1.54.0.0' - // Upstream doesn't have a binary on mavenCentral/jcenter yet: - // https://github.com/kolavar/android-support-v4-preferencefragment/issues/13 - compile files('libs/binaryDeps/support-v4-preferencefragment-release.aar') - // Fork for F-Droid, including support for https. Not merged into upstream // yet (seems to be a little unsupported as of late), so not using mavenCentral/jcenter. compile files('libs/binaryDeps/nanohttpd-2.1.0.jar') @@ -138,9 +135,6 @@ if (!hasProperty('sourceDeps')) { logger.info "Setting up *source* dependencies for F-Droid (because you passed in the -PsourceDeps argument to gradle while building)." dependencies { - compile(project(':extern:support-v4-preferencefragment')) { - exclude module: 'support-v4' - } compile project(':extern:nanohttpd:core') compile project(':extern:zipsigner') } @@ -151,7 +145,6 @@ if (!hasProperty('sourceDeps')) { description = "Copies .jar and .aar files from subproject dependencies in extern/ to app/libs. Requires the sourceDeps property to be set (\"gradle -PsourceDeps binaryDeps\")" from('../extern/') { - include 'support-v4-preferencefragment/build/outputs/aar/support-v4-preferencefragment-release.aar' include 'nanohttpd/core/build/libs/nanohttpd-2.1.0.jar' include 'zipsigner/build/libs/zipsigner.jar' } diff --git a/app/libs/binaryDeps/support-v4-preferencefragment-release.aar b/app/libs/binaryDeps/support-v4-preferencefragment-release.aar deleted file mode 100644 index fa9199fe74c7ce3a53d908c73be4d7b9ae4b13a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16149 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 F{{tE5^BMpE diff --git a/app/src/main/java/com/geecko/QuickLyric/view/AppCompatListPreference.java b/app/src/main/java/com/geecko/QuickLyric/view/AppCompatListPreference.java deleted file mode 100644 index 507f37755..000000000 --- a/app/src/main/java/com/geecko/QuickLyric/view/AppCompatListPreference.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * * - * * This file is part of QuickLyric - * * Created by geecko - * * - * * QuickLyric is free software: you can redistribute it and/or modify - * * it under the terms of the GNU General Public License as published by - * * the Free Software Foundation, either version 3 of the License, or - * * (at your option) any later version. - * * - * * QuickLyric is distributed in the hope that it will be useful, - * * but WITHOUT ANY WARRANTY; without even the implied warranty of - * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * * GNU General Public License for more details. - * * You should have received a copy of the GNU General Public License - * * along with QuickLyric. If not, see . - * - */ - -package com.geecko.QuickLyric.view; - -import android.content.Context; -import android.content.DialogInterface; -import android.os.Bundle; -import android.preference.ListPreference; -import android.preference.PreferenceManager; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatDialog; -import android.util.AttributeSet; - -import java.lang.reflect.Method; - -public class AppCompatListPreference extends ListPreference { - - private AppCompatDialog appCompatDialog; - - public AppCompatListPreference(Context context) { - super(context); - } - - public AppCompatListPreference(Context context, AttributeSet attrs) { - super(context, attrs); - } - - @Override - public AppCompatDialog getDialog() { - return appCompatDialog; - } - - @Override - protected void showDialog(Bundle state) { - if (getEntries() == null || getEntryValues() == null) { - throw new IllegalStateException( - "ListPreference requires an entries array and an entryValues array."); - } - - int preselect = findIndexOfValue(getValue()); - AlertDialog.Builder builder = new AlertDialog.Builder(getContext()) - .setTitle(getDialogTitle()) - .setIcon(getDialogIcon()) - .setSingleChoiceItems(getEntries(), preselect, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - if (which >= 0 && getEntryValues() != null) { - String value = getEntryValues()[which].toString(); - if (callChangeListener(value) && isPersistent()) { - setValue(value); - } - } - dialog.dismiss(); - } - }); - - PreferenceManager pm = getPreferenceManager(); - try { - Method method = pm.getClass().getDeclaredMethod( - "registerOnActivityDestroyListener", - PreferenceManager.OnActivityDestroyListener.class); - method.setAccessible(true); - method.invoke(pm, this); - } catch (Exception e) { - e.printStackTrace(); - } - - appCompatDialog = builder.create(); - if (state != null) { - appCompatDialog.onRestoreInstanceState(state); - } - appCompatDialog.show(); - } - - @Override - public void onActivityDestroy() { - super.onActivityDestroy(); - if (appCompatDialog != null && appCompatDialog.isShowing() && - appCompatDialog.getWindow() != null && appCompatDialog.getWindow().getWindowManager() != null) { - appCompatDialog.dismiss(); - } - } -} \ No newline at end of file diff --git a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java index c52250bec..f597f4b7e 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/fragments/PreferencesFragment.java @@ -5,16 +5,15 @@ import android.content.Intent; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; -import android.preference.CheckBoxPreference; -import android.preference.EditTextPreference; -import android.preference.ListPreference; -import android.preference.Preference; -import android.preference.PreferenceCategory; -import android.support.v4.preference.PreferenceFragment; +import android.support.v14.preference.PreferenceFragment; +import android.support.v7.preference.CheckBoxPreference; +import android.support.v7.preference.EditTextPreference; +import android.support.v7.preference.ListPreference; +import android.support.v7.preference.Preference; +import android.support.v7.preference.PreferenceCategory; import android.text.TextUtils; import android.view.WindowManager; -import com.geecko.QuickLyric.view.AppCompatListPreference; import info.guardianproject.netcipher.NetCipher; import info.guardianproject.netcipher.proxy.OrbotHelper; import org.fdroid.fdroid.AppDetails2; @@ -59,15 +58,14 @@ public class PreferencesFragment extends PreferenceFragment private FDroidApp fdroidApp; @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + public void onCreatePreferences(Bundle bundle, String s) { addPreferencesFromResource(R.xml.preferences); useTorCheckPref = (CheckBoxPreference) findPreference(Preferences.PREF_USE_TOR); enableProxyCheckPref = (CheckBoxPreference) findPreference(Preferences.PREF_ENABLE_PROXY); updateAutoDownloadPref = findPreference(Preferences.PREF_AUTO_DOWNLOAD_INSTALL_UPDATES); updatePrivilegedExtensionPref = findPreference(Preferences.PREF_UNINSTALL_PRIVILEGED_APP); - AppCompatListPreference languagePref = (AppCompatListPreference) findPreference(Preferences.PREF_LANGUAGE); + ListPreference languagePref = (ListPreference) findPreference(Preferences.PREF_LANGUAGE); if (Build.VERSION.SDK_INT >= 24) { PreferenceCategory category = (PreferenceCategory) findPreference("pref_category_display"); category.removePreference(languagePref); @@ -162,8 +160,8 @@ public class PreferencesFragment extends PreferenceFragment Activity activity = getActivity(); Languages.setLanguage(activity); - RepoProvider.Helper.clearEtags(getContext()); - UpdateService.updateNow(getContext()); + RepoProvider.Helper.clearEtags(getActivity()); + UpdateService.updateNow(getActivity()); Languages.forceChangeLanguage(activity); } @@ -173,7 +171,7 @@ public class PreferencesFragment extends PreferenceFragment entrySummary(key); if (changing && currentKeepCacheTime != Preferences.get().getKeepCacheTime()) { - CleanCacheService.schedule(getContext()); + CleanCacheService.schedule(getActivity()); } break; @@ -219,9 +217,9 @@ public class PreferencesFragment extends PreferenceFragment case Preferences.PREF_KEEP_INSTALL_HISTORY: CheckBoxPreference p = (CheckBoxPreference) findPreference(key); if (p.isChecked()) { - InstallHistoryService.register(getContext()); + InstallHistoryService.register(getActivity()); } else { - InstallHistoryService.unregister(getContext()); + InstallHistoryService.unregister(getActivity()); } break; } @@ -310,13 +308,13 @@ public class PreferencesFragment extends PreferenceFragment @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (newValue instanceof Boolean && (boolean) newValue) { - UpdateService.autoDownloadUpdates(getContext()); + UpdateService.autoDownloadUpdates(getActivity()); } return true; } }); - if (PrivilegedInstaller.isDefault(getContext())) { + if (PrivilegedInstaller.isDefault(getActivity())) { updateAutoDownloadPref.setTitle(R.string.update_auto_install); updateAutoDownloadPref.setSummary(R.string.update_auto_install_summary); } diff --git a/app/src/main/java/org/fdroid/fdroid/views/main/SettingsView.java b/app/src/main/java/org/fdroid/fdroid/views/main/SettingsView.java index d12121575..22458c79a 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/main/SettingsView.java +++ b/app/src/main/java/org/fdroid/fdroid/views/main/SettingsView.java @@ -1,9 +1,9 @@ package org.fdroid.fdroid.views.main; import android.annotation.TargetApi; +import android.app.Fragment; +import android.app.FragmentTransaction; import android.content.Context; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.util.AttributeSet; import android.widget.FrameLayout; @@ -55,7 +55,7 @@ public class SettingsView extends FrameLayout { } if (currentTransaction == null) { - currentTransaction = activity.getSupportFragmentManager().beginTransaction(); + currentTransaction = activity.getFragmentManager().beginTransaction(); } currentTransaction.replace(getId(), new PreferencesFragment(), "preferences-fragment"); @@ -73,18 +73,18 @@ public class SettingsView extends FrameLayout { throw new IllegalArgumentException("Cannot add a SettingsView to activities which are not an AppCompatActivity"); } - Fragment existingFragment = activity.getSupportFragmentManager().findFragmentByTag("preferences-fragment"); + Fragment existingFragment = activity.getFragmentManager().findFragmentByTag("preferences-fragment"); if (existingFragment == null) { return; } if (currentTransaction == null) { - currentTransaction = activity.getSupportFragmentManager().beginTransaction(); + currentTransaction = activity.getFragmentManager().beginTransaction(); } currentTransaction.remove(existingFragment); currentTransaction.commitAllowingStateLoss(); currentTransaction = null; - activity.getSupportFragmentManager().executePendingTransactions(); + activity.getFragmentManager().executePendingTransactions(); } } diff --git a/app/src/main/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java b/app/src/main/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java index f846debc4..937c1b330 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java +++ b/app/src/main/java/org/fdroid/fdroid/views/panic/PanicPreferencesFragment.java @@ -12,14 +12,14 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.net.Uri; import android.os.Bundle; -import android.preference.CheckBoxPreference; -import android.preference.ListPreference; -import android.preference.Preference; import android.support.annotation.ColorInt; import android.support.annotation.Nullable; +import android.support.v14.preference.PreferenceFragment; import android.support.v4.content.ContextCompat; -import android.support.v4.preference.PreferenceFragment; import android.support.v7.app.AlertDialog; +import android.support.v7.preference.CheckBoxPreference; +import android.support.v7.preference.ListPreference; +import android.support.v7.preference.Preference; import android.text.TextUtils; import android.util.TypedValue; import info.guardianproject.panic.Panic; @@ -30,8 +30,8 @@ import org.fdroid.fdroid.views.hiding.HidingManager; import java.util.ArrayList; -public class PanicPreferencesFragment extends PreferenceFragment implements SharedPreferences - .OnSharedPreferenceChangeListener { +public class PanicPreferencesFragment extends PreferenceFragment + implements SharedPreferences.OnSharedPreferenceChangeListener { private static final String PREF_EXIT = Preferences.PREF_PANIC_EXIT; private static final String PREF_APP = "pref_panic_app"; @@ -43,8 +43,7 @@ public class PanicPreferencesFragment extends PreferenceFragment implements Shar private CheckBoxPreference prefHide; @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + public void onCreatePreferences(Bundle bundle, String s) { addPreferencesFromResource(R.xml.preferences_panic); pm = getActivity().getPackageManager(); @@ -147,9 +146,9 @@ public class PanicPreferencesFragment extends PreferenceFragment implements Shar prefApp.setSummary(getString(R.string.panic_app_setting_summary)); prefApp.setIcon(null); // otherwise re-setting view resource doesn't work - Drawable icon = ContextCompat.getDrawable(getContext(), R.drawable.ic_cancel); + Drawable icon = ContextCompat.getDrawable(getActivity(), R.drawable.ic_cancel); TypedValue typedValue = new TypedValue(); - Resources.Theme theme = getContext().getTheme(); + Resources.Theme theme = getActivity().getTheme(); theme.resolveAttribute(R.attr.appListItem, typedValue, true); @ColorInt int color = typedValue.data; icon.setColorFilter(color, PorterDuff.Mode.SRC_IN); @@ -189,7 +188,7 @@ public class PanicPreferencesFragment extends PreferenceFragment implements Shar } }; - AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(getString(R.string.panic_app_dialog_title)); CharSequence app = getString(R.string.panic_app_unknown_app); @@ -221,10 +220,10 @@ public class PanicPreferencesFragment extends PreferenceFragment implements Shar private void showHideConfirmationDialog() { String appName = getString(R.string.app_name); - AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(R.string.panic_hide_warning_title); builder.setMessage(getString(R.string.panic_hide_warning_message, appName, - HidingManager.getUnhidePin(getContext()), getString(R.string.hiding_calculator))); + HidingManager.getUnhidePin(getActivity()), getString(R.string.hiding_calculator))); builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 49c63556d..04ed6ef7b 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -23,6 +23,7 @@ #ffffff #a6a6a6 @drawable/ic_warning_white_24dp + @style/PreferenceThemeOverlay