diff options
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/PasswordStore.java | 13 | ||||
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java | 32 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_pgp_handler.xml | 71 | ||||
-rw-r--r-- | app/src/main/res/layout/decrypt_layout.xml | 115 | ||||
-rw-r--r-- | app/src/main/res/layout/encrypt_layout.xml | 82 |
5 files changed, 246 insertions, 67 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java index 79f1fc2d..fdc90518 100644 --- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java +++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java @@ -176,6 +176,7 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI intent.putExtra("PGP-ID", FileUtils.readFileToString(PasswordRepository.getFile("/.gpg-id"))); intent.putExtra("NAME", item.getName()); intent.putExtra("FILE_PATH", item.getFile().getAbsolutePath()); + intent.putExtra("Operation", "DECRYPT"); startActivity(intent); } catch (IOException e) { @@ -192,5 +193,17 @@ public class PasswordStore extends Activity implements ToCloneOrNot.OnFragmentI public void createPassword(View v) { System.out.println("Adding file to : " + this.currentDir.getAbsolutePath()); + this.leftActivity = true; + + 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() + "/test.gpg"); + intent.putExtra("Operation", "ENCRYPT"); + startActivity(intent); + } catch (Exception e) { + e.printStackTrace(); + } } } 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 198a2d9d..72775400 100644 --- a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java +++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java @@ -1,11 +1,11 @@ package com.zeapo.pwdstore.crypto; +import android.app.ActionBar; import android.app.Activity; import android.app.PendingIntent; import android.content.Intent; import android.content.IntentSender; import android.content.SharedPreferences; -import android.graphics.Typeface; import android.os.AsyncTask; import android.os.Bundle; import android.os.SystemClock; @@ -15,10 +15,12 @@ import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.EditText; 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; @@ -56,10 +58,19 @@ public class PgpHandler extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_pgp_handler); Bundle extra = getIntent().getExtras(); - ((TextView) findViewById(R.id.crypto_password_file)).setText(extra.getString("NAME")); + 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 SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this); @@ -136,16 +147,16 @@ public class PgpHandler extends Activity { @Override protected void onPreExecute() { - ((LinearLayout) findViewById(R.id.crypto_password_show_layout)).setVisibility(View.VISIBLE); + LinearLayout container = (LinearLayout) findViewById(R.id.crypto_container); + container.setVisibility(View.VISIBLE); + TextView extraText = (TextView) findViewById(R.id.crypto_extra_show); if (extraText.getText().length() != 0) ((LinearLayout) findViewById(R.id.crypto_extra_show_layout )).setVisibility(View.VISIBLE); this.pb = (ProgressBar) findViewById(R.id.pbLoading); - this.pb.setVisibility(ProgressBar.VISIBLE); this.pb.setMax(SHOW_TIME); - } @Override @@ -161,10 +172,8 @@ public class PgpHandler extends Activity { protected void onPostExecute(Boolean b) { //clear password ((TextView) findViewById(R.id.crypto_password_show)).setText(""); - ((LinearLayout) findViewById(R.id.crypto_password_show_layout)).setVisibility(View.INVISIBLE); - ((LinearLayout) findViewById(R.id.crypto_extra_show_layout)).setVisibility(View.INVISIBLE); - // run a background job and once complete - this.pb.setVisibility(ProgressBar.INVISIBLE); + findViewById(R.id.crypto_extra_show_layout).setVisibility(View.INVISIBLE); + findViewById(R.id.crypto_container).setVisibility(View.INVISIBLE); } @@ -197,7 +206,10 @@ public class PgpHandler extends Activity { try { Log.d(OpenPgpApi.TAG, "result: " + os.toByteArray().length + " str=" + os.toString("UTF-8")); + if (returnToCiphertextField) { + findViewById(R.id.crypto_container).setVisibility(View.VISIBLE); + String[] passContent = os.toString("UTF-8").split("\n"); ((TextView) findViewById(R.id.crypto_password_show)) .setText(passContent[0]); diff --git a/app/src/main/res/layout/activity_pgp_handler.xml b/app/src/main/res/layout/activity_pgp_handler.xml index ced0ec33..b5dfba53 100644 --- a/app/src/main/res/layout/activity_pgp_handler.xml +++ b/app/src/main/res/layout/activity_pgp_handler.xml @@ -24,73 +24,30 @@ android:id="@+id/crypto_password_file" android:layout_gravity="center_vertical" android:layout_marginLeft="8dp" - android:layout_column="0"/> + android:layout_column="0" + android:layout_row="0"/> <ImageButton + android:id="@+id/crypto_show_button" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_column="2" android:src="@android:drawable/ic_input_get" android:background="@android:drawable/screen_background_light_transparent" android:layout_gravity="center_vertical" - android:onClick="decrypt"/> - - </GridLayout> - - <LinearLayout - android:id="@+id/crypto_password_show_layout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:visibility="invisible" - android:orientation="vertical" - android:background="@drawable/rectangle"> - - <GridLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="horizontal"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textStyle="bold" - android:text="Password: "/> - <TextView - android:id="@+id/crypto_password_show" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:typeface="monospace" - android:layout_column="2"/> - </GridLayout> - - <ProgressBar - android:id="@+id/pbLoading" android:visibility="invisible" - android:layout_width="match_parent" - android:layout_height="2dp" - android:layout_marginTop="8dp" - android:layout_marginBottom="8dp" - style="?android:attr/progressBarStyleHorizontal"/> - </LinearLayout> - - <LinearLayout - android:id="@+id/crypto_extra_show_layout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@drawable/rectangle" - android:orientation="vertical" - android:visibility="invisible"> + android:onClick="decrypt" + android:layout_column="2" + android:layout_row="0"/> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:textStyle="bold" - android:text="Extra content: "/> - <TextView - android:id="@+id/crypto_extra_show" - android:layout_width="match_parent" + <LinearLayout + android:id="@+id/crypto_container" + android:orientation="vertical" + android:layout_width="fill_parent" android:layout_height="wrap_content" - android:typeface="monospace"/> + android:layout_column="0" + android:layout_row="2" + android:layout_columnSpan="3" /> - </LinearLayout> + </GridLayout> </LinearLayout> diff --git a/app/src/main/res/layout/decrypt_layout.xml b/app/src/main/res/layout/decrypt_layout.xml new file mode 100644 index 00000000..8612ce3b --- /dev/null +++ b/app/src/main/res/layout/decrypt_layout.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin" + tools:context="com.zeapo.pwdstore.crypto.PgpHandler" + android:orientation="vertical" + android:background="#eee"> + + <GridLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@drawable/rectangle" + android:orientation="horizontal"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="@android:color/holo_orange_dark" + android:text="Large Text" + android:id="@+id/crypto_password_file" + android:layout_gravity="center_vertical" + android:layout_marginLeft="8dp" + android:layout_column="0" + android:layout_row="0"/> + + <ImageButton + android:id="@+id/crypto_show_button" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:src="@android:drawable/ic_input_get" + android:background="@android:drawable/screen_background_light_transparent" + android:layout_gravity="center_vertical" + android:visibility="invisible" + android:onClick="decrypt" + android:layout_column="2" + android:layout_row="0"/> + </GridLayout> + + <LinearLayout + android:id="@+id/crypto_container" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:background="@drawable/rectangle" + android:layout_marginTop="@dimen/activity_vertical_margin" + android:visibility="invisible"> + + <GridLayout + android:id="@+id/crypto_password_show_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textStyle="bold" + android:textColor="@android:color/black" + android:text="Password: " + android:layout_row="0" + android:layout_column="0"/> + <TextView + android:id="@+id/crypto_password_show" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:typeface="monospace" + android:textColor="@android:color/black" + android:layout_column="2" + android:layout_row="0"/> + + <ProgressBar + android:id="@+id/pbLoading" + android:layout_width="match_parent" + android:layout_height="2dp" + android:layout_marginTop="8dp" + android:layout_marginBottom="8dp" + style="?android:attr/progressBarStyleHorizontal" + android:layout_row="1" + android:layout_column="0" + android:layout_columnSpan="3"/> + </GridLayout> + + <LinearLayout + android:id="@+id/crypto_extra_show_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:visibility="invisible"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textStyle="bold" + android:textColor="@android:color/black" + android:text="Extra content: "/> + <ScrollView + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + <TextView + android:id="@+id/crypto_extra_show" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textColor="@android:color/black" + android:typeface="monospace"/> + </ScrollView> + + </LinearLayout> + </LinearLayout> + + +</LinearLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout/encrypt_layout.xml b/app/src/main/res/layout/encrypt_layout.xml new file mode 100644 index 00000000..4efc049f --- /dev/null +++ b/app/src/main/res/layout/encrypt_layout.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingLeft="@dimen/activity_horizontal_margin" + android:paddingRight="@dimen/activity_horizontal_margin" + android:paddingTop="@dimen/activity_vertical_margin" + android:paddingBottom="@dimen/activity_vertical_margin" + tools:context="com.zeapo.pwdstore.crypto.PgpHandler" + android:orientation="vertical" + android:background="#eee"> + + <GridLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@drawable/rectangle" + android:orientation="horizontal"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textColor="@android:color/holo_orange_dark" + android:text="Large Text" + android:id="@+id/crypto_password_file" + android:layout_gravity="center_vertical" + android:layout_marginLeft="8dp" + android:layout_column="0" + android:layout_row="0"/> + + </GridLayout> + + + <LinearLayout + android:id="@+id/crypto_container" + android:orientation="vertical" + android:layout_width="fill_parent" + android:layout_marginTop="@dimen/activity_vertical_margin" + android:background="@drawable/rectangle" + android:layout_height="wrap_content"> + + <LinearLayout + android:id="@+id/crypto_password_edit_layout" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textStyle="bold" + android:text="Password: "/> + <EditText + android:id="@+id/crypto_password_edit" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:typeface="monospace"/> + </LinearLayout> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="8dp" + android:textStyle="bold" + android:text="Extra content: "/> + + <EditText + android:id="@+id/crypto_edit_show" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:enabled="true" + android:visibility="visible" + android:typeface="monospace"/> + </LinearLayout> + </LinearLayout> + +</LinearLayout> + |