diff options
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/PasswordStore.java | 11 | ||||
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java | 66 |
2 files changed, 45 insertions, 32 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java index 890a76bc..da90e33b 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java @@ -80,6 +80,13 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI } return true; + case R.id.menu_add_password: + createPassword(getCurrentFocus()); + break; + + case R.id.menu_add_category: + break; + case R.id.referesh: PasswordFragment plist; if (null != @@ -204,7 +211,6 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI try { Intent intent = new Intent(this, PgpHandler.class); intent.putExtra("PGP-ID", FileUtils.readFileToString(PasswordRepository.getFile("/.gpg-id"))); - intent.putExtra("NAME", "test.gpg"); intent.putExtra("FILE_PATH", this.currentDir.getAbsolutePath()); intent.putExtra("Operation", "ENCRYPT"); // TODO Define different operations here @@ -217,6 +223,7 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI protected void onActivityResult(int requestCode, int resultCode, Intent data) { System.out.println(resultCode); - checkLocalRepository(this.currentDir); + if (resultCode == RESULT_OK) + checkLocalRepository(this.currentDir); } } diff --git a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java index fec575ac..8e7cfe65 100644 --- a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java +++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java @@ -2,7 +2,9 @@ package com.zeapo.pwdstore.crypto; import android.app.ActionBar; import android.app.Activity; +import android.app.AlertDialog; import android.app.PendingIntent; +import android.content.DialogInterface; import android.content.Intent; import android.content.IntentSender; import android.content.SharedPreferences; @@ -20,7 +22,6 @@ import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; -import android.widget.GridLayout.LayoutParams; import com.zeapo.pwdstore.R; import com.zeapo.pwdstore.UserPreference; @@ -37,7 +38,6 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.InputStream; import java.io.OutputStream; -import java.io.StringReader; import java.io.UnsupportedEncodingException; public class PgpHandler extends Activity { @@ -67,14 +67,9 @@ public class PgpHandler extends Activity { Bundle extra = getIntent().getExtras(); if (extra.getString("Operation").equals("DECRYPT")) { setContentView(R.layout.decrypt_layout); - ((TextView) findViewById(R.id.crypto_password_file)).setText(extra.getString("NAME")); - findViewById(R.id.crypto_show_button).setVisibility(View.VISIBLE); } else if (extra.getString("Operation").equals("ENCRYPT")) { setContentView(R.layout.encrypt_layout); - - ((EditText) findViewById(R.id.crypto_password_edit)).setText(extra.getString("NAME")); - findViewById(R.id.crypto_password_edit_layout).setVisibility(View.VISIBLE); } // some persistance @@ -113,6 +108,7 @@ public class PgpHandler extends Activity { int id = item.getItemId(); switch (id) { case android.R.id.home: + setResult(RESULT_OK); finish(); return true; } @@ -130,6 +126,8 @@ public class PgpHandler extends Activity { case R.id.crypto_cancel_add: finish(); break; + case R.id.crypto_delete_button: + deletePassword(); default: // should not happen @@ -267,7 +265,7 @@ public class PgpHandler extends Activity { showToast(os.toString()); } - setResult(998); + setResult(RESULT_OK); finish(); } catch (Exception e) { Log.e(Constants.TAG, "UnsupportedEncodingException", e); @@ -341,9 +339,20 @@ public class PgpHandler extends Activity { data.putExtra(OpenPgpApi.EXTRA_USER_IDS, new String[] {"default"}); data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true); + String name = ((EditText) findViewById(R.id.crypto_password_file_edit)).getText().toString(); String pass = ((EditText) findViewById(R.id.crypto_password_edit)).getText().toString(); String extra = ((EditText) findViewById(R.id.crypto_extra_edit)).getText().toString(); + if (name.isEmpty()) { + showToast("Please provide a file name"); + return; + } + + if (pass.isEmpty()) { + showToast("You cannot use an empty password or empty extra content"); + return; + } + ByteArrayInputStream is; try { @@ -360,13 +369,26 @@ public class PgpHandler extends Activity { } + private void deletePassword() { + new AlertDialog.Builder(this). + setMessage("Are you sure you want to delete the password " + + getIntent().getExtras().getString("NAME") + ) + .setPositiveButton("YES", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { + (new File(getIntent().getExtras().getString("FILE_PATH"))).delete(); + setResult(RESULT_OK); + finish(); + } + }) + .setNegativeButton("NO", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { - public void getKeyIds(Intent data) { - data.setAction(OpenPgpApi.ACTION_GET_KEY_IDS); - data.putExtra(OpenPgpApi.EXTRA_USER_IDS, new String[]{getIntent().getExtras().getString("PGP-ID")}); - - OpenPgpApi api = new OpenPgpApi(this, mServiceConnection.getService()); - api.executeApiAsync(data, null, null, new MyCallback(false, null, REQUEST_CODE_GET_KEY_IDS)); + } + }) + .show(); } @Override @@ -383,30 +405,14 @@ public class PgpHandler extends Activity { * interaction, for example selected key ids. */ switch (requestCode) { -// case REQUEST_CODE_SIGN: { -// sign(data); -// break; -// } case REQUEST_CODE_ENCRYPT: { encrypt(data); break; } -// case REQUEST_CODE_SIGN_AND_ENCRYPT: { -// signAndEncrypt(data); -// break; -// } case REQUEST_CODE_DECRYPT_AND_VERIFY: { decryptAndVerify(data); break; } -// case REQUEST_CODE_GET_KEY: { -// getKey(data); -// break; -// } - case REQUEST_CODE_GET_KEY_IDS: { - getKeyIds(data); - break; - } } } } |