diff --git a/app/build.gradle b/app/build.gradle index 9eb6b723..5606dfbb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,6 +32,7 @@ dependencies { implementation 'com.android.support:recyclerview-v7:27.1.1' implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'com.android.support:design:27.1.1' + implementation 'com.takisoft.fix:preference-v7:27.1.1.1' implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' implementation 'me.dm7.barcodescanner:zxing:1.9' implementation 'com.android.support:cardview-v7:27.1.1' diff --git a/app/src/main/java/me/impy/aegis/ui/PreferencesActivity.java b/app/src/main/java/me/impy/aegis/ui/PreferencesActivity.java index 1ac53eef..59e2b0b5 100644 --- a/app/src/main/java/me/impy/aegis/ui/PreferencesActivity.java +++ b/app/src/main/java/me/impy/aegis/ui/PreferencesActivity.java @@ -16,7 +16,7 @@ public class PreferencesActivity extends AegisActivity implements PasswordDialog _fragment = new PreferencesFragment(); _fragment.setArguments(getIntent().getExtras()); - getFragmentManager().beginTransaction().replace(android.R.id.content, _fragment).commit(); + getSupportFragmentManager().beginTransaction().replace(android.R.id.content, _fragment).commit(); } @Override diff --git a/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java b/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java index 47d153e9..8857ec50 100644 --- a/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java +++ b/app/src/main/java/me/impy/aegis/ui/PreferencesFragment.java @@ -7,11 +7,11 @@ import android.content.Intent; import android.media.MediaScannerConnection; import android.net.Uri; import android.os.Bundle; -import android.preference.EditTextPreference; -import android.preference.Preference; -import android.preference.PreferenceFragment; +import android.support.v7.preference.EditTextPreference; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; +import android.support.v7.preference.Preference; +import com.takisoft.fix.support.v7.preference.PreferenceFragmentCompat; import android.view.Window; import android.view.WindowManager; import android.widget.Toast; @@ -42,7 +42,7 @@ import me.impy.aegis.ui.dialogs.PasswordDialogFragment; import me.impy.aegis.ui.preferences.SwitchPreference; import me.impy.aegis.util.ByteInputStream; -public class PreferencesFragment extends PreferenceFragment implements PasswordDialogFragment.Listener { +public class PreferencesFragment extends PreferenceFragmentCompat implements PasswordDialogFragment.Listener { // activity request codes private static final int CODE_IMPORT = 0; private static final int CODE_IMPORT_DECRYPT = 1; @@ -64,8 +64,7 @@ public class PreferencesFragment extends PreferenceFragment implements PasswordD private Preference _slotsPreference; @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + public void onCreatePreferencesFix(Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.xml.preferences); AegisApplication app = (AegisApplication) getActivity().getApplication(); diff --git a/app/src/main/java/me/impy/aegis/ui/preferences/SwitchPreference.java b/app/src/main/java/me/impy/aegis/ui/preferences/SwitchPreference.java index 18530b0d..047a2275 100644 --- a/app/src/main/java/me/impy/aegis/ui/preferences/SwitchPreference.java +++ b/app/src/main/java/me/impy/aegis/ui/preferences/SwitchPreference.java @@ -3,10 +3,12 @@ package me.impy.aegis.ui.preferences; import android.content.Context; import android.os.Build; import android.support.annotation.RequiresApi; +import android.support.v7.preference.Preference; +import android.support.v7.preference.SwitchPreferenceCompat; import android.util.AttributeSet; -public class SwitchPreference extends android.preference.SwitchPreference { - private OnPreferenceChangeListener _listener; +public class SwitchPreference extends SwitchPreferenceCompat { + private Preference.OnPreferenceChangeListener _listener; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public SwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ddc464e9..b68118d2 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -16,7 +16,7 @@ -