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 @@
-
-