From 64481bcb45892adac0786eab0674db7261dccf21 Mon Sep 17 00:00:00 2001 From: zeapo Date: Thu, 30 Oct 2014 22:32:19 +0100 Subject: fixes an issue where the password was always added on the root --- app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java | 11 +++++++++++ app/src/main/java/com/zeapo/pwdstore/PasswordStore.java | 9 +++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'app/src/main/java') diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java index fa97fcc4..2262b7d3 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java @@ -186,6 +186,17 @@ public class PasswordFragment extends Fragment{ pathStack.pop(); } + /** + * gets the current directory + * @return the current directory + */ + public File getCurrentDir() { + if (pathStack.isEmpty()) + return PasswordRepository.getWorkTree(); + else + return pathStack.peek(); + } + public boolean isNotEmpty() { return !passListStack.isEmpty(); } diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java index 62bf3d4f..f479347f 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java @@ -359,7 +359,7 @@ public class PasswordStore extends ActionBarActivity { try { Intent intent = new Intent(this, PgpHandler.class); intent.putExtra("PGP-ID", FileUtils.readFileToString(PasswordRepository.getFile("/.gpg-id"))); - intent.putExtra("FILE_PATH", this.currentDir.getAbsolutePath()); + intent.putExtra("FILE_PATH", getCurrentDir().getAbsolutePath()); intent.putExtra("Operation", "ENCRYPT"); startActivityForResult(intent, PgpHandler.REQUEST_CODE_ENCRYPT); } catch (Exception e) { @@ -429,7 +429,12 @@ public class PasswordStore extends ActionBarActivity { } private File getCurrentDir() { - return new File(((PasswordFragment) getFragmentManager().findFragmentByTag("PasswordsList")).getArguments().getString("Path")); + PasswordFragment plist; + if (null != + (plist = (PasswordFragment) getFragmentManager().findFragmentByTag("PasswordsList"))) { + return plist.getCurrentDir(); + } + return null; } protected void onActivityResult(int requestCode, int resultCode, -- cgit v1.2.3