Browse Source

Fix #37 add encryption info button in passwword editor activity

isundil 7 years ago
parent
commit
c78c575a41

+ 25 - 0
app/src/main/java/info/knacki/pass/ui/EditPasswordActivity.java

@@ -1,11 +1,14 @@
 package info.knacki.pass.ui;
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.AppCompatCheckBox;
 import android.support.v7.widget.AppCompatEditText;
 import android.text.Editable;
 import android.text.InputType;
+import android.view.Menu;
+import android.view.MenuItem;
 import android.widget.Toast;
 
 import java.io.File;
@@ -16,6 +19,7 @@ import info.knacki.pass.R;
 import info.knacki.pass.io.FileInterfaceFactory;
 import info.knacki.pass.io.IFileInterface;
 import info.knacki.pass.io.OnResponseListener;
+import info.knacki.pass.settings.SettingsManager;
 import info.knacki.pass.ui.passwordPicker.PasswordPickerFactory;
 
 public class EditPasswordActivity extends AppCompatActivity {
@@ -25,6 +29,27 @@ public class EditPasswordActivity extends AppCompatActivity {
     protected File fOutputFile;
     protected AppCompatEditText fTextEdit;
 
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        getMenuInflater().inflate(R.menu.editpassword_menu, menu);
+        if (SettingsManager.GetVCS(this) == null) {
+            // Disable sync option
+            menu.removeItem(R.id.id_sync);
+        }
+        return super.onCreateOptionsMenu(menu);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == R.id.encryption_infos) {
+            Intent i = new Intent(this, EncryptionInformationActivity.class);
+            i.putExtra(EncryptionInformationActivity.FILE_PATH, fOutputFile.getAbsolutePath());
+            startActivity(i);
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);

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

@@ -4,6 +4,7 @@ import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.AppCompatRadioButton;
 import android.support.v7.widget.AppCompatTextView;
+import android.view.MenuItem;
 import android.widget.RadioGroup;
 
 import java.io.File;
@@ -93,6 +94,15 @@ public class EncryptionInformationActivity extends AppCompatActivity {
         FillView();
     }
 
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == android.R.id.home) {
+            finish();
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
     private void FillView() {
         setTitle(FileUtils.TrimExtension(fEncrypted.getName()));
         IFileInterface f = FileInterfaceFactory.GetFileInterface(this, null, fEncrypted);

+ 5 - 0
app/src/main/res/menu/editpassword_menu.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+    <item android:icon="@drawable/ic_info_black_24dp" android:title="@string/encryption_infos" android:id="@+id/encryption_infos" app:showAsAction="always"/>
+</menu>