Browse Source

Refs #28 add encryption info activity

isundil 7 years ago
parent
commit
6c8e2d5461

+ 1 - 0
app/build.gradle

@@ -30,6 +30,7 @@ dependencies {
     implementation 'com.android.support.constraint:constraint-layout:1.1.3'
     implementation 'com.android.support:support-v4:28.0.0'
     implementation 'com.android.support:support-vector-drawable:28.0.0'
+    implementation 'com.android.support:design:28.0.0'
     testImplementation 'junit:junit:4.12'
     androidTestImplementation 'com.android.support.test:runner:1.0.2'
     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

+ 7 - 4
app/src/main/AndroidManifest.xml

@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="info.knacki.pass">
+
     <!-- For sync -->
-    <uses-permission android:name="android.permission.INTERNET"/>
+    <uses-permission android:name="android.permission.INTERNET" />
 
     <!-- For fingerprint unlock -->
     <uses-permission android:name="android.permission.USE_FINGERPRINT" />
@@ -13,12 +14,12 @@
 
     <application
         android:allowBackup="true"
+        android:extractNativeLibs="false"
         android:fullBackupContent="true"
         android:icon="@mipmap/ic_launcher"
         android:label="@string/app_name"
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
-        android:extractNativeLibs="false"
         android:theme="@style/AppTheme">
         <service
             android:name=".input.InputService"
@@ -50,15 +51,17 @@
         <activity
             android:name=".ui.EditPasswordActivity"
             android:windowSoftInputMode="adjustResize" />
-        <activity android:name=".ui.GitPullActivity"/>
+        <activity android:name=".ui.GitPullActivity" />
+        <activity android:name=".ui.EncryptionInformationActivity" />
 
         <provider
-            android:authorities="info.knacki.pass.provider"
             android:name="android.support.v4.content.FileProvider"
+            android:authorities="info.knacki.pass.provider"
             android:grantUriPermissions="true">
             <meta-data
                 android:name="android.support.FILE_PROVIDER_PATHS"
                 android:resource="@xml/provider_paths" />
         </provider>
     </application>
+
 </manifest>

+ 36 - 0
app/src/main/java/info/knacki/pass/ui/EncryptionInformationActivity.java

@@ -0,0 +1,36 @@
+package info.knacki.pass.ui;
+
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.AppCompatTextView;
+
+import java.io.File;
+import java.util.logging.Logger;
+
+import info.knacki.pass.R;
+
+public class EncryptionInformationActivity extends AppCompatActivity {
+    public static final String FILE_PATH = EncryptionInformationActivity.class.getName() +"FILE_PATH";
+    private static final Logger log = Logger.getLogger(EncryptionInformationActivity.class.getName());
+    private File fEncrypted;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        String filePath = getIntent().getStringExtra(FILE_PATH);
+        if (filePath == null) {
+            finish();
+            return;
+        }
+        fEncrypted = new File(filePath);
+        setContentView(R.layout.activity_encryption_infos);
+        //setTitle(R.string.title);
+        setTitle("R.string.title");
+
+        FillView();
+    }
+
+    private void FillView() {
+        ((AppCompatTextView) findViewById(R.id.filepath)).setText(fEncrypted.getName());
+    }
+}

+ 7 - 0
app/src/main/java/info/knacki/pass/ui/MainActivity.java

@@ -260,4 +260,11 @@ public class MainActivity extends AppCompatActivity implements PasswordEditListe
             }
         });
     }
+
+    @Override
+    public void OnEncryptionInfos(File f) {
+        Intent i = new Intent(this, EncryptionInformationActivity.class);
+        i.putExtra(EncryptionInformationActivity.FILE_PATH, f.getAbsolutePath());
+        startActivity(i);
+    }
 }

+ 1 - 0
app/src/main/java/info/knacki/pass/ui/passwordList/PasswordEditListener.java

@@ -5,5 +5,6 @@ import java.io.File;
 public interface PasswordEditListener extends PasswordClickListener {
     void OnRemovePassword(File f);
     void OnRemoveDirectory(File f);
+    void OnEncryptionInfos(File f);
     void OnCopyToClipboard(File f);
 }

+ 11 - 0
app/src/main/res/layout/activity_encryption_infos.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<GridLayout
+    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:rowCount="2"
+    android:columnCount="2">
+    <android.support.v7.widget.AppCompatTextView android:text="@string/path"
+        android:layout_row="0" android:layout_column="0" />
+    <android.support.v7.widget.AppCompatTextView android:id="@+id/filepath"
+        android:layout_row="0" android:layout_column="1" />
+</GridLayout>

+ 3 - 2
app/src/main/res/menu/context_file_menu.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
-<item android:id="@+id/remove" android:title="@string/remove"/>
-<item android:id="@+id/clipboard" android:title="@string/copy_clipboard"/>
+    <item android:id="@+id/clipboard" android:title="@string/copy_clipboard"/>
+    <item android:id="@+id/encryption_infos" android:title="@string/encryption_infos"/>
+    <item android:id="@+id/remove" android:title="@string/remove"/>
 </menu>

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

@@ -19,6 +19,7 @@
     <string name="cancelled">Annulé</string>
     <string name="ChangeKeyboard">Revenir au clavier</string>
     <string name="settings">Configuration</string>
+    <string name="encryption_infos">Méthode de chiffrement</string>
     <string name="pref_title_system_keyboard_settings">Paramètres système du clavier</string>
     <string name="pref_header_general">Général</string>
     <string name="pref_header_Encryption">Chiffrement</string>
@@ -90,4 +91,5 @@
     <string name="pref_summary_pwd_password">Changer le mot de passe</string>
     <string name="update_password">Changement de mot de passe </string>
     <string name="update_password_confirm">Ce mot de passe sera maintenant utilisé pour les nouveaux mots de passes. Voulez-vous mettre à jours vos mots de passes ?</string>
+    <string name="path">Fichier</string>
 </resources>

+ 1 - 0
app/src/main/res/values/dimens.xml

@@ -4,4 +4,5 @@
     <dimen name="big_icon_height">64dp</dimen>
     <dimen name="keyboard_min_height">375px</dimen>
     <dimen name="keyboard_max_height">664px</dimen>
+    <dimen name="fab_margin">16dp</dimen>
 </resources>

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

@@ -19,6 +19,7 @@
     <string name="cancelled">Cancelled</string>
     <string name="ChangeKeyboard">Change keyboard</string>
     <string name="settings">Settings</string>
+    <string name="encryption_infos">Encryption</string>
     <string name="pref_title_system_keyboard_settings">Keyboard system settings</string>
     <string name="pref_header_general">General</string>
     <string name="pref_header_Encryption">Encryption</string>
@@ -90,4 +91,5 @@
     <string name="pref_summary_pwd_password">Change password</string>
     <string name="update_password">Update master password</string>
     <string name="update_password_confirm">This password will now be used for new passwords. Do you want to update your password encoded data with this master password ?</string>
+    <string name="path">File</string>
 </resources>

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -29,4 +29,5 @@
     <integer name="id_keyboard_numbers">-2</integer>
     <integer name="id_keyboard_shift">-1</integer>
     <integer name="id_keyboard_delete">-5</integer>
+    <string name="title_activity_encryption_info">EncryptionInfo</string>
 </resources>

+ 9 - 0
app/src/main/res/values/styles.xml

@@ -8,4 +8,13 @@
         <item name="colorAccent">@color/colorAccent</item>
     </style>
 
+    <style name="AppTheme.NoActionBar">
+        <item name="windowActionBar">false</item>
+        <item name="windowNoTitle">true</item>
+    </style>
+
+    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
+
+    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
+
 </resources>