Make create key wizard step-by-step
@ -37,6 +37,9 @@ python copy OpenKeychain social grey person 24
|
||||
python copy OpenKeychain social grey person_add 24
|
||||
python copy OpenKeychain social grey share 24
|
||||
python copy OpenKeychain communication grey vpn_key 24
|
||||
python copy OpenKeychain navigation grey chevron_left 24
|
||||
python copy OpenKeychain navigation grey chevron_right 24
|
||||
python copy OpenKeychain social grey person 48
|
||||
|
||||
# navigation drawer sections
|
||||
python copy OpenKeychain communication black vpn_key 24
|
||||
|
@ -93,7 +93,7 @@
|
||||
<activity
|
||||
android:name=".ui.CreateKeyActivity"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
|
||||
android:windowSoftInputMode="stateHidden|adjustResize"
|
||||
android:windowSoftInputMode="adjustResize"
|
||||
android:label="@string/title_create_key"
|
||||
android:parentActivityName=".ui.MainActivity">
|
||||
<meta-data
|
||||
|
@ -39,8 +39,8 @@ public class CreateKeyActivity extends BaseActivity {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
// pass extras into fragment
|
||||
CreateKeyInputFragment frag =
|
||||
CreateKeyInputFragment.newInstance(
|
||||
CreateKeyNameFragment frag =
|
||||
CreateKeyNameFragment.newInstance(
|
||||
getIntent().getStringExtra(EXTRA_NAME),
|
||||
getIntent().getStringExtra(EXTRA_EMAIL)
|
||||
);
|
||||
|
@ -0,0 +1,134 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.sufficientlysecure.keychain.ui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
|
||||
import org.sufficientlysecure.keychain.ui.widget.EmailEditText;
|
||||
|
||||
public class CreateKeyEmailFragment extends Fragment {
|
||||
|
||||
public static final String ARG_NAME = "name";
|
||||
public static final String ARG_EMAIL = "email";
|
||||
|
||||
CreateKeyActivity mCreateKeyActivity;
|
||||
EmailEditText mEmailEdit;
|
||||
View mBackButton;
|
||||
View mNextButton;
|
||||
|
||||
String mName;
|
||||
|
||||
/**
|
||||
* Creates new instance of this fragment
|
||||
*/
|
||||
public static CreateKeyEmailFragment newInstance(String name, String email) {
|
||||
CreateKeyEmailFragment frag = new CreateKeyEmailFragment();
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putString(ARG_NAME, name);
|
||||
args.putString(ARG_EMAIL, email);
|
||||
|
||||
frag.setArguments(args);
|
||||
|
||||
return frag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if text of given EditText is not empty. If it is empty an error is
|
||||
* set and the EditText gets the focus.
|
||||
*
|
||||
* @param context
|
||||
* @param editText
|
||||
* @return true if EditText is not empty
|
||||
*/
|
||||
private static boolean isEditTextNotEmpty(Context context, EditText editText) {
|
||||
boolean output = true;
|
||||
if (editText.getText().toString().length() == 0) {
|
||||
editText.setError(context.getString(R.string.create_key_empty));
|
||||
editText.requestFocus();
|
||||
output = false;
|
||||
} else {
|
||||
editText.setError(null);
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.create_key_email_fragment, container, false);
|
||||
|
||||
mEmailEdit = (EmailEditText) view.findViewById(R.id.create_key_email);
|
||||
mBackButton = view.findViewById(R.id.create_key_back_button);
|
||||
mNextButton = view.findViewById(R.id.create_key_next_button);
|
||||
|
||||
// initial values
|
||||
mName = getArguments().getString(ARG_NAME);
|
||||
String email = getArguments().getString(ARG_EMAIL);
|
||||
mEmailEdit.setText(email);
|
||||
|
||||
// focus empty edit fields
|
||||
if (email == null) {
|
||||
mEmailEdit.requestFocus();
|
||||
}
|
||||
mBackButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
mCreateKeyActivity.loadFragment(null, null, FragAction.TO_LEFT);
|
||||
}
|
||||
});
|
||||
mNextButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
createKeyCheck();
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity) {
|
||||
super.onAttach(activity);
|
||||
mCreateKeyActivity = (CreateKeyActivity) getActivity();
|
||||
}
|
||||
|
||||
private void createKeyCheck() {
|
||||
if (isEditTextNotEmpty(getActivity(), mEmailEdit)) {
|
||||
|
||||
CreateKeyPassphraseFragment frag =
|
||||
CreateKeyPassphraseFragment.newInstance(
|
||||
mName,
|
||||
mEmailEdit.getText().toString()
|
||||
);
|
||||
|
||||
mCreateKeyActivity.loadFragment(null, frag, FragAction.TO_RIGHT);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -95,7 +95,7 @@ public class CreateKeyFinalFragment extends Fragment {
|
||||
mEmailEdit = (TextView) view.findViewById(R.id.email);
|
||||
mUploadCheckbox = (CheckBox) view.findViewById(R.id.create_key_upload);
|
||||
mBackButton = view.findViewById(R.id.create_key_back_button);
|
||||
mCreateButton = view.findViewById(R.id.create_key_create_button);
|
||||
mCreateButton = view.findViewById(R.id.create_key_next_button);
|
||||
mEditText = (TextView) view.findViewById(R.id.create_key_edit_text);
|
||||
mEditButton = view.findViewById(R.id.create_key_edit_button);
|
||||
|
||||
|
@ -0,0 +1,140 @@
|
||||
/*
|
||||
* Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.sufficientlysecure.keychain.ui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.EditText;
|
||||
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
|
||||
import org.sufficientlysecure.keychain.ui.widget.EmailEditText;
|
||||
import org.sufficientlysecure.keychain.ui.widget.NameEditText;
|
||||
|
||||
public class CreateKeyNameFragment extends Fragment {
|
||||
|
||||
public static final String ARG_NAME = "name";
|
||||
public static final String ARG_EMAIL = "email";
|
||||
|
||||
CreateKeyActivity mCreateKeyActivity;
|
||||
NameEditText mNameEdit;
|
||||
View mNextButton;
|
||||
|
||||
String mEmail;
|
||||
|
||||
/**
|
||||
* Creates new instance of this fragment
|
||||
*/
|
||||
public static CreateKeyNameFragment newInstance(String name, String email) {
|
||||
CreateKeyNameFragment frag = new CreateKeyNameFragment();
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putString(ARG_NAME, name);
|
||||
args.putString(ARG_EMAIL, email);
|
||||
|
||||
frag.setArguments(args);
|
||||
|
||||
return frag;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if text of given EditText is not empty. If it is empty an error is
|
||||
* set and the EditText gets the focus.
|
||||
*
|
||||
* @param context
|
||||
* @param editText
|
||||
* @return true if EditText is not empty
|
||||
*/
|
||||
private static boolean isEditTextNotEmpty(Context context, EditText editText) {
|
||||
boolean output = true;
|
||||
if (editText.getText().toString().length() == 0) {
|
||||
editText.setError(context.getString(R.string.create_key_empty));
|
||||
editText.requestFocus();
|
||||
output = false;
|
||||
} else {
|
||||
editText.setError(null);
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
private static boolean areEditTextsEqual(Context context, EditText editText1, EditText editText2) {
|
||||
boolean output = true;
|
||||
if (!editText1.getText().toString().equals(editText2.getText().toString())) {
|
||||
editText2.setError(context.getString(R.string.create_key_passphrases_not_equal));
|
||||
editText2.requestFocus();
|
||||
output = false;
|
||||
} else {
|
||||
editText2.setError(null);
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.create_key_name_fragment, container, false);
|
||||
|
||||
mNameEdit = (NameEditText) view.findViewById(R.id.create_key_name);
|
||||
mNextButton = view.findViewById(R.id.create_key_next_button);
|
||||
|
||||
// initial values
|
||||
String name = getArguments().getString(ARG_NAME);
|
||||
mEmail = getArguments().getString(ARG_EMAIL);
|
||||
mNameEdit.setText(name);
|
||||
|
||||
// focus empty edit fields
|
||||
if (name == null) {
|
||||
mNameEdit.requestFocus();
|
||||
}
|
||||
mNextButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
createKeyCheck();
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity) {
|
||||
super.onAttach(activity);
|
||||
mCreateKeyActivity = (CreateKeyActivity) getActivity();
|
||||
}
|
||||
|
||||
private void createKeyCheck() {
|
||||
if (isEditTextNotEmpty(getActivity(), mNameEdit)) {
|
||||
|
||||
CreateKeyEmailFragment frag =
|
||||
CreateKeyEmailFragment.newInstance(
|
||||
mNameEdit.getText().toString(),
|
||||
mEmail
|
||||
);
|
||||
|
||||
mCreateKeyActivity.loadFragment(null, frag, FragAction.TO_RIGHT);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -17,6 +17,7 @@
|
||||
|
||||
package org.sufficientlysecure.keychain.ui;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
@ -28,26 +29,29 @@ import android.widget.EditText;
|
||||
|
||||
import org.sufficientlysecure.keychain.R;
|
||||
import org.sufficientlysecure.keychain.ui.CreateKeyActivity.FragAction;
|
||||
import org.sufficientlysecure.keychain.ui.widget.EmailEditText;
|
||||
import org.sufficientlysecure.keychain.ui.widget.NameEditText;
|
||||
import org.sufficientlysecure.keychain.ui.widget.PassphraseEditText;
|
||||
|
||||
public class CreateKeyInputFragment extends Fragment {
|
||||
public class CreateKeyPassphraseFragment extends Fragment {
|
||||
|
||||
public static final String ARG_NAME = "name";
|
||||
public static final String ARG_EMAIL = "email";
|
||||
|
||||
// model
|
||||
String mName;
|
||||
String mEmail;
|
||||
|
||||
// view
|
||||
CreateKeyActivity mCreateKeyActivity;
|
||||
NameEditText mNameEdit;
|
||||
EmailEditText mEmailEdit;
|
||||
PassphraseEditText mPassphraseEdit;
|
||||
EditText mPassphraseEditAgain;
|
||||
View mCreateButton;
|
||||
View mBackButton;
|
||||
View mNextButton;
|
||||
|
||||
/**
|
||||
* Creates new instance of this fragment
|
||||
*/
|
||||
public static CreateKeyInputFragment newInstance(String name, String email) {
|
||||
CreateKeyInputFragment frag = new CreateKeyInputFragment();
|
||||
public static CreateKeyPassphraseFragment newInstance(String name, String email) {
|
||||
CreateKeyPassphraseFragment frag = new CreateKeyPassphraseFragment();
|
||||
|
||||
Bundle args = new Bundle();
|
||||
args.putString(ARG_NAME, name);
|
||||
@ -94,27 +98,24 @@ public class CreateKeyInputFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.create_key_input_fragment, container, false);
|
||||
View view = inflater.inflate(R.layout.create_key_passphrase_fragment, container, false);
|
||||
|
||||
mNameEdit = (NameEditText) view.findViewById(R.id.create_key_name);
|
||||
mPassphraseEdit = (PassphraseEditText) view.findViewById(R.id.create_key_passphrase);
|
||||
mEmailEdit = (EmailEditText) view.findViewById(R.id.create_key_email);
|
||||
mPassphraseEditAgain = (EditText) view.findViewById(R.id.create_key_passphrase_again);
|
||||
mCreateButton = view.findViewById(R.id.create_key_button);
|
||||
mBackButton = view.findViewById(R.id.create_key_back_button);
|
||||
mNextButton = view.findViewById(R.id.create_key_next_button);
|
||||
|
||||
// initial values
|
||||
String name = getArguments().getString(ARG_NAME);
|
||||
String email = getArguments().getString(ARG_EMAIL);
|
||||
mNameEdit.setText(name);
|
||||
mEmailEdit.setText(email);
|
||||
|
||||
// focus non-empty edit fields
|
||||
if (name != null && email != null) {
|
||||
mName = getArguments().getString(ARG_NAME);
|
||||
mEmail = getArguments().getString(ARG_EMAIL);
|
||||
mPassphraseEdit.requestFocus();
|
||||
} else if (name != null) {
|
||||
mEmailEdit.requestFocus();
|
||||
mBackButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
back();
|
||||
}
|
||||
mCreateButton.setOnClickListener(new View.OnClickListener() {
|
||||
});
|
||||
mNextButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
createKeyCheck();
|
||||
@ -125,22 +126,24 @@ public class CreateKeyInputFragment extends Fragment {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
public void onAttach(Activity activity) {
|
||||
super.onAttach(activity);
|
||||
mCreateKeyActivity = (CreateKeyActivity) getActivity();
|
||||
}
|
||||
|
||||
private void back() {
|
||||
hideKeyboard();
|
||||
mCreateKeyActivity.loadFragment(null, null, FragAction.TO_LEFT);
|
||||
}
|
||||
|
||||
private void createKeyCheck() {
|
||||
if (isEditTextNotEmpty(getActivity(), mNameEdit)
|
||||
&& isEditTextNotEmpty(getActivity(), mEmailEdit)
|
||||
&& isEditTextNotEmpty(getActivity(), mPassphraseEdit)
|
||||
if (isEditTextNotEmpty(getActivity(), mPassphraseEdit)
|
||||
&& areEditTextsEqual(getActivity(), mPassphraseEdit, mPassphraseEditAgain)) {
|
||||
|
||||
CreateKeyFinalFragment frag =
|
||||
CreateKeyFinalFragment.newInstance(
|
||||
mNameEdit.getText().toString(),
|
||||
mEmailEdit.getText().toString(),
|
||||
mName,
|
||||
mEmail,
|
||||
mPassphraseEdit.getText().toString()
|
||||
);
|
||||
|
After Width: | Height: | Size: 276 B |
After Width: | Height: | Size: 271 B |
BIN
OpenKeychain/src/main/res/drawable-hdpi/ic_person_grey_48dp.png
Normal file
After Width: | Height: | Size: 576 B |
After Width: | Height: | Size: 240 B |
After Width: | Height: | Size: 225 B |
BIN
OpenKeychain/src/main/res/drawable-mdpi/ic_person_grey_48dp.png
Normal file
After Width: | Height: | Size: 431 B |
After Width: | Height: | Size: 314 B |
After Width: | Height: | Size: 305 B |
BIN
OpenKeychain/src/main/res/drawable-xhdpi/ic_person_grey_48dp.png
Normal file
After Width: | Height: | Size: 751 B |
After Width: | Height: | Size: 382 B |
After Width: | Height: | Size: 388 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 481 B |
After Width: | Height: | Size: 472 B |
After Width: | Height: | Size: 1.5 KiB |
@ -0,0 +1,84 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:layout_above="@+id/create_key_buttons">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="@string/create_key_email_text" />
|
||||
|
||||
<org.sufficientlysecure.keychain.ui.widget.EmailEditText
|
||||
android:id="@+id/create_key_email"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:imeOptions="actionNext"
|
||||
android:hint="@string/label_email"
|
||||
android:ems="10" />
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:background="@color/holo_gray_bright"
|
||||
android:id="@+id/create_key_buttons">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_back_button"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/btn_back"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:drawableLeft="@drawable/ic_chevron_left_grey_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:clickable="true"
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_next_button"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/btn_next"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:drawableRight="@drawable/ic_chevron_right_grey_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="right|center_vertical"
|
||||
android:clickable="true"
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
@ -6,7 +6,7 @@
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_above="@+id/create_key_buttons_divider">
|
||||
android:layout_above="@+id/create_key_buttons">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -144,58 +144,42 @@
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:background="@color/holo_gray_bright"
|
||||
android:id="@+id/create_key_buttons">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_back_button"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/btn_back"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:gravity="center_vertical"
|
||||
android:drawableLeft="@drawable/ic_chevron_left_grey_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:clickable="true"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_gravity="center_vertical" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?android:attr/listDivider" />
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_create_button"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:id="@+id/create_key_next_button"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/btn_create_key"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:drawableRight="@drawable/ic_key_plus_grey600_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="center_vertical"
|
||||
android:gravity="right|center_vertical"
|
||||
android:clickable="true"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_gravity="center_vertical" />
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/create_key_buttons_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dip"
|
||||
android:background="?android:attr/listDivider"
|
||||
android:layout_alignTop="@+id/create_key_buttons"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true" />
|
||||
</RelativeLayout>
|
@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:layout_above="@+id/create_key_buttons">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="@string/create_key_name_text" />
|
||||
|
||||
<org.sufficientlysecure.keychain.ui.widget.NameEditText
|
||||
android:id="@+id/create_key_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:imeOptions="actionNext"
|
||||
android:inputType="textAutoCorrect|textPersonName|textCapWords"
|
||||
android:hint="@string/create_key_hint_full_name"
|
||||
android:ems="10" />
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:background="@color/holo_gray_bright"
|
||||
android:id="@+id/create_key_buttons">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_back_button"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:clickable="false"
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_next_button"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/btn_next"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:drawableRight="@drawable/ic_chevron_right_grey_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="right|center_vertical"
|
||||
android:clickable="true"
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:custom="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
@ -8,7 +7,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true"
|
||||
android:layout_above="@+id/create_key_button_divider">
|
||||
android:layout_above="@+id/create_key_buttons">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
@ -23,40 +22,7 @@
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="@string/create_key_text" />
|
||||
|
||||
<TextView
|
||||
style="@style/SectionHeader"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/label_user_id" />
|
||||
|
||||
<org.sufficientlysecure.keychain.ui.widget.NameEditText
|
||||
android:id="@+id/create_key_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:imeOptions="actionNext"
|
||||
android:inputType="textAutoCorrect|textPersonName|textCapWords"
|
||||
android:hint="@string/create_key_hint_full_name"
|
||||
android:ems="10" />
|
||||
|
||||
<org.sufficientlysecure.keychain.ui.widget.EmailEditText
|
||||
android:id="@+id/create_key_email"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:imeOptions="actionNext"
|
||||
android:hint="@string/label_email"
|
||||
android:ems="10" />
|
||||
|
||||
<TextView
|
||||
style="@style/SectionHeader"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/label_passphrase" />
|
||||
android:text="@string/create_key_passphrase_text" />
|
||||
|
||||
<org.sufficientlysecure.keychain.ui.widget.PassphraseEditText
|
||||
android:id="@+id/create_key_passphrase"
|
||||
@ -83,17 +49,6 @@
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
|
||||
<View
|
||||
android:id="@+id/create_key_button_divider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dip"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:background="?android:attr/listDivider"
|
||||
android:layout_alignTop="@+id/create_key_buttons"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@ -101,45 +56,41 @@
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:background="@color/holo_gray_bright"
|
||||
android:id="@+id/create_key_buttons">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_back_button"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text=""
|
||||
android:text="@string/btn_back"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_gravity="center_vertical" />
|
||||
|
||||
<View
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:background="?android:attr/listDivider" />
|
||||
android:drawableLeft="@drawable/ic_chevron_left_grey_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="left|center_vertical"
|
||||
android:clickable="true"
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/create_key_button"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingRight="8dp"
|
||||
android:id="@+id/create_key_next_button"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/btn_next"
|
||||
android:textAllCaps="true"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:drawableRight="@drawable/ic_play_arrow_grey_24dp"
|
||||
android:drawableRight="@drawable/ic_chevron_right_grey_24dp"
|
||||
android:drawablePadding="8dp"
|
||||
android:gravity="center_vertical"
|
||||
android:gravity="right|center_vertical"
|
||||
android:clickable="true"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_gravity="center_vertical" />
|
||||
style="?android:attr/borderlessButtonStyle" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
@ -464,7 +464,7 @@
|
||||
<string name="create_key_final_robot_text">Vytvoření klíče může chvíli trvat, mezitím si dejte třeba šálek dobré kávy...</string>
|
||||
<string name="create_key_rsa">(3 podklíče, RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(uživatelská konfigurace klíče)</string>
|
||||
<string name="create_key_text">Zadejte své celé jméno, emailovou adresu a zvolte heslo.</string>
|
||||
<string name="create_key_identity_text">Zadejte své celé jméno, emailovou adresu a zvolte heslo.</string>
|
||||
<string name="create_key_hint_full_name">Celé jméno, např. Jan Novák</string>
|
||||
<string name="create_key_edit">Změnit konfiguraci klíče</string>
|
||||
<!--View key-->
|
||||
|
@ -528,7 +528,7 @@
|
||||
<string name="create_key_final_robot_text">Einen Schlüssel zu erzeugen braucht eine Weile, trink in der Zeit einen Kaffee...</string>
|
||||
<string name="create_key_rsa">(3 Unterschlüssel, RSA, 4096 Bit)</string>
|
||||
<string name="create_key_custom">(Benutzerdefinierte Schlüsseleinstellung)</string>
|
||||
<string name="create_key_text">Vollen Namen und Emailadresse angeben und Passwort wählen.</string>
|
||||
<string name="create_key_identity_text">Vollen Namen und Emailadresse angeben und Passwort wählen.</string>
|
||||
<string name="create_key_hint_full_name">Vollständiger Name, z.B. Max Mustermann</string>
|
||||
<string name="create_key_edit">Schlüsselkonfiguration ändern</string>
|
||||
<!--View key-->
|
||||
|
@ -575,7 +575,7 @@
|
||||
<string name="create_key_final_robot_text">Crear una clave puede llevar un tiempo, tómese una taza de café entre tanto...</string>
|
||||
<string name="create_key_rsa">(3 subclaves, RSA, 4096 bits)</string>
|
||||
<string name="create_key_custom">(configuración de clave personalizada)</string>
|
||||
<string name="create_key_text">Introduzca su nombre completo, dirección de correo electrónico, y elija una frase contraseña.</string>
|
||||
<string name="create_key_identity_text">Introduzca su nombre completo, dirección de correo electrónico, y elija una frase contraseña.</string>
|
||||
<string name="create_key_hint_full_name">Nombre completo, ej. Max Mustermann</string>
|
||||
<string name="create_key_edit">Cambiar configuración de clave</string>
|
||||
<!--View key-->
|
||||
|
@ -573,7 +573,7 @@
|
||||
<string name="create_key_final_robot_text">Créer une clef peut prendre du temps, prenez donc un café en attendant...</string>
|
||||
<string name="create_key_rsa">(3 sous-clefs, RSA, 4096 bits)</string>
|
||||
<string name="create_key_custom">(configuration personnalisée de la clef)</string>
|
||||
<string name="create_key_text">Saisissez votre nom complet, votre adresse courriel et choisissez votre phrase de passe.</string>
|
||||
<string name="create_key_identity_text">Saisissez votre nom complet, votre adresse courriel et choisissez votre phrase de passe.</string>
|
||||
<string name="create_key_hint_full_name">Nom complet, p. ex. Marc-Olivier Lagacé</string>
|
||||
<string name="create_key_edit">Changer la configuration de la clef</string>
|
||||
<!--View key-->
|
||||
|
@ -482,7 +482,7 @@ Permetti accesso?\n\nATTENZIONE: Se non sai perche\' questo schermata e\' appars
|
||||
<string name="create_key_final_robot_text">La creazione di una chiave richiede un po\' di tempo, prendi un caffè nel frattempo...</string>
|
||||
<string name="create_key_rsa">(3 sottochiavi, RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(personalizza la configurazione della chiave)</string>
|
||||
<string name="create_key_text">Inserisci Nome Completo, Email e scegli una Frase di Accesso.</string>
|
||||
<string name="create_key_identity_text">Inserisci Nome Completo, Email e scegli una Frase di Accesso.</string>
|
||||
<string name="create_key_hint_full_name">Nome completo, es: Mario Rossi</string>
|
||||
<string name="create_key_edit">Cambia configurazione della chiave</string>
|
||||
<!--View key-->
|
||||
|
@ -532,7 +532,7 @@
|
||||
<string name="create_key_final_robot_text">しばらくの間鍵を生成しています、その間はコーヒーでもどうぞ....</string>
|
||||
<string name="create_key_rsa">(3副鍵、RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(個別の鍵設定)</string>
|
||||
<string name="create_key_text">フルネーム、Eメールアドレスを入力そしてパスフレーズを選択してください。</string>
|
||||
<string name="create_key_identity_text">フルネーム、Eメールアドレスを入力そしてパスフレーズを選択してください。</string>
|
||||
<string name="create_key_hint_full_name">フルネーム、例えば Max Mustermann</string>
|
||||
<string name="create_key_edit">鍵の設定変更</string>
|
||||
<!--View key-->
|
||||
|
@ -575,7 +575,7 @@
|
||||
<string name="create_key_final_robot_text">Een sleutel aanmaken kan even duren, maak intussen een tasje thee klaar…</string>
|
||||
<string name="create_key_rsa">(3 subsleutels, RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(aangepaste sleutelconfiguratie)</string>
|
||||
<string name="create_key_text">Voer je volledige naam en e-mailadres in, en kies een wachtwoord.</string>
|
||||
<string name="create_key_identity_text">Voer je volledige naam en e-mailadres in, en kies een wachtwoord.</string>
|
||||
<string name="create_key_hint_full_name">Volledige naam, bv. Max Mustermann</string>
|
||||
<string name="create_key_edit">Sleutelconfiguratie wijzigen</string>
|
||||
<!--View key-->
|
||||
|
@ -540,7 +540,7 @@ OSTRZEŻENIE: Jeżeli nie wiesz, czemu wyświetlił się ten komunikat, nie zezw
|
||||
<string name="create_key_final_robot_text">Tworzenie klucza może zająć trochę czasu... w międzyczasie idź się napij kawy.</string>
|
||||
<string name="create_key_rsa">(3 pod-klucze, RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(niestandardowa konfiguracja kluczy)</string>
|
||||
<string name="create_key_text">Wpisz swoje imię, adres email oraz wybierz hasło.</string>
|
||||
<string name="create_key_identity_text">Wpisz swoje imię, adres email oraz wybierz hasło.</string>
|
||||
<string name="create_key_hint_full_name">Imię i nazwisko, na przykład, Jan Kowalski</string>
|
||||
<string name="create_key_edit">Zmień klucz konfiguracji</string>
|
||||
<!--View key-->
|
||||
|
@ -490,7 +490,7 @@
|
||||
<string name="create_key_final_robot_text">Создание ключа займет некоторое время, можете пока выпить чашечку кофе...</string>
|
||||
<string name="create_key_rsa">(3 доп. ключа, RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(произвольная конфигурация ключа)</string>
|
||||
<string name="create_key_text">Укажите полное имя, адрес почты и придумайте надежный пароль.</string>
|
||||
<string name="create_key_identity_text">Укажите полное имя, адрес почты и придумайте надежный пароль.</string>
|
||||
<string name="create_key_hint_full_name">Полное имя, напр. Иван Хлестаков</string>
|
||||
<string name="create_key_edit">Изменить конфигурацию ключа</string>
|
||||
<!--View key-->
|
||||
|
@ -558,7 +558,7 @@
|
||||
<string name="create_key_final_robot_text">Прављење кључа може да потраје, попијте кафу у међувремену…</string>
|
||||
<string name="create_key_rsa">(3 поткључа, РСА, 4096 бита)</string>
|
||||
<string name="create_key_custom">(прилагођена конфигурација кључа)</string>
|
||||
<string name="create_key_text">Унесите пуно име, адресу е-поште и укуцајте лозинку.</string>
|
||||
<string name="create_key_identity_text">Унесите пуно име, адресу е-поште и укуцајте лозинку.</string>
|
||||
<string name="create_key_hint_full_name">Пуно име, нпр. Петар Петровић</string>
|
||||
<string name="create_key_edit">Промени конфигурацију кључа</string>
|
||||
<!--View key-->
|
||||
|
@ -521,7 +521,7 @@
|
||||
<string name="create_key_final_robot_text">Att skapa en nyckel kan ta ett tag, drick en kopp kaffe under tiden…</string>
|
||||
<string name="create_key_rsa">(3 undernycklar, RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(anpassad nyckelkonfiguration)</string>
|
||||
<string name="create_key_text">Ange ditt fullständiga namn, e-postadress och välj en lösenordsfras.</string>
|
||||
<string name="create_key_identity_text">Ange ditt fullständiga namn, e-postadress och välj en lösenordsfras.</string>
|
||||
<string name="create_key_hint_full_name">Fullständigt namn, t.ex. Kalle Svensson</string>
|
||||
<string name="create_key_edit">Ändra nyckelkonfiguration</string>
|
||||
<!--View key-->
|
||||
|
@ -449,7 +449,7 @@
|
||||
<string name="create_key_final_robot_text">Anahtar oluşturma biraz zaman alabilir, bu sırada bir çay için...</string>
|
||||
<string name="create_key_rsa">(3 alt anahtar, RSA, 4096 bit)</string>
|
||||
<string name="create_key_custom">(özel anahtar yapılandırması)</string>
|
||||
<string name="create_key_text">Tam isminizi, e-posta adresinizi girin ve bir parola seçin.</string>
|
||||
<string name="create_key_identity_text">Tam isminizi, e-posta adresinizi girin ve bir parola seçin.</string>
|
||||
<string name="create_key_hint_full_name">Tam Ad, örneğin: Max Mustermann</string>
|
||||
<string name="create_key_edit">Anahtar yapılandırmasını değiştir.</string>
|
||||
<!--View key-->
|
||||
|
@ -449,7 +449,7 @@
|
||||
<string name="create_key_empty">Це поле - обов\'язкове</string>
|
||||
<string name="create_key_passphrases_not_equal">Паролі фрази не збігаються</string>
|
||||
<string name="create_key_final_text">Ви ввели наступну сутність:</string>
|
||||
<string name="create_key_text">Введіть ваше повне ім\'я, електронну адреса та оберіть парольну фразу.</string>
|
||||
<string name="create_key_identity_text">Введіть ваше повне ім\'я, електронну адреса та оберіть парольну фразу.</string>
|
||||
<string name="create_key_hint_full_name">Повне ім\'я, наприклад Степан Бандера</string>
|
||||
<!--View key-->
|
||||
<!--Navigation Drawer-->
|
||||
|
@ -377,7 +377,7 @@
|
||||
<string name="create_key_empty">必填欄位</string>
|
||||
<string name="create_key_passphrases_not_equal">口令不相符</string>
|
||||
<string name="create_key_final_robot_text">建立金鑰可能需要一點時間,來杯咖啡吧…</string>
|
||||
<string name="create_key_text">輸入你的全名、電子郵件,並選擇一組口令。</string>
|
||||
<string name="create_key_identity_text">輸入你的全名、電子郵件,並選擇一組口令。</string>
|
||||
<!--View key-->
|
||||
<!--Navigation Drawer-->
|
||||
<string name="nav_keys">金鑰</string>
|
||||
|
@ -627,8 +627,10 @@
|
||||
<string name="create_key_final_robot_text">"Creating a key may take a while, have a cup of coffee in the meantime…"</string>
|
||||
<string name="create_key_rsa">"(3 subkeys, RSA, 4096 bit)"</string>
|
||||
<string name="create_key_custom">"(custom key configuration)"</string>
|
||||
<string name="create_key_text">"Enter your full name, email address, and choose a passhrase."</string>
|
||||
<string name="create_key_hint_full_name">"Full Name, e.g. Max Mustermann"</string>
|
||||
<string name="create_key_name_text">"Choose a name associated with this key. This can be a full name, e.g., 'John Doe', or a nickname, e.g., 'Johnny'."</string>
|
||||
<string name="create_key_email_text">"Choose the email address used for encrypted communication."</string>
|
||||
<string name="create_key_passphrase_text">"Choose a strong passphrase. It protects your key when your device gets stolen."</string>
|
||||
<string name="create_key_hint_full_name">"Full Name or Nickname"</string>
|
||||
<string name="create_key_edit">"Change key configuration"</string>
|
||||
|
||||
<!-- View key -->
|
||||
|