aboutsummaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/AndroidManifest.xml3
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/SelectFolderActivity.kt63
-rw-r--r--app/src/main/res/menu/pgp_handler_select_folder.xml2
3 files changed, 66 insertions, 2 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 15b4c743..808606cd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -86,6 +86,7 @@
</activity>
<activity android:name=".crypto.PgpActivity"
android:parentActivityName=".PasswordStore"/>
- </application>
+ <activity android:name=".SelectFolderActivity" />
+ </application>
</manifest>
diff --git a/app/src/main/java/com/zeapo/pwdstore/SelectFolderActivity.kt b/app/src/main/java/com/zeapo/pwdstore/SelectFolderActivity.kt
new file mode 100644
index 00000000..c3c53998
--- /dev/null
+++ b/app/src/main/java/com/zeapo/pwdstore/SelectFolderActivity.kt
@@ -0,0 +1,63 @@
+package com.zeapo.pwdstore
+
+import android.app.Activity
+import android.app.FragmentManager
+import android.os.Bundle
+import android.os.PersistableBundle
+import android.support.v7.app.AppCompatActivity
+import android.view.Menu
+import android.view.MenuItem
+import com.zeapo.pwdstore.utils.PasswordRepository
+
+// TODO more work needed, this is just an extraction from PgpHandler
+
+class SelectFolderActivity : AppCompatActivity() {
+ internal var passwordList: SelectFolderFragment? = null
+
+ override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
+ super.onCreate(savedInstanceState, persistentState)
+
+ setContentView(R.layout.select_folder_layout)
+
+ val fragmentManager = supportFragmentManager
+ val fragmentTransaction = fragmentManager.beginTransaction()
+
+
+ passwordList = SelectFolderFragment()
+ val args = Bundle()
+ args.putString("Path", PasswordRepository.getRepositoryDirectory(applicationContext).absolutePath)
+
+ passwordList?.arguments = args
+
+ supportActionBar?.show()
+
+ fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
+
+ fragmentTransaction.replace(R.id.pgp_handler_linearlayout, passwordList, "PasswordsList")
+ fragmentTransaction.commit()
+ }
+
+ override fun onCreateOptionsMenu(menu: Menu): Boolean {
+ menuInflater.inflate(R.menu.pgp_handler_select_folder, menu)
+ return true
+ }
+
+ override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ val id = item.itemId
+ when (id) {
+ android.R.id.home -> {
+ setResult(Activity.RESULT_CANCELED)
+ finish()
+ return true
+ }
+ R.id.crypto_select -> selectFolder()
+ }
+ return super.onOptionsItemSelected(item)
+ }
+
+ private fun selectFolder() {
+ intent.putExtra("SELECTED_FOLDER_PATH", passwordList?.currentDir?.absolutePath)
+ setResult(Activity.RESULT_OK, intent)
+ finish()
+ }
+} \ No newline at end of file
diff --git a/app/src/main/res/menu/pgp_handler_select_folder.xml b/app/src/main/res/menu/pgp_handler_select_folder.xml
index c18ede62..c9855ecd 100644
--- a/app/src/main/res/menu/pgp_handler_select_folder.xml
+++ b/app/src/main/res/menu/pgp_handler_select_folder.xml
@@ -2,7 +2,7 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:pwstore="http://schemas.android.com/apk/res-auto"
- tools:context="com.zeapo.pwdstore.crypto.PgpHandler" >
+ tools:context="com.zeapo.pwdstore.SelectFolderActivity" >
<item android:title="@string/crypto_select"
android:icon="@drawable/ic_done_white_24dp"
pwstore:showAsAction="ifRoom"