Browse Source

Refs #27 add settings

isundil 7 years ago
parent
commit
faa2ce1c98

+ 19 - 1
app/src/main/java/info/knacki/pass/settings/ui/SettingsActivity.java

@@ -50,6 +50,7 @@ import info.knacki.pass.io.OnResponseListener;
 import info.knacki.pass.io.PathUtils;
 import info.knacki.pass.io.pgp.GPGStorageEngine;
 import info.knacki.pass.io.pgp.GPGUtil;
+import info.knacki.pass.services.AccessibilityService;
 import info.knacki.pass.settings.SettingsManager;
 import info.knacki.pass.ui.GitPullActivity;
 import info.knacki.pass.ui.alertPrompt.AlertPromptGenerator;
@@ -163,6 +164,13 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
         public void onResume() {
             super.onResume();
             findPreference(getResources().getString(R.string.id_softSettings)).setSummary(IsKeyboardEnabled() ? R.string.pref_summary_keyboard_enabled : R.string.pref_summary_enable_keyboard);
+            if (IsAccessibilityEnabled()) {
+                findPreference(getResources().getString(R.string.id_accessibility_settings)).setSummary(R.string.pref_summary_accessibility_enabled);
+                findPreference(getResources().getString(R.string.id_draw_over_settings)).setSummary(IsDrawOverEnabled() ? R.string.pref_summary_draw_over_enabled : R.string.pref_summary_draw_over_enable);
+            } else {
+                findPreference(getResources().getString(R.string.id_accessibility_settings)).setSummary(R.string.pref_summary_accessibility_disabled);
+                findPreference(getResources().getString(R.string.id_draw_over_settings)).setSummary(R.string.pref_summary_draw_over_unneeded);
+            }
         }
 
         @Override
@@ -175,7 +183,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
             return super.onOptionsItemSelected(item);
         }
 
-        public boolean IsKeyboardEnabled() {
+        private boolean IsKeyboardEnabled() {
             InputMethodManager inputManager = (InputMethodManager) getActivity().getSystemService(INPUT_METHOD_SERVICE);
 
             for (InputMethodInfo i: inputManager.getEnabledInputMethodList())
@@ -183,6 +191,16 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
                     return true;
             return false;
         }
+
+        private boolean IsAccessibilityEnabled() {
+            return AccessibilityService.IsRunning();
+        }
+
+        private boolean IsDrawOverEnabled() {
+            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
+                return Settings.canDrawOverlays(getActivity());
+            return true;
+        }
     }
 
     public static class EncryptionPreferenceFragment extends PreferenceFragment {

+ 6 - 1
app/src/main/res/values-fr/lang.xml

@@ -56,8 +56,13 @@
         <item>Personalisé</item>
     </array>
     <string name="new_branch">Nouvelle branche</string>
-    <string name="pref_summary_keyboard_enabled"> </string>
+    <string name="pref_summary_keyboard_enabled">Clavier actif</string>
     <string name="pref_summary_enable_keyboard">Autoriser le clavier pour la saisie des mots de passes</string>
+    <string name="pref_summary_accessibility_enabled">Service d\'accessibilité actif</string>
+    <string name="pref_summary_accessibility_disabled">Service d\'accessibilité désactivé</string>
+    <string name="pref_summary_draw_over_enabled">Permission de se superposer aux autres applis accordée</string>
+    <string name="pref_summary_draw_over_unneeded">Uniquement utilisé par le service d\'accessibilité</string>
+    <string name="pref_summary_draw_over_enable">Accorder la permission de se superposer aux autres applis</string>
     <string name="pref_gpg_title_username_mail">Username</string>
     <string name="pref_gpg_username">Username</string>
     <string name="pref_gpg_user_mail">Mail Address</string>

+ 5 - 0
app/src/main/res/values/lang.xml

@@ -58,6 +58,11 @@
     <string name="new_branch">New branch</string>
     <string name="pref_summary_keyboard_enabled">Keyboard is enabled</string>
     <string name="pref_summary_enable_keyboard">Allow pass keyboard</string>
+    <string name="pref_summary_accessibility_enabled">Accessibility service is enabled</string>
+    <string name="pref_summary_accessibility_disabled">Allow accessibility service</string>
+    <string name="pref_summary_draw_over_enabled">Draw over other app permission is granted</string>
+    <string name="pref_summary_draw_over_unneeded">Draw over other app permission only needed by Accessibility Service</string>
+    <string name="pref_summary_draw_over_enable">Grant Draw over other app permission</string>
     <string name="pref_gpg_title_username_mail">Username</string>
     <string name="pref_gpg_username">Username</string>
     <string name="pref_gpg_user_mail">Mail Address</string>