Show extra content w/o copy password, fixes #288 (#317)

Show extra content even if password is not copied to clipboard.
Add toggle to preferences as well.
This commit is contained in:
Felix Bechstein 2017-07-16 16:41:47 +02:00 committed by Mohamed Zenadi
parent 8e6ab25572
commit 6ce31056c9
4 changed files with 17 additions and 6 deletions

View file

@ -485,15 +485,18 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
if (requestCode == REQUEST_CODE_DECRYPT_AND_VERIFY && os != null) {
try {
if (returnToCiphertextField) {
boolean showPassword = settings.getBoolean("show_password", true);
final boolean showPassword = settings.getBoolean("show_password", true);
final boolean showExtraContent = settings.getBoolean("show_extra_content", true);
findViewById(R.id.crypto_container).setVisibility(View.VISIBLE);
Typeface monoTypeface = Typeface.createFromAsset(getAssets(), "fonts/sourcecodepro.ttf");
final String[] passContent = os.toString("UTF-8").split("\n");
final String[] passContent = os.toString("UTF-8").split("\n", 2);
final String decodedPassword = passContent[0];
final String extraContent = passContent.length > 1 ? passContent[1] : "";
textViewPassword
.setTypeface(monoTypeface);
textViewPassword
.setText(passContent[0]);
.setText(decodedPassword);
Button toggleVisibilityButton = (Button) findViewById(R.id.crypto_password_toggle_show);
toggleVisibilityButton.setVisibility(showPassword?View.GONE:View.VISIBLE);
@ -501,13 +504,12 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
@Override
public void run() {
textViewPassword
.setText(passContent[0]);
.setText(decodedPassword);
}
}));
decodedPassword = passContent[0];
String extraContent = os.toString("UTF-8").replaceFirst(".*\n", "");
if (extraContent.length() != 0) {
findViewById(R.id.crypto_extra_show_layout).setVisibility(showExtraContent ? View.VISIBLE : View.GONE);
((TextView) findViewById(R.id.crypto_extra_show))
.setTypeface(monoTypeface);
((TextView) findViewById(R.id.crypto_extra_show))

View file

@ -171,6 +171,8 @@
<string name="refresh_list">Aktualisieren</string>
<string name="show_password_pref_title">Zeige das Password</string>
<string name="show_password_pref_summary">Soll das entschlüsselte Passwort sichtbar sein? Dies deaktiviert nicht das Kopieren.</string>
<string name="show_extra_content_pref_title">Zeige weiteren Inhalt</string>
<string name="show_extra_content_pref_summary">Soll weiterer Inhalt sichtbar sein?</string>
<string name="toast_password_copied">Passwort befindet sich zum Einfügen in der Zwischenablage</string>
<string name="pwd_generate_button">Generieren</string>
<string name="category_string">"Kategorie: "</string>

View file

@ -179,6 +179,8 @@
<string name="git_push">Push to remote</string>
<string name="show_password_pref_title">Show the password</string>
<string name="show_password_pref_summary">Control the visibility of the passwords once decrypted, this does not disable the password copy</string>
<string name="show_extra_content_pref_title">Show extra content</string>
<string name="show_extra_content_pref_summary">Control the visibility of the extra content once decrypted</string>
<string name="toast_password_copied">Password copied into the clipboard</string>
<string name="pwd_generate_button">Generate</string>
<string name="category_string">"Category: "</string>

View file

@ -52,6 +52,11 @@
android:title="@string/show_password_pref_title"
android:summary="@string/show_password_pref_summary"
android:key="show_password" />
<CheckBoxPreference
android:defaultValue="true"
android:title="@string/show_extra_content_pref_title"
android:summary="@string/show_extra_content_pref_summary"
android:key="show_extra_content" />
<CheckBoxPreference
android:defaultValue="true"
android:dialogTitle="@string/pref_copy_dialog_title"