aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java24
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/PasswordStore.java10
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/SelectFolderFragment.java109
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/ToCloneOrNot.java5
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/UserPreference.java3
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java14
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java6
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/autofill/AutofillRecyclerAdapter.java3
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/autofill/DividerItemDecoration.java105
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java99
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java2
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java17
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java1
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/git/config/SshConfigSessionFactory.java2
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/pwgenDialogFragment.java6
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/utils/EntryRecyclerAdapter.java25
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/utils/PasswordItem.java14
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java25
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_accounts.pngbin577 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_discard.pngbin450 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_accounts.pngbin456 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_discard.pngbin324 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_accounts.pngbin688 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_discard.pngbin543 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_accounts.pngbin973 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_discard.pngbin765 -> 0 bytes
-rw-r--r--app/src/main/res/drawable/actionbar_background.xml4
-rw-r--r--app/src/main/res/drawable/blue_rectangle.xml24
-rw-r--r--app/src/main/res/layout/activity_git_clone.xml18
-rw-r--r--app/src/main/res/layout/activity_git_config.xml4
-rw-r--r--app/src/main/res/layout/activity_pgp_handler.xml52
-rw-r--r--app/src/main/res/layout/activity_pwdstore.xml2
-rw-r--r--app/src/main/res/layout/app_list_item.xml23
-rw-r--r--app/src/main/res/layout/child_row_layout.xml30
-rw-r--r--app/src/main/res/layout/decrypt_layout.xml23
-rw-r--r--app/src/main/res/layout/encrypt_layout.xml26
-rw-r--r--app/src/main/res/layout/fragment_autofill.xml27
-rw-r--r--app/src/main/res/layout/fragment_pwgen.xml7
-rw-r--r--app/src/main/res/layout/key_id.xml44
-rw-r--r--app/src/main/res/layout/openpgp_provider.xml158
-rw-r--r--app/src/main/res/layout/password_row_layout.xml12
-rw-r--r--app/src/main/res/menu/agp_intents.xml9
-rw-r--r--app/src/main/res/menu/context_pass.xml23
-rw-r--r--app/src/main/res/menu/pgp_handler_new_password.xml4
-rw-r--r--app/src/main/res/menu/pgp_handler_select_folder.xml2
-rw-r--r--app/src/main/res/values-cs/strings.xml29
-rw-r--r--app/src/main/res/values-de/strings.xml42
-rw-r--r--app/src/main/res/values-fr/strings.xml29
-rw-r--r--app/src/main/res/values-ja/strings.xml29
-rw-r--r--app/src/main/res/values-large/refs.xml12
-rw-r--r--app/src/main/res/values-ru/strings.xml29
-rw-r--r--app/src/main/res/values-sw600dp/refs.xml12
-rw-r--r--app/src/main/res/values-zh-rCH/strings.xml29
-rw-r--r--app/src/main/res/values-zh-rTW/strings.xml29
-rw-r--r--app/src/main/res/values/colors.xml278
-rw-r--r--app/src/main/res/values/refs.xml11
-rw-r--r--app/src/main/res/values/strings.xml43
-rw-r--r--app/src/main/res/xml/preference.xml12
58 files changed, 235 insertions, 1311 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
index 49d57e30..646e44c7 100644
--- a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
+++ b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
@@ -1,11 +1,11 @@
package com.zeapo.pwdstore;
-import android.support.v4.app.Fragment;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.design.widget.FloatingActionButton;
+import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
@@ -32,7 +32,7 @@ import java.util.Stack;
public class PasswordFragment extends Fragment{
public interface OnFragmentInteractionListener {
- public void onFragmentInteraction(PasswordItem item);
+ void onFragmentInteraction(PasswordItem item);
}
// store the pass files list in a stack
@@ -41,7 +41,6 @@ public class PasswordFragment extends Fragment{
private Stack<Integer> scrollPosition;
private PasswordRecyclerAdapter recyclerAdapter;
private RecyclerView recyclerView;
- private RecyclerView.LayoutManager mLayoutManager;
private OnFragmentInteractionListener mListener;
private SharedPreferences settings;
@@ -57,9 +56,9 @@ public class PasswordFragment extends Fragment{
String path = getArguments().getString("Path");
settings = PreferenceManager.getDefaultSharedPreferences(getActivity());
- passListStack = new Stack<ArrayList<PasswordItem>>();
- scrollPosition = new Stack<Integer>();
- pathStack = new Stack<File>();
+ passListStack = new Stack<>();
+ scrollPosition = new Stack<>();
+ pathStack = new Stack<>();
recyclerAdapter = new PasswordRecyclerAdapter((PasswordStore) getActivity(), mListener,
PasswordRepository.getPasswords(new File(path), PasswordRepository.getRepositoryDirectory(getActivity())));
}
@@ -70,7 +69,7 @@ public class PasswordFragment extends Fragment{
View view = inflater.inflate(R.layout.password_recycler_view, container, false);
// use a linear layout manager
- mLayoutManager = new LinearLayoutManager(getActivity());
+ RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getActivity());
recyclerView = (RecyclerView) view.findViewById(R.id.pass_recycler);
recyclerView.setLayoutManager(mLayoutManager);
@@ -121,10 +120,6 @@ public class PasswordFragment extends Fragment{
}
}
}
-
- public void savePosition(Integer position) {
-
- }
};
} catch (ClassCastException e) {
throw new ClassCastException(context.toString()
@@ -132,13 +127,6 @@ public class PasswordFragment extends Fragment{
}
}
- @Override
- public void onPause() {
- super.onPause();
-// mListener.savePosition(mListView.getFirstVisiblePosition());
-// mListView.closeOpenedItems();
- }
-
/**
* clears the adapter content and sets it back to the root view
*/
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java
index 5b2a7624..f4ea9ec6 100644
--- a/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java
+++ b/app/src/main/java/com/zeapo/pwdstore/PasswordStore.java
@@ -13,6 +13,7 @@ import android.graphics.drawable.Icon;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
+import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.FragmentManager;
@@ -52,11 +53,9 @@ import java.util.Set;
public class PasswordStore extends AppCompatActivity {
private static final String TAG = "PwdStrAct";
- private File currentDir;
private SharedPreferences settings;
private Activity activity;
private PasswordFragment plist;
- private AlertDialog selectDestinationDialog;
private ShortcutManager shortcutManager;
private final static int CLONE_REPO_BUTTON = 401;
@@ -125,8 +124,7 @@ public class PasswordStore extends AppCompatActivity {
}
@Override
- public void onRequestPermissionsResult(int requestCode,
- String permissions[], int[] grantResults) {
+ public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
switch (requestCode) {
case REQUEST_EXTERNAL_STORAGE: {
// If request is cancelled, the result arrays are empty.
@@ -458,8 +456,8 @@ public class PasswordStore extends AppCompatActivity {
return;
}
- this.currentDir = getCurrentDir();
- Log.i("PWDSTR", "Adding file to : " + this.currentDir.getAbsolutePath());
+ File currentDir = getCurrentDir();
+ Log.i("PWDSTR", "Adding file to : " + currentDir.getAbsolutePath());
Intent intent = new Intent(this, PgpHandler.class);
intent.putExtra("FILE_PATH", getCurrentDir().getAbsolutePath());
diff --git a/app/src/main/java/com/zeapo/pwdstore/SelectFolderFragment.java b/app/src/main/java/com/zeapo/pwdstore/SelectFolderFragment.java
index bf378153..e9c9bbab 100644
--- a/app/src/main/java/com/zeapo/pwdstore/SelectFolderFragment.java
+++ b/app/src/main/java/com/zeapo/pwdstore/SelectFolderFragment.java
@@ -1,15 +1,12 @@
package com.zeapo.pwdstore;
import android.content.Context;
-import android.content.SharedPreferences;
import android.os.Bundle;
-import android.preference.PreferenceManager;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.Fragment;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -33,7 +30,7 @@ import java.util.Stack;
public class SelectFolderFragment extends Fragment{
public interface OnFragmentInteractionListener {
- public void onFragmentInteraction(PasswordItem item);
+ void onFragmentInteraction(PasswordItem item);
}
// store the pass files list in a stack
@@ -42,9 +39,7 @@ public class SelectFolderFragment extends Fragment{
private Stack<Integer> scrollPosition;
private FolderRecyclerAdapter recyclerAdapter;
private RecyclerView recyclerView;
- private RecyclerView.LayoutManager mLayoutManager;
private OnFragmentInteractionListener mListener;
- private SharedPreferences settings;
/**
* Mandatory empty constructor for the fragment manager to instantiate the
@@ -57,10 +52,9 @@ public class SelectFolderFragment extends Fragment{
super.onCreate(savedInstanceState);
String path = getArguments().getString("Path");
- settings = PreferenceManager.getDefaultSharedPreferences(getActivity());
- passListStack = new Stack<ArrayList<PasswordItem>>();
- scrollPosition = new Stack<Integer>();
- pathStack = new Stack<File>();
+ passListStack = new Stack<>();
+ scrollPosition = new Stack<>();
+ pathStack = new Stack<>();
recyclerAdapter = new FolderRecyclerAdapter((PgpHandler) getActivity(), mListener,
PasswordRepository.getPasswords(new File(path), PasswordRepository.getRepositoryDirectory(getActivity())));
}
@@ -71,10 +65,8 @@ public class SelectFolderFragment extends Fragment{
View view = inflater.inflate(R.layout.password_recycler_view, container, false);
// use a linear layout manager
- mLayoutManager = new LinearLayoutManager(getActivity());
-
recyclerView = (RecyclerView) view.findViewById(R.id.pass_recycler);
- recyclerView.setLayoutManager(mLayoutManager);
+ recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
// use divider
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), R.drawable.divider));
@@ -116,10 +108,6 @@ public class SelectFolderFragment extends Fragment{
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
-
- public void savePosition(Integer position) {
-
- }
};
} catch (ClassCastException e) {
throw new ClassCastException(context.toString()
@@ -127,89 +115,6 @@ public class SelectFolderFragment extends Fragment{
}
}
- @Override
- public void onPause() {
- super.onPause();
-// mListener.savePosition(mListView.getFirstVisiblePosition());
-// mListView.closeOpenedItems();
- }
-
- /**
- * clears the adapter content and sets it back to the root view
- */
- public void updateAdapter() {
- passListStack.clear();
- pathStack.clear();
- scrollPosition.clear();
- recyclerAdapter.clear();
- recyclerAdapter.addAll(PasswordRepository.getPasswords(PasswordRepository.getRepositoryDirectory(getActivity())));
-
- ((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
- }
-
- /**
- * refreshes the adapter with the latest opened category
- */
- public void refreshAdapter() {
- recyclerAdapter.clear();
- recyclerAdapter.addAll(pathStack.isEmpty() ?
- PasswordRepository.getPasswords(PasswordRepository.getRepositoryDirectory(getActivity())) :
- PasswordRepository.getPasswords(pathStack.peek(), PasswordRepository.getRepositoryDirectory(getActivity())));
- }
-
- /**
- * filters the list adapter
- * @param filter the filter to apply
- */
- public void filterAdapter(String filter) {
- Log.d("FRAG", "filter: " + filter);
-
- if (filter.isEmpty()) {
- refreshAdapter();
- } else {
- recursiveFilter(filter, pathStack.isEmpty() ? null : pathStack.peek());
- }
- }
-
- /**
- * recursively filters a directory and extract all the matching items
- * @param filter the filter to apply
- * @param dir the directory to filter
- */
- private void recursiveFilter(String filter, File dir) {
- // on the root the pathStack is empty
- ArrayList<PasswordItem> passwordItems = dir == null ?
- PasswordRepository.getPasswords(PasswordRepository.getRepositoryDirectory(getActivity())) :
- PasswordRepository.getPasswords(dir, PasswordRepository.getRepositoryDirectory(getActivity()));
-
- boolean rec = settings.getBoolean("filter_recursively", true);
- for (PasswordItem item : passwordItems) {
- if (item.getType() == PasswordItem.TYPE_CATEGORY && rec) {
- recursiveFilter(filter, item.getFile());
- }
- boolean matches = item.toString().toLowerCase().contains(filter.toLowerCase());
- boolean inAdapter = recyclerAdapter.getValues().contains(item);
- if (matches && !inAdapter) {
- recyclerAdapter.add(item);
- } else if (!matches && inAdapter) {
- recyclerAdapter.remove(recyclerAdapter.getValues().indexOf(item));
- }
- }
- }
-
- /**
- * Goes back one level back in the path
- */
- public void popBack() {
- if (passListStack.isEmpty())
- return;
-
- recyclerView.scrollToPosition(scrollPosition.pop());
- recyclerAdapter.clear();
- recyclerAdapter.addAll(passListStack.pop());
- pathStack.pop();
- }
-
/**
* gets the current directory
* @return the current directory
@@ -220,8 +125,4 @@ public class SelectFolderFragment extends Fragment{
else
return pathStack.peek();
}
-
- public boolean isNotEmpty() {
- return !passListStack.isEmpty();
- }
}
diff --git a/app/src/main/java/com/zeapo/pwdstore/ToCloneOrNot.java b/app/src/main/java/com/zeapo/pwdstore/ToCloneOrNot.java
index ab245746..fb3f4008 100644
--- a/app/src/main/java/com/zeapo/pwdstore/ToCloneOrNot.java
+++ b/app/src/main/java/com/zeapo/pwdstore/ToCloneOrNot.java
@@ -14,11 +14,6 @@ public class ToCloneOrNot extends Fragment {
}
@Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
index 54e04b70..ad2a1ffe 100644
--- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
+++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
@@ -18,6 +18,7 @@ import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.provider.Settings;
+import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
@@ -547,7 +548,7 @@ public class UserPreference extends AppCompatActivity {
}
@Override
- public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
+ public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
switch (requestCode) {
case REQUEST_EXTERNAL_STORAGE: {
diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java
index 583b5064..4edfc3e3 100644
--- a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java
+++ b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillFragment.java
@@ -1,16 +1,17 @@
package com.zeapo.pwdstore.autofill;
import android.app.Activity;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.content.ContextCompat;
+import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -71,8 +72,9 @@ public class AutofillFragment extends DialogFragment {
adapter = new ArrayAdapter<String>(getActivity().getApplicationContext()
, android.R.layout.simple_list_item_1, android.R.id.text1) {
// set text color to black because default is white...
+ @NonNull
@Override
- public View getView(int position, View convertView, ViewGroup parent) {
+ public View getView(int position, View convertView, @NonNull ViewGroup parent) {
TextView textView = (TextView) super.getView(position, convertView, parent);
textView.setTextColor(ContextCompat.getColor(getContext(), R.color.grey_black_1000));
return textView;
diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
index b3991238..7696d82e 100644
--- a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
+++ b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillPreferenceActivity.java
@@ -13,6 +13,7 @@ import android.support.v4.app.NavUtils;
import android.support.v4.app.TaskStackBuilder;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AppCompatActivity;
+import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.SearchView;
@@ -30,7 +31,6 @@ public class AutofillPreferenceActivity extends AppCompatActivity {
private RecyclerView recyclerView;
AutofillRecyclerAdapter recyclerAdapter; // let fragment have access
- private RecyclerView.LayoutManager layoutManager;
private PackageManager pm;
@@ -43,9 +43,9 @@ public class AutofillPreferenceActivity extends AppCompatActivity {
setContentView(R.layout.autofill_recycler_view);
recyclerView = (RecyclerView) findViewById(R.id.autofill_recycler);
- layoutManager = new LinearLayoutManager(this);
+ RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
- recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL_LIST));
+ recyclerView.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL));
pm = getPackageManager();
diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillRecyclerAdapter.java b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillRecyclerAdapter.java
index 901ff903..80942c58 100644
--- a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillRecyclerAdapter.java
+++ b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillRecyclerAdapter.java
@@ -22,7 +22,6 @@ public class AutofillRecyclerAdapter extends RecyclerView.Adapter<AutofillRecycl
private SortedList<AppInfo> apps;
private ArrayList<AppInfo> allApps; // for filtering, maintain a list of all
- private PackageManager pm;
private AutofillPreferenceActivity activity;
Drawable browserIcon = null;
@@ -93,7 +92,7 @@ public class AutofillRecyclerAdapter extends RecyclerView.Adapter<AutofillRecycl
this.apps = new SortedList<>(AppInfo.class, callback);
this.apps.addAll(allApps);
this.allApps = new ArrayList<>(allApps);
- this.pm = pm;
+ PackageManager pm1 = pm;
this.activity = activity;
try {
browserIcon = activity.getPackageManager().getApplicationIcon("com.android.browser");
diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/DividerItemDecoration.java b/app/src/main/java/com/zeapo/pwdstore/autofill/DividerItemDecoration.java
deleted file mode 100644
index bd5ec9de..00000000
--- a/app/src/main/java/com/zeapo/pwdstore/autofill/DividerItemDecoration.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package com.zeapo.pwdstore.autofill;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Canvas;
-import android.graphics.Rect;
-import android.graphics.drawable.Drawable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.view.View;
-
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-public class DividerItemDecoration extends RecyclerView.ItemDecoration {
-
- private static final int[] ATTRS = new int[]{
- android.R.attr.listDivider
- };
-
- public static final int HORIZONTAL_LIST = LinearLayoutManager.HORIZONTAL;
-
- public static final int VERTICAL_LIST = LinearLayoutManager.VERTICAL;
-
- private Drawable mDivider;
-
- private int mOrientation;
-
- public DividerItemDecoration(Context context, int orientation) {
- final TypedArray a = context.obtainStyledAttributes(ATTRS);
- mDivider = a.getDrawable(0);
- a.recycle();
- setOrientation(orientation);
- }
-
- public void setOrientation(int orientation) {
- if (orientation != HORIZONTAL_LIST && orientation != VERTICAL_LIST) {
- throw new IllegalArgumentException("invalid orientation");
- }
- mOrientation = orientation;
- }
-
- @Override
- public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
- if (mOrientation == VERTICAL_LIST) {
- drawVertical(c, parent);
- } else {
- drawHorizontal(c, parent);
- }
- }
-
- public void drawVertical(Canvas c, RecyclerView parent) {
- final int left = parent.getPaddingLeft();
- final int right = parent.getWidth() - parent.getPaddingRight();
-
- final int childCount = parent.getChildCount();
- for (int i = 0; i < childCount; i++) {
- final View child = parent.getChildAt(i);
- final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child
- .getLayoutParams();
- final int top = child.getBottom() + params.bottomMargin;
- final int bottom = top + mDivider.getIntrinsicHeight();
- mDivider.setBounds(left, top, right, bottom);
- mDivider.draw(c);
- }
- }
-
- public void drawHorizontal(Canvas c, RecyclerView parent) {
- final int top = parent.getPaddingTop();
- final int bottom = parent.getHeight() - parent.getPaddingBottom();
-
- final int childCount = parent.getChildCount();
- for (int i = 0; i < childCount; i++) {
- final View child = parent.getChildAt(i);
- final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child
- .getLayoutParams();
- final int left = child.getRight() + params.rightMargin;
- final int right = left + mDivider.getIntrinsicHeight();
- mDivider.setBounds(left, top, right, bottom);
- mDivider.draw(c);
- }
- }
-
- @Override
- public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
- if (mOrientation == VERTICAL_LIST) {
- outRect.set(0, 0, 0, mDivider.getIntrinsicHeight());
- } else {
- outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0);
- }
- }
-}
-
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 e938fdd4..12f2bcad 100644
--- a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
+++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
@@ -132,7 +132,7 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
try {
this.mServiceConnection.unbindFromService();
} catch (Exception e) {
-
+ // ignore any errors, we'll stop anyway.
}
}
@@ -273,22 +273,12 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
public void handleClick(View view) {
switch (view.getId()) {
- case R.id.crypto_show_button:
- decryptAndVerify(new Intent());
- break;
- case R.id.crypto_delete_button:
-// deletePassword();
- break;
- case R.id.crypto_get_key_ids:
- getKeyIds(new Intent());
- break;
case R.id.generate_password:
DialogFragment df = new pwgenDialogFragment();
df.show(getFragmentManager(), "generator");
default:
Log.wtf(Constants.TAG,"This should not happen.... PgpHandler.java#handleClick(View) default reached.");
// should not happen
-
}
}
@@ -571,7 +561,7 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
// get key ids
if (result.hasExtra(OpenPgpApi.RESULT_KEY_IDS)) {
long[] ids = result.getLongArrayExtra(OpenPgpApi.RESULT_KEY_IDS);
- Set<String> keys = new HashSet<String>();
+ Set<String> keys = new HashSet<>();
for (long id : ids) keys.add(String.valueOf(id)); // use Long
settings.edit().putStringSet("openpgp_key_ids_set", keys).apply();
@@ -734,44 +724,53 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
if (operation == null){
return;
}
- if (operation.equals("DECRYPT")) {
- setContentView(R.layout.decrypt_layout);
- ((TextView) findViewById(R.id.crypto_password_file)).setText(extra.getString("NAME"));
- String path = extra
- .getString("FILE_PATH")
- .replace(PasswordRepository.getRepositoryDirectory(getApplicationContext()).getAbsolutePath(), "");
- String cat = new File(path).getParentFile().getName();
-
- ((TextView) findViewById(R.id.crypto_password_category)).setText(cat + "/");
- decryptAndVerify(new Intent());
- } else if (operation.equals("ENCRYPT")) {
- setContentView(R.layout.encrypt_layout);
- Typeface monoTypeface = Typeface.createFromAsset(getAssets(), "fonts/sourcecodepro.ttf");
- ((EditText) findViewById(R.id.crypto_password_edit)).setTypeface(monoTypeface);
- ((EditText) findViewById(R.id.crypto_extra_edit)).setTypeface(monoTypeface);
- String cat = extra.getString("FILE_PATH");
- cat = cat.replace(PasswordRepository.getRepositoryDirectory(getApplicationContext()).getAbsolutePath(), "");
- cat = cat + "/";
- ((TextView) findViewById(R.id.crypto_password_category)).setText(cat);
- } else if (operation.equals("GET_KEY_ID")) {
- getKeyIds(new Intent());
-
-// setContentView(R.layout.key_id);
-// if (!keyIDs.isEmpty()) {
-// String keys = keyIDs.split(",").length > 1 ? keyIDs : keyIDs.split(",")[0];
-// ((TextView) findViewById(R.id.crypto_key_ids)).setText(keys);
-// }
- } else if (operation.equals("EDIT")) {
- setContentView(R.layout.decrypt_layout);
- ((TextView) findViewById(R.id.crypto_password_file)).setText(extra.getString("NAME"));
- String cat = new File(extra.getString("FILE_PATH").replace(PasswordRepository.getRepositoryDirectory(getApplicationContext()).getAbsolutePath(), ""))
- .getParentFile().getName();
-
- ((TextView) findViewById(R.id.crypto_password_category)).setText(cat + "/");
- edit(new Intent());
- } else if (operation.equals("SELECTFOLDER")){
- setContentView(R.layout.select_folder_layout);
- selectFolder(getIntent());
+ switch (operation) {
+ case "DECRYPT": {
+ setContentView(R.layout.decrypt_layout);
+ ((TextView) findViewById(R.id.crypto_password_file)).setText(extra.getString("NAME"));
+ String path = extra
+ .getString("FILE_PATH")
+ .replace(PasswordRepository.getRepositoryDirectory(getApplicationContext()).getAbsolutePath(), "");
+ String cat = new File(path).getParentFile().getName();
+
+ ((TextView) findViewById(R.id.crypto_password_category)).setText(cat + "/");
+ decryptAndVerify(new Intent());
+ break;
+ }
+ case "ENCRYPT": {
+ setContentView(R.layout.encrypt_layout);
+ Typeface monoTypeface = Typeface.createFromAsset(getAssets(), "fonts/sourcecodepro.ttf");
+ ((EditText) findViewById(R.id.crypto_password_edit)).setTypeface(monoTypeface);
+ ((EditText) findViewById(R.id.crypto_extra_edit)).setTypeface(monoTypeface);
+ String cat = extra.getString("FILE_PATH");
+ cat = cat.replace(PasswordRepository.getRepositoryDirectory(getApplicationContext()).getAbsolutePath(), "");
+ cat = cat + "/";
+ ((TextView) findViewById(R.id.crypto_password_category)).setText(cat);
+ break;
+ }
+ case "GET_KEY_ID":
+ getKeyIds(new Intent());
+
+// setContentView(R.layout.key_id);
+// if (!keyIDs.isEmpty()) {
+// String keys = keyIDs.split(",").length > 1 ? keyIDs : keyIDs.split(",")[0];
+// ((TextView) findViewById(R.id.crypto_key_ids)).setText(keys);
+// }
+ break;
+ case "EDIT": {
+ setContentView(R.layout.decrypt_layout);
+ ((TextView) findViewById(R.id.crypto_password_file)).setText(extra.getString("NAME"));
+ String cat = new File(extra.getString("FILE_PATH").replace(PasswordRepository.getRepositoryDirectory(getApplicationContext()).getAbsolutePath(), ""))
+ .getParentFile().getName();
+
+ ((TextView) findViewById(R.id.crypto_password_category)).setText(cat + "/");
+ edit(new Intent());
+ break;
+ }
+ case "SELECTFOLDER":
+ setContentView(R.layout.select_folder_layout);
+ selectFolder(getIntent());
+ break;
}
}
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java b/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java
index 25dba1fc..61e08dc2 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java
+++ b/app/src/main/java/com/zeapo/pwdstore/git/CloneOperation.java
@@ -12,8 +12,6 @@ import org.eclipse.jgit.api.Git;
import java.io.File;
public class CloneOperation extends GitOperation {
- private static final String TAG = "CLONEOPT";
-
/**
* Creates a new clone operation
*
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java b/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java
index 66e308b9..6314a4b3 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java
+++ b/app/src/main/java/com/zeapo/pwdstore/git/GitActivity.java
@@ -32,8 +32,6 @@ import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-// TODO move the messages to strings.xml
-
public class GitActivity extends AppCompatActivity {
private static final String TAG = "GitAct";
private static final String emailPattern = "^[^@]+@[^@]+$";
@@ -46,7 +44,6 @@ public class GitActivity extends AppCompatActivity {
private File localDir;
private String hostname;
- private String port;
private SharedPreferences settings;
@@ -158,13 +155,6 @@ public class GitActivity extends AppCompatActivity {
final EditText server_user = ((EditText) findViewById(R.id.server_user));
final EditText server_uri = ((EditText) findViewById(R.id.clone_uri));
- View.OnFocusChangeListener updateListener = new View.OnFocusChangeListener() {
- @Override
- public void onFocusChange(View view, boolean b) {
- updateURI();
- }
- };
-
server_url.setText(settings.getString("git_remote_server", ""));
server_port.setText(settings.getString("git_remote_port", ""));
server_user.setText(settings.getString("git_remote_username", ""));
@@ -307,7 +297,7 @@ public class GitActivity extends AppCompatActivity {
if (server_port.getText().toString().equals("22")) {
hostname += server_path.getText().toString();
- ((TextView) findViewById(R.id.warn_url)).setVisibility(View.GONE);
+ findViewById(R.id.warn_url).setVisibility(View.GONE);
} else {
TextView warn_url = (TextView) findViewById(R.id.warn_url);
if (!server_path.getText().toString().matches("/.*") && !server_port.getText().toString().isEmpty()) {
@@ -329,7 +319,7 @@ public class GitActivity extends AppCompatActivity {
if (server_port.getText().toString().equals("443")) {
hostname.append(server_path.getText().toString());
- ((TextView) findViewById(R.id.warn_url)).setVisibility(View.GONE);
+ findViewById(R.id.warn_url).setVisibility(View.GONE);
} else {
hostname.append("/");
hostname.append(server_port.getText().toString())
@@ -417,6 +407,7 @@ public class GitActivity extends AppCompatActivity {
/**
* Saves the configuration found in the form
*/
+ @SuppressWarnings("BooleanMethodIsAlwaysInverted")
private boolean saveConfiguration() {
// remember the settings
SharedPreferences.Editor editor = settings.edit();
@@ -432,7 +423,7 @@ public class GitActivity extends AppCompatActivity {
// 'save' hostname variable for use by addRemote() either here or later
// in syncRepository()
hostname = ((EditText) findViewById(R.id.clone_uri)).getText().toString();
- port = ((EditText) findViewById(R.id.server_port)).getText().toString();
+ String port = ((EditText) findViewById(R.id.server_port)).getText().toString();
// don't ask the user, take off the protocol that he puts in
hostname = hostname.replaceFirst("^.+://", "");
((TextView) findViewById(R.id.clone_uri)).setText(hostname);
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java b/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java
index f6b05f4c..4002d24e 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java
+++ b/app/src/main/java/com/zeapo/pwdstore/git/GitOperation.java
@@ -27,7 +27,6 @@ import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider;
import java.io.File;
public abstract class GitOperation {
- private static final String TAG = "GitOpt";
public static final int GET_SSH_KEY_FROM_CLONE = 201;
protected final Repository repository;
diff --git a/app/src/main/java/com/zeapo/pwdstore/git/config/SshConfigSessionFactory.java b/app/src/main/java/com/zeapo/pwdstore/git/config/SshConfigSessionFactory.java
index e156ca4d..b958546e 100644
--- a/app/src/main/java/com/zeapo/pwdstore/git/config/SshConfigSessionFactory.java
+++ b/app/src/main/java/com/zeapo/pwdstore/git/config/SshConfigSessionFactory.java
@@ -1,7 +1,5 @@
package com.zeapo.pwdstore.git.config;
-import android.content.SharedPreferences;
-
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
diff --git a/app/src/main/java/com/zeapo/pwdstore/pwgenDialogFragment.java b/app/src/main/java/com/zeapo/pwdstore/pwgenDialogFragment.java
index 7d798a81..7b55dccf 100644
--- a/app/src/main/java/com/zeapo/pwdstore/pwgenDialogFragment.java
+++ b/app/src/main/java/com/zeapo/pwdstore/pwgenDialogFragment.java
@@ -103,7 +103,7 @@ public class pwgenDialogFragment extends DialogFragment {
return ad;
}
- private boolean setPreferences () {
+ private void setPreferences () {
ArrayList<String> preferences = new ArrayList<>();
if (!((CheckBox) getDialog().findViewById(R.id.numerals)).isChecked()) {
preferences.add("0");
@@ -123,9 +123,9 @@ public class pwgenDialogFragment extends DialogFragment {
EditText editText = (EditText) getDialog().findViewById(R.id.lengthNumber);
try {
int length = Integer.valueOf(editText.getText().toString());
- return pwgen.setPrefs(getActivity().getApplicationContext(), preferences, length);
+ pwgen.setPrefs(getActivity().getApplicationContext(), preferences, length);
} catch(NumberFormatException e) {
- return pwgen.setPrefs(getActivity().getApplicationContext(), preferences);
+ pwgen.setPrefs(getActivity().getApplicationContext(), preferences);
}
}
}
diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/EntryRecyclerAdapter.java b/app/src/main/java/com/zeapo/pwdstore/utils/EntryRecyclerAdapter.java
index 5247c6a3..a36b1124 100644
--- a/app/src/main/java/com/zeapo/pwdstore/utils/EntryRecyclerAdapter.java
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/EntryRecyclerAdapter.java
@@ -19,10 +19,10 @@ import java.util.TreeSet;
public abstract class EntryRecyclerAdapter extends RecyclerView.Adapter<EntryRecyclerAdapter.ViewHolder> {
private final Activity activity;
- protected final ArrayList<PasswordItem> values;
- protected final Set<Integer> selectedItems = new TreeSet<>();
+ private final ArrayList<PasswordItem> values;
+ final Set<Integer> selectedItems = new TreeSet<>();
- public EntryRecyclerAdapter(Activity activity, ArrayList<PasswordItem> values) {
+ EntryRecyclerAdapter(Activity activity, ArrayList<PasswordItem> values) {
this.activity = activity;
this.values = values;
}
@@ -52,7 +52,7 @@ public abstract class EntryRecyclerAdapter extends RecyclerView.Adapter<EntryRec
this.notifyItemInserted(getItemCount());
}
- public void toggleSelection(int position) {
+ void toggleSelection(int position) {
if (!selectedItems.remove(position)) {
selectedItems.add(position);
}
@@ -106,11 +106,6 @@ public abstract class EntryRecyclerAdapter extends RecyclerView.Adapter<EntryRec
}
holder.type.setText(pass.getFullPathToParent());
- if (pass.getType() == PasswordItem.TYPE_CATEGORY) {
-// holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_200));
- } else {
-// holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_50));
- }
holder.view.setOnClickListener(getOnClickListener(holder, pass));
@@ -134,14 +129,14 @@ public abstract class EntryRecyclerAdapter extends RecyclerView.Adapter<EntryRec
// Provide a reference to the views for each data item
// Complex data items may need more than one view per item, and
// you provide access to all the views for a data item in a view holder
- public static class ViewHolder extends RecyclerView.ViewHolder {
+ static class ViewHolder extends RecyclerView.ViewHolder {
// each data item is just a string in this case
- public View view;
- public TextView name;
- public TextView type;
- public ImageView typeImage;
+ public final View view;
+ public final TextView name;
+ final TextView type;
+ final ImageView typeImage;
- public ViewHolder(View v) {
+ ViewHolder(View v) {
super(v);
view = v;
name = (TextView) view.findViewById(R.id.label);
diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordItem.java b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordItem.java
index 404091b2..cfdb829d 100644
--- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordItem.java
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordItem.java
@@ -1,5 +1,7 @@
package com.zeapo.pwdstore.utils;
+import android.support.annotation.NonNull;
+
import java.io.File;
public class PasswordItem implements Comparable{
@@ -12,7 +14,6 @@ public class PasswordItem implements Comparable{
private PasswordItem parent;
private File file;
private String fullPathToParent;
- public boolean selected = false;
/** Create a password item
*
@@ -93,14 +94,15 @@ public class PasswordItem implements Comparable{
}
@Override
- public boolean equals(Object o){
- PasswordItem other = (PasswordItem) o;
+ public boolean equals(Object o) {
// Makes it possible to have a category and a password with the same name
- return (other.getFile().equals(this.getFile()));
-}
+ return o != null
+ && o.getClass() == PasswordItem.class
+ && ((PasswordItem) o).getFile().equals(this.getFile());
+ }
@Override
- public int compareTo(Object o) {
+ public int compareTo(@NonNull Object o) {
PasswordItem other = (PasswordItem) o;
// Appending the type will make the sort type dependent
return (this.getType() + this.getName())
diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java
index ab86d2e1..d97e3294 100644
--- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRepository.java
@@ -27,7 +27,6 @@ import static java.util.Collections.sort;
public class PasswordRepository {
private static Repository repository;
- private static boolean initialized = false;
protected PasswordRepository(){ }
@@ -165,13 +164,13 @@ public class PasswordRepository {
* @return the list of gpg files in that directory
*/
public static ArrayList<File> getFilesList(File path){
- if (!path.exists()) return new ArrayList<File>();
+ if (!path.exists()) return new ArrayList<>();
Log.d("REPO", "current path: " + path.getPath());
- ArrayList<File> files = new ArrayList<File>(Arrays.asList(path.listFiles((FileFilter) FileFilterUtils.directoryFileFilter())));
- files.addAll( new ArrayList<File>((List<File>)FileUtils.listFiles(path, new String[] {"gpg"}, false)));
+ ArrayList<File> files = new ArrayList<>(Arrays.asList(path.listFiles((FileFilter) FileFilterUtils.directoryFileFilter())));
+ files.addAll(new ArrayList<>((List<File>) FileUtils.listFiles(path, new String[]{"gpg"}, false)));
- return new ArrayList<File>(files);
+ return new ArrayList<>(files);
}
/**
@@ -183,9 +182,9 @@ public class PasswordRepository {
//We need to recover the passwords then parse the files
ArrayList<File> passList = getFilesList(path);
- if (passList.size() == 0) return new ArrayList<PasswordItem>();
+ if (passList.size() == 0) return new ArrayList<>();
- ArrayList<PasswordItem> passwordList = new ArrayList<PasswordItem>();
+ ArrayList<PasswordItem> passwordList = new ArrayList<>();
for (File file : passList) {
if (file.isFile()) {
@@ -203,7 +202,7 @@ public class PasswordRepository {
/**
* Sets the git user name
- * @param String username username
+ * @param username username
*/
public static void setUserName(String username) {
setStringConfig("user", null, "name", username);
@@ -211,7 +210,7 @@ public class PasswordRepository {
/**
* Sets the git user email
- * @param String email email
+ * @param email email
*/
public static void setUserEmail(String email) {
setStringConfig("user", null, "email", email);
@@ -219,10 +218,10 @@ public class PasswordRepository {
/**
* Sets a git config value
- * @param String section config section name
- * @param String subsection config subsection name
- * @param String name config name
- * @param String value the value to be set
+ * @param section config section name
+ * @param subsection config subsection name
+ * @param name config name
+ * @param value the value to be set
*/
private static void setStringConfig(String section, String subsection, String name, String value) {
if (isInitialized()) {
diff --git a/app/src/main/res/drawable-hdpi/ic_action_accounts.png b/app/src/main/res/drawable-hdpi/ic_action_accounts.png
deleted file mode 100644
index ae02bea6..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_accounts.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_discard.png b/app/src/main/res/drawable-hdpi/ic_action_discard.png
deleted file mode 100644
index 703b31f8..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_discard.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_accounts.png b/app/src/main/res/drawable-mdpi/ic_action_accounts.png
deleted file mode 100644
index 2a703c14..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_accounts.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_discard.png b/app/src/main/res/drawable-mdpi/ic_action_discard.png
deleted file mode 100644
index 248fb09c..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_discard.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_accounts.png b/app/src/main/res/drawable-xhdpi/ic_action_accounts.png
deleted file mode 100644
index d2cb5819..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_accounts.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_discard.png b/app/src/main/res/drawable-xhdpi/ic_action_discard.png
deleted file mode 100644
index 9eeeed12..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_discard.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_accounts.png b/app/src/main/res/drawable-xxhdpi/ic_action_accounts.png
deleted file mode 100644
index 568a47be..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_accounts.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_discard.png b/app/src/main/res/drawable-xxhdpi/ic_action_discard.png
deleted file mode 100644
index cb1260a4..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_discard.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable/actionbar_background.xml b/app/src/main/res/drawable/actionbar_background.xml
deleted file mode 100644
index 220eee39..00000000
--- a/app/src/main/res/drawable/actionbar_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
- <solid android:color="@android:color/holo_orange_dark" />
-</shape> \ No newline at end of file
diff --git a/app/src/main/res/drawable/blue_rectangle.xml b/app/src/main/res/drawable/blue_rectangle.xml
deleted file mode 100644
index 61cb44f5..00000000
--- a/app/src/main/res/drawable/blue_rectangle.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <item>
- <shape android:shape="rectangle"
- android:dither="true">
- <corners android:radius="2dp"/>
- <solid android:color="#ccc" />
-
- </shape>
- </item>
-
- <item>
- <shape android:shape="rectangle" android:dither="true">
- <corners android:radius="2dp" />
- <solid android:color="@android:color/holo_blue_light" />
-
- <padding android:bottom="8dp"
- android:left="8dp"
- android:right="8dp"
- android:top="8dp" />
- </shape>
- </item>
-</layer-list> \ No newline at end of file
diff --git a/app/src/main/res/layout/activity_git_clone.xml b/app/src/main/res/layout/activity_git_clone.xml
index d923350a..8001f94d 100644
--- a/app/src/main/res/layout/activity_git_clone.xml
+++ b/app/src/main/res/layout/activity_git_clone.xml
@@ -106,14 +106,16 @@
android:inputType="textWebEmailAddress" />
<TextView
+ android:id="@+id/label_server_port"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text=":"
- android:paddingBottom="8dp"
- android:id="@+id/label_server_port"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/server_port"
- android:layout_toStartOf="@+id/server_port" />
+ android:layout_toStartOf="@+id/server_port"
+ android:paddingBottom="8dp"
+ android:text=":"
+ tools:ignore="HardcodedText" />
+
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -166,11 +168,11 @@
android:background="@drawable/bottom_line"/>
<EditText
- android:hint="Repository URI"
android:id="@+id/clone_uri"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:inputType="textWebEmailAddress"/>
+ android:hint="@string/repository_uri"
+ android:inputType="textWebEmailAddress" />
<TextView
android:layout_width="match_parent"
@@ -206,13 +208,13 @@
<Button
android:id="@+id/clone_button"
- android:text="Clone!"
+ android:text="@string/clone_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="cloneRepository"/>
<Button
android:id="@+id/save_button"
- android:text="Save"
+ android:text="@string/crypto_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="saveConfiguration"/>
diff --git a/app/src/main/res/layout/activity_git_config.xml b/app/src/main/res/layout/activity_git_config.xml
index 2955809b..c03ddc05 100644
--- a/app/src/main/res/layout/activity_git_config.xml
+++ b/app/src/main/res/layout/activity_git_config.xml
@@ -11,7 +11,7 @@
<LinearLayout
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
@@ -85,7 +85,7 @@
<Button
android:id="@+id/save_button"
- android:text="Save"
+ android:text="@string/crypto_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="applyGitConfigs"/>
diff --git a/app/src/main/res/layout/activity_pgp_handler.xml b/app/src/main/res/layout/activity_pgp_handler.xml
deleted file mode 100644
index 71dcff3e..00000000
--- a/app/src/main/res/layout/activity_pgp_handler.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<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="@color/background">
-
- <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: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"/>
-
-
- <LinearLayout
- android:id="@+id/crypto_container"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_column="0"
- android:layout_row="2"
- android:layout_columnSpan="3" />
-
- </GridLayout>
-</LinearLayout>
diff --git a/app/src/main/res/layout/activity_pwdstore.xml b/app/src/main/res/layout/activity_pwdstore.xml
index 84c7af06..dd30d3fc 100644
--- a/app/src/main/res/layout/activity_pwdstore.xml
+++ b/app/src/main/res/layout/activity_pwdstore.xml
@@ -2,7 +2,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".pwdstore"
+ tools:context=".PasswordStore"
android:orientation="vertical">
<LinearLayout
diff --git a/app/src/main/res/layout/app_list_item.xml b/app/src/main/res/layout/app_list_item.xml
deleted file mode 100644
index 15758cd5..00000000
--- a/app/src/main/res/layout/app_list_item.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- android:paddingLeft="8dp"
- android:paddingRight="8dp">
-
- <ImageView
- android:id="@android:id/icon1"
- android:layout_width="24dp"
- android:layout_height="24dp" />
-
- <TextView
- android:id="@android:id/text1"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_marginLeft="8dp"
- android:gravity="center_vertical"
- android:textAppearance="?android:attr/textAppearanceListItemSmall" />
-
-</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/child_row_layout.xml b/app/src/main/res/layout/child_row_layout.xml
deleted file mode 100644
index d61586a9..00000000
--- a/app/src/main/res/layout/child_row_layout.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:id="@+id/child_row_layout"
- android:layout_marginTop="@dimen/activity_vertical_margin">
-
- <ImageButton
- android:id="@+id/crypto_delete_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/ic_action_discard"
- android:background="@drawable/red_rectangle"
- android:layout_gravity="center_vertical"
- android:layout_column="1"
- android:layout_row="0"/>
-
- <ImageButton
- android:id="@+id/crypto_show_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/ic_action_accounts"
- android:background="@drawable/blue_rectangle"
- android:layout_gravity="center_vertical"
- android:layout_marginLeft="8dp"
- android:layout_column="2"
- android:layout_row="0"/>
-
-</GridLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/decrypt_layout.xml b/app/src/main/res/layout/decrypt_layout.xml
index 2a94dfee..f076dbad 100644
--- a/app/src/main/res/layout/decrypt_layout.xml
+++ b/app/src/main/res/layout/decrypt_layout.xml
@@ -19,26 +19,28 @@
android:orientation="vertical">
<TextView
+ android:id="@+id/crypto_password_category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@color/grey_500"
- android:text="CATEGORY HERE"
- android:id="@+id/crypto_password_category"
android:layout_gravity="center_vertical"
- android:textSize="18dp"
+ android:layout_marginLeft="16dp"
+ android:text="CATEGORY HERE"
+ android:textColor="@color/grey_500"
android:textIsSelectable="false"
- android:layout_marginLeft="16dp" />
+ android:textSize="18dp"
+ tools:ignore="HardcodedText" />
<TextView
+ android:id="@+id/crypto_password_file"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:layout_marginLeft="@dimen/activity_horizontal_margin"
+ android:text="PASSWORD FILE NAME HERE"
+ android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
android:textColor="@color/accent"
+ android:textSize="24dp"
android:textStyle="bold"
- android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
- android:text="PASSWORD FILE NAME HERE"
- android:id="@+id/crypto_password_file"
- android:layout_marginLeft="@dimen/activity_horizontal_margin"
- android:textSize="24dp" />
+ tools:ignore="HardcodedText" />
</LinearLayout>
<ImageView
@@ -170,5 +172,4 @@
</LinearLayout>
-
</ScrollView> \ 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
index 30ccfba4..ebb5e4dd 100644
--- a/app/src/main/res/layout/encrypt_layout.xml
+++ b/app/src/main/res/layout/encrypt_layout.xml
@@ -14,29 +14,31 @@
android:orientation="vertical">
<TextView
+ android:id="@+id/crypto_password_category"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@color/grey_500"
- android:text="CATEGORY HERE"
- android:id="@+id/crypto_password_category"
android:layout_gravity="center_vertical"
- android:textSize="18dp"
+ android:layout_marginLeft="@dimen/activity_horizontal_margin"
+ android:text="CATEGORY HERE"
+ android:textColor="@color/grey_500"
android:textIsSelectable="false"
- android:layout_marginLeft="@dimen/activity_horizontal_margin" />
+ android:textSize="18dp"
+ tools:ignore="HardcodedText" />
<EditText
- android:layout_gravity="center_vertical"
+ android:id="@+id/crypto_password_file_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:id="@+id/crypto_password_file_edit"
+ android:layout_gravity="center_vertical"
android:hint="@string/crypto_name_hint"
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
+ android:textColor="@color/accent"
android:textSize="24dp"
- android:textColor="@color/accent" />
+ tools:ignore="TextFields" />
</LinearLayout>
<ScrollView android:layout_width="fill_parent"
- android:layout_height="fill_parent"
+ android:layout_height="0dp"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_weight="1">
@@ -65,11 +67,9 @@
<EditText
android:id="@+id/crypto_password_edit"
android:layout_width="match_parent"
- android:layout_height="wrap_content"
+ android:layout_height="0dp"
android:typeface="monospace"
- android:layout_weight="1"
- android:layout_toRightOf="@+id/textView2"
- android:layout_toEndOf="@+id/textView2" />
+ android:layout_weight="1" />
<Button
android:layout_height="wrap_content"
diff --git a/app/src/main/res/layout/fragment_autofill.xml b/app/src/main/res/layout/fragment_autofill.xml
index dd9f8419..ef825c4b 100644
--- a/app/src/main/res/layout/fragment_autofill.xml
+++ b/app/src/main/res/layout/fragment_autofill.xml
@@ -1,25 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:paddingBottom="20dp"
- android:paddingLeft="24dp"
- android:paddingRight="24dp"
- android:paddingTop="20dp">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:paddingBottom="20dp"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:paddingTop="20dp">
- <android.support.design.widget.TextInputLayout xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- app:hintTextAppearance="@style/TextAppearance.AppCompat">
+ <android.support.design.widget.TextInputLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:hintTextAppearance="@style/TextAppearance.AppCompat">
<EditText
android:id="@+id/webURL"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="URL"
- android:inputType="textUri"/>
+ android:inputType="textUri"
+ tools:ignore="HardcodedText" />
</android.support.design.widget.TextInputLayout>
<RadioGroup
diff --git a/app/src/main/res/layout/fragment_pwgen.xml b/app/src/main/res/layout/fragment_pwgen.xml
index c3dad4bf..4c3812a7 100644
--- a/app/src/main/res/layout/fragment_pwgen.xml
+++ b/app/src/main/res/layout/fragment_pwgen.xml
@@ -6,7 +6,7 @@
<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:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="20dp"
android:paddingLeft="24dp"
@@ -26,7 +26,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
- android:weightSum="2">
+ android:weightSum="2"
+ android:baselineAligned="false">
<LinearLayout
android:layout_width="match_parent"
@@ -98,8 +99,6 @@
android:text="@string/pwgen_pronounceable" />
</LinearLayout>
-
-
</LinearLayout>
</LinearLayout>
</ScrollView>
diff --git a/app/src/main/res/layout/key_id.xml b/app/src/main/res/layout/key_id.xml
deleted file mode 100644
index 2c95ce8d..00000000
--- a/app/src/main/res/layout/key_id.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical" 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"
- android:background="@color/background">
-
- <GridLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/rectangle">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Key-id: "
- android:layout_column="0"
- android:layout_gravity="center_vertical"/>
- <TextView
- android:id="@+id/crypto_key_ids"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="No key selected"
- android:layout_marginLeft="@dimen/activity_horizontal_margin"
- android:textStyle="bold"
- android:textColor="@android:color/holo_purple"
- android:layout_column="1"
- android:layout_gravity="center_vertical"/>
- <ImageButton
- android:id="@+id/crypto_get_key_ids"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_column="3"
- android:src="@drawable/ic_action_accounts"
- android:background="@android:color/transparent"
- android:onClick="handleClick"
- android:layout_gravity="center_vertical"/>
- </GridLayout>
-
-
-</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/openpgp_provider.xml b/app/src/main/res/layout/openpgp_provider.xml
deleted file mode 100644
index f7c46b5f..00000000
--- a/app/src/main/res/layout/openpgp_provider.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-android:id="@+id/parent_scroll"
-android:fillViewport="true"
-android:layout_width="match_parent"
-android:layout_height="match_parent">
-
-<LinearLayout
- android:padding="8dp"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Encrypt UserIds (split with &apos;,&apos;)"
- android:textAppearance="?android:attr/textAppearanceMedium" />
-
-
- <EditText
- android:id="@+id/crypto_provider_demo_encrypt_user_id"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="dominik@dominikschuermann.de"
- android:textAppearance="@android:style/TextAppearance.Small" />
-
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Message"
- android:textAppearance="?android:attr/textAppearanceMedium" />
-
-
- <ScrollView
- android:id="@+id/child_scroll1"
- android:fillViewport="true"
- android:layout_width="match_parent"
- android:layout_height="120dp">
-
- <EditText
- android:id="@+id/crypto_provider_demo_message"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:scrollHorizontally="true"
- android:scrollbars="vertical"
- android:text="message"
- android:hint="cleartext message"
- android:textAppearance="@android:style/TextAppearance.Small" />
- </ScrollView>
-
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Ciphertext"
- android:textAppearance="?android:attr/textAppearanceMedium" />
-
- <ScrollView
- android:id="@+id/child_scroll2"
- android:fillViewport="true"
- android:layout_width="match_parent"
- android:layout_height="120dp">
-
- <EditText
- android:id="@+id/crypto_provider_demo_ciphertext"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:text="ciphertext"
- android:hint="ciphertext"
- android:textAppearance="@android:style/TextAppearance.Small" />
- </ScrollView>
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <Button
- android:id="@+id/crypto_provider_demo_sign"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Sign"
- android:layout_gravity="center_vertical" />
-
- <Button
- android:id="@+id/crypto_provider_demo_encrypt"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Encrypt"
- android:layout_gravity="center_vertical" />
-
- <Button
- android:id="@+id/crypto_provider_demo_sign_and_encrypt"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="Sign and Encrypt"
- android:layout_gravity="center_vertical" />
- </LinearLayout>
-
- <Button
- android:id="@+id/crypto_provider_demo_decrypt_and_verify"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Decrypt and Verify" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Account ID:"
- android:textAppearance="?android:attr/textAppearanceMedium" />
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Alice &lt;alice@example.com&gt;"
- android:id="@+id/crypto_provider_demo_account" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Get key:"
- android:textAppearance="?android:attr/textAppearanceMedium" />
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="0x718c070100012282"
- android:id="@+id/crypto_provider_demo_get_key_edit" />
-
- <Button
- android:id="@+id/crypto_provider_demo_get_key"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Get key" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Get key ids:"
- android:textAppearance="?android:attr/textAppearanceMedium" />
-
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="dominik@dominikschuermann.de"
- android:id="@+id/crypto_provider_demo_get_key_ids_edit" />
-
- <Button
- android:id="@+id/crypto_provider_demo_get_key_ids"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="Get key ids" />
-
-</LinearLayout>
-</ScrollView> \ No newline at end of file
diff --git a/app/src/main/res/layout/password_row_layout.xml b/app/src/main/res/layout/password_row_layout.xml
index 5860fe48..43df2ecf 100644
--- a/app/src/main/res/layout/password_row_layout.xml
+++ b/app/src/main/res/layout/password_row_layout.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:card_view="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/activatedBackgroundIndicator">
@@ -23,20 +23,21 @@
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
- android:paddingRight="8dp" />
+ android:paddingRight="8dp"/>
<TextView
android:id="@+id/type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="start"
- android:singleLine="true"
android:text="TYPE"
android:textSize="14dp"
android:textColor="@color/grey_500"
android:layout_alignTop="@+id/type_image"
android:layout_toRightOf="@+id/type_image"
- android:layout_toEndOf="@+id/type_image" />
+ android:layout_toEndOf="@+id/type_image"
+ android:maxLines="1"
+ tools:ignore="HardcodedText" />
<TextView
android:id="@+id/label"
@@ -48,7 +49,8 @@
android:textSize="18dp"
android:layout_below="@+id/type"
android:layout_alignLeft="@+id/type"
- android:layout_alignStart="@+id/type" />
+ android:layout_alignStart="@+id/type"
+ tools:ignore="HardcodedText" />
</RelativeLayout>
</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/menu/agp_intents.xml b/app/src/main/res/menu/agp_intents.xml
deleted file mode 100644
index 8aa52dfa..00000000
--- a/app/src/main/res/menu/agp_intents.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<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.AgpIntentsActivity" >
- <item android:id="@+id/action_settings"
- android:title="@string/action_settings"
- android:orderInCategory="100"
- pwstore:showAsAction="never" />
-</menu>
diff --git a/app/src/main/res/menu/context_pass.xml b/app/src/main/res/menu/context_pass.xml
index bcdb383c..cb1e9ee9 100644
--- a/app/src/main/res/menu/context_pass.xml
+++ b/app/src/main/res/menu/context_pass.xml
@@ -1,22 +1,25 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
tools:context=".pwdstore">
- <item android:id="@+id/menu_move_password"
+ <item
+ android:id="@+id/menu_move_password"
android:icon="@drawable/ic_folder_white_24dp"
- app:showAsAction="ifRoom"
- android:title="Move"/>
+ android:title="@string/move"
+ app:showAsAction="ifRoom" />
- <item android:id="@+id/menu_edit_password"
+ <item
+ android:id="@+id/menu_edit_password"
android:icon="@drawable/ic_edit_white_24dp"
- app:showAsAction="ifRoom"
- android:title="Edit"/>
+ android:title="@string/edit"
+ app:showAsAction="ifRoom" />
- <item android:id="@+id/menu_delete_password"
+ <item
+ android:id="@+id/menu_delete_password"
android:icon="@drawable/ic_delete_white_24dp"
- app:showAsAction="ifRoom"
- android:title="Delete"/>
+ android:title="@string/delete"
+ app:showAsAction="ifRoom" />
</menu>
diff --git a/app/src/main/res/menu/pgp_handler_new_password.xml b/app/src/main/res/menu/pgp_handler_new_password.xml
index 0e2ef32c..6c7e12c9 100644
--- a/app/src/main/res/menu/pgp_handler_new_password.xml
+++ b/app/src/main/res/menu/pgp_handler_new_password.xml
@@ -2,12 +2,12 @@
xmlns:tools="http://schemas.android.com/tools"
xmlns:pwstore="http://schemas.android.com/apk/res-auto"
tools:context="com.zeapo.pwdstore.crypto.PgpHandler" >
- <item android:title="Cancel"
+ <item android:title="@string/crypto_cancel"
android:icon="@drawable/ic_clear_white_24dp"
pwstore:showAsAction="ifRoom"
android:id="@+id/crypto_cancel_add"
/>
- <item android:title="Save"
+ <item android:title="@string/crypto_save"
android:icon="@drawable/ic_done_white_24dp"
pwstore:showAsAction="ifRoom"
android:id="@+id/crypto_confirm_add"
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 9bfba01b..c18ede62 100644
--- a/app/src/main/res/menu/pgp_handler_select_folder.xml
+++ b/app/src/main/res/menu/pgp_handler_select_folder.xml
@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
xmlns:pwstore="http://schemas.android.com/apk/res-auto"
tools:context="com.zeapo.pwdstore.crypto.PgpHandler" >
- <item android:title="Select"
+ <item android:title="@string/crypto_select"
android:icon="@drawable/ic_done_white_24dp"
pwstore:showAsAction="ifRoom"
android:id="@+id/crypto_select"
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 0f9ef325..5feaec77 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -3,11 +3,8 @@
<!-- Activity names -->
<string name="app_name">Password Store</string>
- <string name="activity_clone_name">Klonovat Git repozitář</string>
- <string name="clone_settings">Klonování</string>
<string name="action_settings">Nastavení</string>
- <string name="hello_world">Hello world!</string>
<string name="dialog_delete_title">Adresář již existuje</string>
<string name="dialog_delete_msg">Cílový adresář již existuje. Aktuální verze podporuje pouze jedno úložiště. Opravdu smazat aktuální adresář úložiště hesel:</string>
<string name="dialog_delete">Smazat adresář</string>
@@ -18,23 +15,16 @@
<string name="creation_dialog_text">Naklonujte nebo vytvořte nový repozitář před pokusem přidat heslo nebo spustit synchronizaci.</string>
<string name="store_git">/store/.git</string>
<string name="key_dialog_text">Před inicializací repozitáře je třeba vybrat "ID PGP klíče"</string>
- <string name="connection_dialog_text">Jakou metodu připojení upřednostňujete?</string>
<string name="delete_dialog_text">Opravdu chcete smazat heslo /"</string>
<!-- git commits -->
- <string name="initialization_commit_text">[ANDROID PwdStore] Initialized store with keyID: </string>
<string name="add_commit_text">[ANDROID PwdStore] Add &#160;</string>
- <string name="remove_commit_text">[ANDROID PwdStore] Remove &#160;</string>
<string name="edit_commit_text">[ANDROID PwdStore] Edit &#160;</string>
<string name="from_store">&#160; from store.</string>
<!-- PGPHandler -->
<string name="provider_toast_text">Nebyl vybrán poskytovatel OpenPGP!</string>
- <string name="okc_progress_text">Čekání na OpenKeychain…</string>
<string name="clipboard_password_toast_text">Heslo zkopírováno do schránky, máte %d sekund na jeho zkopírování.</string>
- <string name="name_settings_toast_text">Až to bude možné, tak si zadejte jméno účtu v nastavení</string>
- <string name="account_settings_dialog_text">Zadejte si v nastavení svůj OpenKeychain účet (email)</string>
- <string name="account_settings_dialog_title">Jméno účtu je prázdné!</string>
<string name="file_toast_text">Zadejte prosím jméno souboru</string>
<string name="empty_toast_text">Nelze zadat prázdné heslo nebo další obsah</string>
@@ -44,7 +34,6 @@
<string name="jgit_error_dialog_text">Zpráva od jgit: \n</string>
<!-- Git Handler -->
- <string name="read_only_dialog_text">Chystáte se použít repozitář bez práva zápisu, nebudete schopni do něj ukládat</string>
<string name="forget_username_dialog_text">Zapomněli jste uvést přihlašovací jméno?</string>
<string name="set_information_dialog_text">Je třeba zadat informaci o serveru před vlastní synchronizací</string>
<string name="ssh_preferences_dialog_text">Importujte nebo si prosím vygenerujte svůj SSH klíč v nastavení aplikace</string>
@@ -56,7 +45,6 @@
<string name="password_dialog_text">Zadejte prosím heslo k tomuto repozitáři</string>
<!-- Clone fragment -->
- <string name="clone_fragment_text">Vítejte v aplikaci Password Store\n\n Na této obrazovce můžete buď vytvořit nový repozitář nebo klonovat dostupný repozitář na svůj přístroj.</string>
<string name="clone">Klonovat ze serveru</string>
<string name="initialize">Použít místní adresář</string>
@@ -78,34 +66,23 @@
<string name="warn_malformed_url_port">Při použití vlastního portu, zadejte absolutní cestu (začíná "/")</string>
<!-- PGP Handler -->
- <string name="title_activity_pgp_handler">PgpHandler</string>
<string name="crypto_name_hint">jméno</string>
<string name="crypto_pass_label">Heslo</string>
<string name="crypto_extra_label">Extra</string>
<!-- DECRYPT Layout -->
- <string name="crypto_category">Kategorie</string>
<string name="action_search">Hledat</string>
<!-- Preferences -->
<string name="pref_git_title">Git</string>
- <string name="pref_server_title">Server</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_remote_title">Vzdálené umístění</string>
- <string name="pref_remote_hint">cesta/k/repozitáři</string>
- <string name="pref_git_username_title">Jméno</string>
- <string name="pref_git_username_hint">username</string>
<string name="pref_edit_server_info">Upravit nastavení git serveru</string>
<string name="pref_ssh_title">Importovat SSH klíč</string>
<string name="pref_ssh_keygen_title">Generovat SSH klíč</string>
<string name="pref_ssh_see_key_title">Zobrazit vygenerovaný veřejný SSH klíč</string>
<string name="pref_git_delete_repo">Smazat repozitář</string>
<string name="pref_dialog_delete_title">Vyčistit repozitář</string>
- <string name="pref_dialog_delete_msg">Opravdu smazat aktuální adresář úložiště hesel? Toto neodstraní vaše nastavení.</string>
<string name="pref_crypto_title">Šifrování</string>
<string name="pref_provider_title">Vybrat poskytovatele OpenPGP</string>
- <string name="pref_provider_account_title">Nastavit OpenPGP účet</string>
- <string name="pref_provider_account_hint">mail@somewhere.tld</string>
<string name="pref_key_title">Vybrat ID OpenPGP klíče</string>
<string name="pref_general_title">Všeobecné</string>
<string name="pref_password_title">Čas zobrazení hesla</string>
@@ -122,7 +99,6 @@
<string name="pref_autofill_enable_msg2">Jakmile bude služba zapnuta, po kliknutí na pole hesla bude zobrazeno dialogové okno pokud je pro používanou aplikaci heslo dostupné.</string>
<string name="pref_autofill_enable_msg3">Password Store se automaticky pokouší najít odpovídající heslo k aplikacím. Toto výchozí nastavení spolu s nastavením pro jednotlivé aplikace lze změnit.</string>
<string name="pref_autofill_apps_title">Nastavení aplikace a webové stránky</string>
- <string name="pref_autofill_apps_hint">Upravit automatické vyplňování u vybraných aplikací.</string>
<string name="pref_autofill_default_title">Automaticky párovat ve výchozím nastavení</string>
<string name="pref_autofill_default_hint">Ve výchozím nastavení \'Automaticky párovat\' u aplikací bez vybraného nastavení. Jinak, \'Nikdy nepárovat.\'</string>
<string name="pref_autofill_always_title">Vždy zobrazit dialog</string>
@@ -163,13 +139,10 @@
<string name="git_push">Uložit na server</string>
<string name="show_password_pref_title">Zobrazit heslo</string>
<string name="show_password_pref_summary">Hlídat viditelnost hesel po dešifrování, toto nevypíná možnost kopírovat heslo</string>
- <string name="toast_password_copied">Heslo zkopírováno do schránky</string>
<string name="pwd_generate_button">Generovat</string>
- <string name="category_string">"Kategorie: "</string>
<!-- Autofill -->
<string name="autofill_description">Automaticky vyplňuje pole hesel v aplikacích. Funguje pouze pro verzi Androidu 4.3 a vyšší. Není závislé na schránce pro Android verze 5.0 a vyšší.</string>
- <string name="autofill_fill">Vyplnit</string>
<string name="autofill_apps_default">Použít výchozí nastavení</string>
<string name="autofill_apps_first">Automaticky spárovat</string>
<string name="autofill_apps_match_ellipsis">Spárovat s…</string>
@@ -177,9 +150,7 @@
<string name="autofill_apps_never">Nikdy nepárovat</string>
<string name="autofill_apps_delete">Smazat</string>
<string name="refresh_list">Obnovit seznam</string>
- <string name="settings">Nastavení</string>
<string name="no_repo_selected">Nebyl vybrát externí repozitář</string>
- <string name="no_repo_selected2">Nebyl vybrát externí repozitář</string>
<string name="send_plaintext_password_to">Odeslat heslo jako plaintext za použití…</string>
<string name="show_password">Pokaż hasło</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index cfb2d2d2..51fc9455 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -3,11 +3,8 @@
<!-- Activity names -->
<string name="app_name">Password Store</string>
- <string name="activity_clone_name">Klone ein Git Repo</string>
- <string name="clone_settings">Klonen</string>
<string name="action_settings">Einstellungen</string>
- <string name="hello_world">Hallo Welt!</string>
<string name="dialog_delete_title">Ordner existiert bereits</string>
<string name="dialog_delete_msg">Zielordner existiert bereits. Aktuelle Version unterstützt nur eine einzige Datenquelle. Möchtest du die aktuelle Datenquelle löschen:</string>
<string name="dialog_delete">Ordner löschen</string>
@@ -18,23 +15,19 @@
<string name="creation_dialog_text">Bitte klone oder erstelle ein neues Repository, bevor du versuchst ein Passwort hinzuzufügen oder jegliche Synchronisation-Operation durchführst.</string>
<string name="store_git">/store/.git</string>
<string name="key_dialog_text">Du musst deine PGP-Key ID auwählen, bevor das Repository intialisiert wird.</string>
- <string name="connection_dialog_text">Welche Verbindung bevorzugst du?</string>
<string name="delete_dialog_text">Bist du dir sicher, dass du das Passwort löschen möchtest \"</string>
+ <string name="move">Verschieben</string>
+ <string name="edit">Bearbeiten</string>
+ <string name="delete">Löschen</string>
<!-- git commits -->
- <string name="initialization_commit_text">[ANDROID PwdStore] Initialized store with keyID: </string>
<string name="add_commit_text">[ANDROID PwdStore] Add &#160;</string>
- <string name="remove_commit_text">[ANDROID PwdStore] Remove &#160;</string>
<string name="from_store">&#160; from store.</string>
<!-- PGPHandler -->
<string name="provider_toast_text">Kein OpenPGP-Provider ausgewählt!</string>
- <string name="okc_progress_text">Warte auf OpenKeychain…</string>
<string name="clipboard_password_toast_text">Passwort ist in der Zwischenablage, du hast %d Sekunden, um es einzufügen.</string>
<string name="clipboard_username_toast_text">Benutzername ist in der Zwischenablage</string>
- <string name="name_settings_toast_text">Bitte setze deinen Accountnamen in den Einstellungen.</string>
- <string name="account_settings_dialog_text">Bitte setze deinen OpenKeychain Account (E-Mail) in den Einstellungen</string>
- <string name="account_settings_dialog_title">Accountname ist leer!</string>
<string name="file_toast_text">Bitte setze einen Pfad</string>
<string name="empty_toast_text">Du kannst kein leeres Passwort setzen oder leere Extra-Angaben</string>
@@ -44,7 +37,6 @@
<string name="jgit_error_dialog_text">Message from jgit: \n</string>
<!-- Git Handler -->
- <string name="read_only_dialog_text">Du kannst nicht auf ein schreibgeschütztes (read-only) Repository pushen.</string>
<string name="forget_username_dialog_text">Hast du vergessen einen Nutzernamen zu vergeben?</string>
<string name="set_information_dialog_text">You have to set the information about the server before synchronizing with the server</string>
<string name="ssh_preferences_dialog_text">Please import or generate your SSH key file in the preferences</string>
@@ -54,9 +46,9 @@
<string name="passphrase_dialog_title">Authentifizieren</string>
<string name="passphrase_dialog_text">Bitte setze ein Passwort für deinen SSH-Key. Lasse das Feld leer, wenn kein Passwort vergeben werden soll.</string>
<string name="password_dialog_text">Bitte setze ein Passwort für dieses Repository</string>
+ <string name="clone_button">Klone!</string>
<!-- Clone fragment -->
- <string name="clone_fragment_text">Willkommen zu Password Store\n\n In dieser Ansicht kannst du entweder ein neues Repository anlegen oder ein bestehendes auf dieses Gerät klonen.</string>
<string name="clone">Klone von Server</string>
<string name="initialize">Nutze lokalen Ordner</string>
@@ -79,13 +71,14 @@
<string name="invalid_email_dialog_text">Bitte valide Email eingeben</string>
<!-- PGP Handler -->
- <string name="title_activity_pgp_handler">PGP-Handler</string>
<string name="crypto_name_hint">Name</string>
<string name="crypto_pass_label">Passwort</string>
<string name="crypto_extra_label">Extra</string>
+ <string name="crypto_select">Auswählen</string>
+ <string name="crypto_cancel">Abbrechen</string>
+ <string name="crypto_save">Speichern</string>
<!-- DECRYPT Layout -->
- <string name="crypto_category">Kategorie</string>
<string name="action_search">Suche</string>
<string name="password">Passwort:</string>
<string name="extra_content">Weiterer Inhalt:</string>
@@ -97,12 +90,6 @@
<!-- Preferences -->
<string name="pref_git_title">Git</string>
- <string name="pref_server_title">Server</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_remote_title">Entfernter Ort</string>
- <string name="pref_remote_hint">path/to/repository</string>
- <string name="pref_git_username_title">Nutzername</string>
- <string name="pref_git_username_hint">Nutzername</string>
<string name="pref_edit_server_info">Git-Server Einstellungen</string>
<string name="pref_edit_git_config">Git Konfiguration bearbeiten</string>
<string name="pref_ssh_title">Importiere SSH-Key</string>
@@ -110,11 +97,8 @@
<string name="pref_ssh_see_key_title">Zeige erstellten öffentlichen SSH-Key</string>
<string name="pref_git_delete_repo">Repository löschen</string>
<string name="pref_dialog_delete_title">Repository löschen</string>
- <string name="pref_dialog_delete_msg">Möchtest du dan aktuellen Passwortordner löschen? Deine Einstellungen werden beibehalten.</string>
<string name="pref_crypto_title">Kryptografie</string>
<string name="pref_provider_title">Wähle OpenPGP-Provider</string>
- <string name="pref_provider_account_title">Wähle deinen OpenPGP-Account</string>
- <string name="pref_provider_account_hint">mail@somewhere.tld</string>
<string name="pref_key_title">Wähle OpenPGP-Key ID</string>
<string name="pref_general_title">Allgemein</string>
<string name="pref_password_title">Ablaufzeit des Passworts</string>
@@ -132,7 +116,6 @@
<string name="pref_autofill_enable_msg2">Wenn der Hintergrunddienst aktiviert ist, erscheint immer dann ein Dialog, wenn du auf ein Passwortfeld in einer App klickst und ein dazu passender Eintrag existiert.</string>
<string name="pref_autofill_enable_msg3">Password Store versucht das Passwort zu der App automatisch herauszufinden. Du kannst diese Standard-Einstellung ändern und den Abgleich per App anpassen.</string>
<string name="pref_autofill_apps_title">App und Websiten Einstellungen</string>
- <string name="pref_autofill_apps_hint">Ändere die Autofill Einstellungen für spezielle Apps.</string>
<string name="pref_autofill_default_title">Standardmäßig automatisch abgleichen</string>
<string name="pref_autofill_default_hint">Standard auf \'Automatisch abgleichen\' für Apps ohne eine Standardeinstellung, andernfalls \'Niemals abgleichen.\'</string>
<string name="pref_autofill_always_title">Zeige den Autofill-Dialog immer</string>
@@ -143,6 +126,12 @@
<string name="pref_external_repository">Externes Repository</string>
<string name="pref_external_repository_summary">Nutze ein externes Repository</string>
<string name="pref_select_external_repository">Wähle ein externes Repository</string>
+ <string name="prefs_use_default_file_picker">Benutze Standardauswahl für Dateien</string>
+ <string name="prefs_clear_after_copy_title">Zwischenablage automatisch leeren</string>
+ <string name="prefs_clear_after_copy_summary">Nach automatischen oder manuellen Kopieren des Passwords wird die Zwischenablage automatisch geleert</string>
+ <string name="prefs_export_passwords_title">Passwörter exportieren</string>
+ <string name="prefs_export_passwords_summary">Exportiert die verschlüsselten Passwörter in ein externes Verzeichnis</string>
+ <string name="prefs_version">Version</string>
<!-- pwgen fragment -->
<string name="pwgen_generate">Generieren</string>
@@ -179,13 +168,10 @@
<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>
<!-- Autofill -->
<string name="autofill_description">Füge das Passwort automatisch in Apps ein (Autofill). Funktioniert nur unter Android 4.3 und höher. Dies basiert nicht auf der Zwischenablage für Android 5.0 oder höher.</string>
- <string name="autofill_fill">Einfügen</string>
<string name="autofill_apps_default">Nutze Standardeinstellung</string>
<string name="autofill_apps_first">Automatisch abgleichen</string>
<string name="autofill_apps_match_ellipsis">Abgleichen mit…</string>
@@ -195,9 +181,7 @@
<string name="autofill_pick">Auswählen…</string>
<string name="autofill_pick_and_match">Auswählen und merken…</string>
<string name="no_repo_selected">Kein externes Repository ausgewählt</string>
- <string name="no_repo_selected2">Kein externes Repository ausgewählt</string>
<string name="edit_commit_text">[ANDROID PwdStore] Edit &#160;</string>
<string name="send_plaintext_password_to">Passwort senden als Nur-Text mit behilfe von…</string>
- <string name="settings">Einstellungen</string>
<string name="show_password">Password wiedergeben</string>
</resources>
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index d496f79a..a98a1787 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -3,11 +3,8 @@
<!-- Activity names -->
<string name="app_name">Password Store</string>
- <string name="activity_clone_name">Clone un dépôt Git</string>
- <string name="clone_settings">Clone</string>
<string name="action_settings">Paramètres</string>
- <string name="hello_world">Bonjour Monde!</string>
<string name="dialog_delete_title">Répertoire déjà existant</string>
<string name="dialog_delete_msg">Répertoire cible déjà existant. La version actuelle ne supporte qu\'un seul gestionnaire. Voulez vous supprimer le répertoire actual du gestionnaire de mots de passe:</string>
<string name="dialog_delete">Suprimer le répertoire</string>
@@ -18,23 +15,16 @@
<string name="creation_dialog_text">Clonez ou créez un dépôt suivant avant d\'essayer d\'ajouter un mot de pass ou d\'effectuer une opération de synchornisation.</string>
<string name="store_git">/store/.git</string>
<string name="key_dialog_text">Vous devez sélectionner votre "PGP-Key ID" avant d\'initialiser le dépôt</string>
- <string name="connection_dialog_text">Quelle connexion préférez vous?</string>
<string name="delete_dialog_text">Êtes-vous sûr de vouloir supprimer le mot de passe /"</string>
<!-- git commits -->
- <string name="initialization_commit_text">[ANDROID PwdStore] Initialisation du gestionnaire avec le keyID: </string>
<string name="add_commit_text">[ANDROID PwdStore] Ajouter &#160;</string>
- <string name="remove_commit_text">[ANDROID PwdStore] Supprimer &#160;</string>
<string name="edit_commit_text">[ANDROID PwdStore] Editer &#160;</string>
<string name="from_store">&#160; depuis le dépôt.</string>
<!-- PGPHandler -->
<string name="provider_toast_text">Aucun prestataire OpenPGP sélectionné!</string>
- <string name="okc_progress_text">Attente de OpenKeychain…</string>
<string name="clipboard_password_toast_text">Mot de passe copié dans le presse papier, vous avez %d secondes pour coller celui-ci.</string>
- <string name="name_settings_toast_text">Renseignez le nom de votre compte dans les paramètres dès que vous pouvez</string>
- <string name="account_settings_dialog_text">Renseignez votre compte OpenKeychain (email) dans les préférences</string>
- <string name="account_settings_dialog_title">Nom du compte absent!</string>
<string name="file_toast_text">Renseignez un nom de fichier</string>
<string name="empty_toast_text">Vous ne pouvez pas utiliser un mot de passe vide ou des données supplémentaires vide</string>
@@ -44,7 +34,6 @@
<string name="jgit_error_dialog_text">Message de jgit: \n</string>
<!-- Git Handler -->
- <string name="read_only_dialog_text">Vous êtes sur le point d\'utiliserun dépôt en lecture-seule, il ne sera pas possible d\'effectuer de poussez les données vers celui-ci</string>
<string name="forget_username_dialog_text">Avez-vous oublié to renseigner votre nom d\'utilisateur?</string>
<string name="set_information_dialog_text">Vous devez renseignez les informations à propos du serveur avant d\'effectuer une synchronisation avec celui-ci</string>
<string name="ssh_preferences_dialog_text">Vous devez importer ou générer votre fichier de clef SSH dans les préférences</string>
@@ -56,7 +45,6 @@
<string name="password_dialog_text">Renseignez le mot de passe pour ce dépôt</string>
<!-- Clone fragment -->
- <string name="clone_fragment_text">Bienvenue sur Password Store\n\n Dans cet écran vous pouvez soit créer un nouveau dépôt ou cloner votre dépôt Git sur cet appareil.</string>
<string name="clone">Cloner depuis le serveur</string>
<string name="initialize">Utiliser un répertoire local</string>
@@ -78,34 +66,23 @@
<string name="warn_malformed_url_port">Lors de l\'utilisation d\'un numéro de port personnalisé, fournissez un chemin absolu (commençant par "/")</string>
<!-- PGP Handler -->
- <string name="title_activity_pgp_handler">PgpHandler</string>
<string name="crypto_name_hint">nom</string>
<string name="crypto_pass_label">Mot de passe</string>
<string name="crypto_extra_label">Extra</string>
<!-- DECRYPT Layout -->
- <string name="crypto_category">Catégorie</string>
<string name="action_search">Chercher</string>
<!-- Preferences -->
<string name="pref_git_title">Git</string>
- <string name="pref_server_title">Serveur</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_remote_title">Remote location</string>
- <string name="pref_remote_hint">chemin/du/repertoire</string>
- <string name="pref_git_username_title">Nom d\'utilisateur</string>
- <string name="pref_git_username_hint">nom-d-utilisateur</string>
<string name="pref_edit_server_info">Editer les paramètres du serveur Git</string>
<string name="pref_ssh_title">Importer une clef SSH</string>
<string name="pref_ssh_keygen_title">Générer une paire de clefs SSH</string>
<string name="pref_ssh_see_key_title">Voir la clef publique SSH générée</string>
<string name="pref_git_delete_repo">Supprimer le dépôt</string>
<string name="pref_dialog_delete_title">Effacer le dépôt</string>
- <string name="pref_dialog_delete_msg">Voulez-vous efface le répertoire du gesionnaire de mot de passe actuel? Ceci n\'effacera pas votre configuration.</string>
<string name="pref_crypto_title">Chiffrement</string>
<string name="pref_provider_title">Sélection du prestataire OpenPGP</string>
- <string name="pref_provider_account_title">Renseignez votre compte OpenPGP</string>
- <string name="pref_provider_account_hint">mail@quelque-part.tld</string>
<string name="pref_key_title">Sélection de votre identifiant OpenPGP</string>
<string name="pref_general_title">Général</string>
<string name="pref_password_title">Durée de disponibilité du mot de passe</string>
@@ -123,7 +100,6 @@
<string name="pref_autofill_enable_msg2">Lorsque le service est activé une fenêtre de dialogue apparaitra lorsque vous cliquez sur un champ de type mot de passe.</string>
<string name="pref_autofill_enable_msg3">Password Store proposera alors le mot de passe. Vous pouvez changer ce réglage ou effectuer une correspondance spéfique par application.</string>
<string name="pref_autofill_apps_title">Paramètres Application et site web</string>
- <string name="pref_autofill_apps_hint">Personnalisation du remplissage automatique spécifique par application.</string>
<string name="pref_autofill_default_title">Correspondance automatique par défaut</string>
<string name="pref_autofill_default_hint">Default to \"Automatically match\" for apps without custom settings. Otherwise, \"Never match.\"</string>
<string name="pref_autofill_always_title">Toujours montrer la fenêtre de dialogue</string>
@@ -167,13 +143,10 @@
<string name="git_push">Pousser sur le serveur</string>
<string name="show_password_pref_title">Montrer le mot de passe</string>
<string name="show_password_pref_summary">Contrôle la visibilité des mots de passe une fois déchifrées, ceci n\'empêche pas de copier le mot de passe</string>
- <string name="toast_password_copied">Mot de passe copié dans le presse-papier</string>
<string name="pwd_generate_button">Générer</string>
- <string name="category_string">"Catégorie: "</string>
<!-- Autofill -->
<string name="autofill_description">Remplissage automatique des champs de type mot de passe dans les applications. Ne fonctionne que sur les version d\'Android 4.3 et supérieure. Ne dépend pas du presse-papier pour les version d\'Android 5.0 et supérieure.</string>
- <string name="autofill_fill">Remplissage</string>
<string name="autofill_apps_default">Utiliser les paramètres par défaut</string>
<string name="autofill_apps_first">Correspondance automatique</string>
<string name="autofill_apps_match_ellipsis">Correspondance avec…</string>
@@ -181,9 +154,7 @@
<string name="autofill_apps_never">Aucun correspondance</string>
<string name="autofill_apps_delete">Supprimer</string>
<string name="refresh_list">Rafraichir la liste</string>
- <string name="settings">Paramètres</string>
<string name="no_repo_selected">Pas de dépôt externe séléctionné</string>
- <string name="no_repo_selected2">Pas de dépôt externe séléctionné</string>
<string name="send_plaintext_password_to">Envoyer le mot de passe en clair via…</string>
<string name="show_password">Montrer le mot de passe</string>
</resources>
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 5c15f3eb..9ab13ff0 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -3,11 +3,8 @@
<!-- Activity names -->
<string name="app_name">Password Store</string>
- <string name="activity_clone_name">Git リポジトリをクローン</string>
- <string name="clone_settings">クローン</string>
<string name="action_settings">設定</string>
- <string name="hello_world">Hello world!</string>
<string name="dialog_delete_title">ディレクトリーはすでに存在します</string>
<string name="dialog_delete_msg">対象のディレクトリーはすでに存在します。 現在のバージョンは1つのストアのみをサポートしています。 現在のパスワードストアのディレクトリーを削除しますか:</string>
<string name="dialog_delete">ディレクトリーを削除</string>
@@ -18,23 +15,16 @@
<string name="creation_dialog_text">パスワードや同期操作を追加する前に、以下の新しいリポジトリをクローンまたは作成してください。</string>
<string name="store_git">/store/.git</string>
<string name="key_dialog_text">リポジトリを初期化する前に "PGP 鍵 ID"を選択する必要があります</string>
- <string name="connection_dialog_text">どの接続方法がお好みですか?</string>
<string name="delete_dialog_text">パスワードを削除してもよろしいですか /"</string>
<!-- git commits -->
- <string name="initialization_commit_text">[ANDROID PwdStore] 次の鍵 ID で初期化しました: </string>
<string name="add_commit_text">[ANDROID PwdStore] 追加 &#160;</string>
- <string name="remove_commit_text">[ANDROID PwdStore] 削除 &#160;</string>
<string name="edit_commit_text">[ANDROID PwdStore] 編集 &#160;</string>
<string name="from_store">&#160; ストアから。</string>
<!-- PGPHandler -->
<string name="provider_toast_text">OpenPGP プロバイダが選択されていません!</string>
- <string name="okc_progress_text">OpenKeychain の待機中…</string>
<string name="clipboard_password_toast_text">パスワードをクリップボードにコピーしました %d 秒以内に張り付けしてください。</string>
- <string name="name_settings_toast_text">できるだけ設定に毎回アカウント名を設定してください</string>
- <string name="account_settings_dialog_text">プリファレンスに OpenKeychain アカウント (メールアドレス) を設定してください</string>
- <string name="account_settings_dialog_title">アカウント名が空です!</string>
<string name="file_toast_text">ファイル名を入力してください</string>
<string name="empty_toast_text">空のパスワードを使用したり、追加のコンテンツを空にすることはできません</string>
@@ -44,7 +34,6 @@
<string name="jgit_error_dialog_text">jgit からのメッセージ: \n</string>
<!-- Git Handler -->
- <string name="read_only_dialog_text">読み取り専用のリポジトリを使用しようとしています。そのリポジトリにプッシュすることはできません</string>
<string name="forget_username_dialog_text">ユーザー名の指定を忘れましたか?</string>
<string name="set_information_dialog_text">サーバーと同期する前に、サーバーに関する情報を設定する必要があります</string>
<string name="ssh_preferences_dialog_text">プリファレンスで SSH 鍵ファイルをインポートまたは生成してください</string>
@@ -56,7 +45,6 @@
<string name="password_dialog_text">このリポジトリのパスワードを入力してください</string>
<!-- Clone fragment -->
- <string name="clone_fragment_text">Password Store へようこそ\n\n この画面で、新しいリポジトリを作成するか、お使いのデバイスに git リポジトリをクローンすることができます。</string>
<string name="clone">サーバーからクローン</string>
<string name="initialize">ローカルディレクトリーを使用する</string>
@@ -78,34 +66,23 @@
<string name="warn_malformed_url_port">カスタムポートを使用する場合は、絶対パスを入力 ("/" で始まる)</string>
<!-- PGP Handler -->
- <string name="title_activity_pgp_handler">PgpHandler</string>
<string name="crypto_name_hint">名前</string>
<string name="crypto_pass_label">パスワード</string>
<string name="crypto_extra_label">追加</string>
<!-- DECRYPT Layout -->
- <string name="crypto_category">カテゴリー</string>
<string name="action_search">検索</string>
<!-- Preferences -->
<string name="pref_git_title">Git</string>
- <string name="pref_server_title">サーバー</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_remote_title">リモートの場所</string>
- <string name="pref_remote_hint">path/to/repository</string>
- <string name="pref_git_username_title">ユーザー名</string>
- <string name="pref_git_username_hint">ユーザー名</string>
<string name="pref_edit_server_info">git サーバー設定を編集</string>
<string name="pref_ssh_title">SSH 鍵のインポート</string>
<string name="pref_ssh_keygen_title">SSH 鍵ペアを生成</string>
<string name="pref_ssh_see_key_title">生成した公開 SSH 鍵を表示</string>
<string name="pref_git_delete_repo">リポジトリを削除</string>
<string name="pref_dialog_delete_title">リポジトリをクリア</string>
- <string name="pref_dialog_delete_msg">現在のパスワードストアディレクトリーを削除しますか? これで設定がクリアされることはありません。</string>
<string name="pref_crypto_title">暗号化</string>
<string name="pref_provider_title">OpenPGP プロバイダーを選択</string>
- <string name="pref_provider_account_title">OpenPGP アカウントを設定</string>
- <string name="pref_provider_account_hint">mail@somewhere.tld</string>
<string name="pref_key_title">OpenPGP 鍵 ID を選択</string>
<string name="pref_general_title">全般</string>
<string name="pref_password_title">パスワード表示時間</string>
@@ -123,7 +100,6 @@
<string name="pref_autofill_enable_msg2">サービスがオンになると、アプリのパスワードフィールドをクリックすとダイアログが表示され、一致するアプリのパスワードが存在すると表示されます。</string>
<string name="pref_autofill_enable_msg3">Password Store は、自動的にアプリをパスワードと照合します。 このデフォルト設定を変更することも、アプリごとに設定を変更することもできます。</string>
<string name="pref_autofill_apps_title">アプリとウェブサイトの設定</string>
- <string name="pref_autofill_apps_hint">特定のアプリの自動入力設定をカスタマイズします。</string>
<string name="pref_autofill_default_title">デフォルトで自動的に一致</string>
<string name="pref_autofill_default_hint">カスタム設定のないアプリは、デフォルトは \'自動的に一致\' になります。 それ以外の場合は、\'一致しない\'。</string>
<string name="pref_autofill_always_title">常にダイアログを表示</string>
@@ -167,13 +143,10 @@
<string name="git_push">リモートにプッシュ</string>
<string name="show_password_pref_title">パスワードを表示</string>
<string name="show_password_pref_summary">一度復号化されたパスワードの可視性を制御します。これはパスワードのコピーを無効にしません</string>
- <string name="toast_password_copied">パスワードをクリップボードにコピーしました</string>
<string name="pwd_generate_button">生成</string>
- <string name="category_string">"カテゴリー: "</string>
<!-- Autofill -->
<string name="autofill_description">アプリのパスワードフィールドを自動入力します。 Android バージョン 4.3 以降でのみ動作します。 Android 5.0 以降のクリップボードには依存しません。</string>
- <string name="autofill_fill">入力</string>
<string name="autofill_apps_default">デフォルト設定を使用する</string>
<string name="autofill_apps_first">自動的に一致</string>
<string name="autofill_apps_match_ellipsis">一致…</string>
@@ -181,9 +154,7 @@
<string name="autofill_apps_never">一致しない</string>
<string name="autofill_apps_delete">削除</string>
<string name="refresh_list">リストを更新</string>
- <string name="settings">設定</string>
<string name="no_repo_selected">外部リポジトリが選択されていません</string>
- <string name="no_repo_selected2">外部リポジトリが選択されていません</string>
<string name="send_plaintext_password_to">パスワードをプレーンテキストとして送信…</string>
<string name="show_password">パスワードを表示</string>
</resources>
diff --git a/app/src/main/res/values-large/refs.xml b/app/src/main/res/values-large/refs.xml
deleted file mode 100644
index 91cab110..00000000
--- a/app/src/main/res/values-large/refs.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
- <!--
- Layout alias to replace the single-pane version of the layout with a
- two-pane version on Large screens.
-
- For more on layout aliases, see:
- http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
- -->
-
-</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index e2711cc3..b0f3dc78 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -3,11 +3,8 @@
<!-- Activity names -->
<string name="app_name">Password Store</string>
- <string name="activity_clone_name">Клонировать Git репозиторий</string>
- <string name="clone_settings">Клонировать</string>
<string name="action_settings">Настройки</string>
- <string name="hello_world">Привет, мир!</string>
<string name="dialog_delete_title">Директория уже существует</string>
<string name="dialog_delete_msg">Директория уже существует. Текущая версия поддерживает только одно хранилище. Хотите удалить существующее хранилище?</string>
<string name="dialog_delete">Удалить директорию</string>
@@ -18,23 +15,16 @@
<string name="creation_dialog_text">Пожалуйста, клонируйте или добавьте новый репозиторий перед тем, как добавлять пароль или выполнять операцию синхронизации.</string>
<string name="store_git">/store/.git</string>
<string name="key_dialog_text">Вы должны выбрать ваш "PGP-Key ID" перед инициализацией хранилища</string>
- <string name="connection_dialog_text">Выберите предпочтительный метод соединения</string>
<string name="delete_dialog_text">Вы уверены что хотите удалить пароль /"</string>
<!-- git commits -->
- <string name="initialization_commit_text">[ANDROID PwdStore] инициализировал хранилище с ключом keyID: </string>
<string name="add_commit_text">[ANDROID PwdStore] Добавил &#160;</string>
- <string name="remove_commit_text">[ANDROID PwdStore] Удалил &#160;</string>
<string name="edit_commit_text">[ANDROID PwdStore] Редактировал &#160;</string>
<string name="from_store">&#160; из хранилища.</string>
<!-- PGPHandler -->
<string name="provider_toast_text">Не выбран поставщик OpenPGP!</string>
- <string name="okc_progress_text">Ожидание OpenKeychain…</string>
<string name="clipboard_password_toast_text">Пароль скопирован в буфер обмена, у вас есть %d секунд чтобы вставить его.</string>
- <string name="name_settings_toast_text">Пожалуйста, задайте имя пользователя в настройках</string>
- <string name="account_settings_dialog_text">Пожалуйста, задайте почту для OpenKeychain в настройках</string>
- <string name="account_settings_dialog_title">Пустое имя пользователя!</string>
<string name="file_toast_text">Пожалуйста, укажите имя файла</string>
<string name="empty_toast_text">Вы не можете использовать пустой пароль или пустое поле информации</string>
@@ -44,7 +34,6 @@
<string name="jgit_error_dialog_text">Сообщение от jgit: \n</string>
<!-- Git Handler -->
- <string name="read_only_dialog_text">Вы собираетесь использовать репозиторий только для чтения и не сможете вносить изменения</string>
<string name="forget_username_dialog_text">Вы забыли указать имя пользователя?</string>
<string name="set_information_dialog_text">Вы должны указать информацию о сервере до выполнения синхронизации</string>
<string name="ssh_preferences_dialog_text">Пожалуйста, импортируйте или сгенерируйте SSH ключ в настройках</string>
@@ -56,7 +45,6 @@
<string name="password_dialog_text">Пожалуйста, предоставьте пароль для репозитория</string>
<!-- Clone fragment -->
- <string name="clone_fragment_text">Начните работу с Password Store\n\n Здесь вы можете создать новый репозиторий либо клонировать его на ваше устройство.</string>
<string name="clone">Клонировать с сервера</string>
<string name="initialize">Использовать локальную директорию</string>
@@ -78,34 +66,23 @@
<string name="warn_malformed_url_port">При использовании нестандартных портов, предоставьте полный путь (начинается с "/")</string>
<!-- PGP Handler -->
- <string name="title_activity_pgp_handler">Обработчик PGP</string>
<string name="crypto_name_hint">имя</string>
<string name="crypto_pass_label">Пароль</string>
<string name="crypto_extra_label">Дополнительно</string>
<!-- DECRYPT Layout -->
- <string name="crypto_category">Категория</string>
<string name="action_search">Поиск</string>
<!-- Preferences -->
<string name="pref_git_title">Git</string>
- <string name="pref_server_title">Сервер</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_remote_title">Удаленное расположение</string>
- <string name="pref_remote_hint">path/to/repository</string>
- <string name="pref_git_username_title">Имя пользователя</string>
- <string name="pref_git_username_hint">username</string>
<string name="pref_edit_server_info">Отредактирова настройки сервера git</string>
<string name="pref_ssh_title">Импортировать SSH ключ</string>
<string name="pref_ssh_keygen_title">Сгенерировать пару SSH ключей</string>
<string name="pref_ssh_see_key_title">Просмотреть сгенерированный публичный SSH ключ</string>
<string name="pref_git_delete_repo">Удалить репозиторий</string>
<string name="pref_dialog_delete_title">Очистить репозиторий</string>
- <string name="pref_dialog_delete_msg">Вы хотите удалить текущее хранилище паролей? Это не сбросит ваши настройки</string>
<string name="pref_crypto_title">Шифрование</string>
<string name="pref_provider_title">Выберите поставщика OpenPGP</string>
- <string name="pref_provider_account_title">Настройте OpenPGP аккаунт</string>
- <string name="pref_provider_account_hint">mail@somewhere.tld</string>
<string name="pref_key_title">Выберите OpenPGP Key id</string>
<string name="pref_general_title">Общие</string>
<string name="pref_password_title">Время в буфере</string>
@@ -122,7 +99,6 @@
<string name="pref_autofill_enable_msg2">После активации сервиса, при клике на поле ввода пароля в приложении появится диалоговое окно, если подходящий пароль существует</string>
<string name="pref_autofill_enable_msg3">Password Store пытается сопоставлять пароли с приложениями автоматически. Вы можете изменить это поведение.</string>
<string name="pref_autofill_apps_title">Настройки приложений и веб сайтов</string>
- <string name="pref_autofill_apps_hint">Настройки автозаполнения для конкретного приложения.</string>
<string name="pref_autofill_default_title">Автоматически сопоставлять по умолчанию</string>
<string name="pref_autofill_default_hint">По умолчанию \'Автоматически сопоставлять\' для приложений без пользовательских настроек. В другом случае, \'Никогда не сопоставлять\'</string>
<string name="pref_autofill_always_title">Всегда показывать диалоговое окно</string>
@@ -163,13 +139,10 @@
<string name="git_push">Пуш на удаленный сервер</string>
<string name="show_password_pref_title">Показать пароль</string>
<string name="show_password_pref_summary">Видимость расшифрованных паролей, это не влияет на копирование в буфер</string>
- <string name="toast_password_copied">Пароль скопирован в буфер обмена</string>
<string name="pwd_generate_button">Сгенерировать</string>
- <string name="category_string">"Категория: "</string>
<!-- Autofill -->
<string name="autofill_description">Автозаполнение паролей в приложениях. Работает только в Android 4.3 и выше. Не использует буфер обмена в Android 5.0 и выше.</string>
- <string name="autofill_fill">Заполнить</string>
<string name="autofill_apps_default">Использовать настройки по умолчанию</string>
<string name="autofill_apps_first">Автоматически сопоставлять</string>
<string name="autofill_apps_match_ellipsis">Сопоставить с … </string>
@@ -177,9 +150,7 @@
<string name="autofill_apps_never">Никогда не сопоставлять</string>
<string name="autofill_apps_delete">Удалить</string>
<string name="refresh_list">Обновить список</string>
- <string name="settings">Настройки</string>
<string name="no_repo_selected">Не выбран внешний репозиторий</string>
- <string name="no_repo_selected2">Не выбрын внешний репозиторий</string>
<string name="send_plaintext_password_to">Отправить пароль в открытом виде с помощью …</string>
<string name="show_password">Показать пароль</string>
</resources>
diff --git a/app/src/main/res/values-sw600dp/refs.xml b/app/src/main/res/values-sw600dp/refs.xml
deleted file mode 100644
index 91cab110..00000000
--- a/app/src/main/res/values-sw600dp/refs.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
- <!--
- Layout alias to replace the single-pane version of the layout with a
- two-pane version on Large screens.
-
- For more on layout aliases, see:
- http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
- -->
-
-</resources> \ No newline at end of file
diff --git a/app/src/main/res/values-zh-rCH/strings.xml b/app/src/main/res/values-zh-rCH/strings.xml
index 997914a4..ba6dfa5a 100644
--- a/app/src/main/res/values-zh-rCH/strings.xml
+++ b/app/src/main/res/values-zh-rCH/strings.xml
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Password Store</string>
- <string name="account_settings_dialog_text">请在设置中设置您的 OpenKeyChain 账户 (email)</string>
- <string name="account_settings_dialog_title">用户名为空!</string>
<string name="action_search">搜索</string>
<string name="action_settings">设置</string>
- <string name="activity_clone_name">Clone 一个 Git repo</string>
<string name="add_commit_text">[ANDROID PwdStore] 添加 &#160;</string>
<string name="autofill_apps_default">使用默认设置</string>
<string name="autofill_apps_delete">删除</string>
@@ -13,16 +10,10 @@
<string name="autofill_apps_match">匹配</string>
<string name="autofill_apps_never">从不匹配</string>
<string name="autofill_description">在app中自动输入密码. 此功能只在 Andorid 4.3 及以上版本中可用. 在 Andorid 5.0 及以上版本中不依赖剪贴板</string>
- <string name="autofill_fill">输入</string>
- <string name="category_string">“类别:\"</string>
<string name="clipboard_password_toast_text">密码已复制到剪贴板, 你有 %d 秒的时间将其粘贴到其他地方.</string>
<string name="clone">从服务器Clone</string>
- <string name="clone_fragment_text">欢迎使用 Password Store 你可以选择创建新的版本库或将你已有的 git 版本库克隆到你的设备上</string>
- <string name="clone_settings">Clone</string>
- <string name="connection_dialog_text">你喜欢哪种连接方式?</string>
<string name="connection_mode">认证模式</string>
<string name="creation_dialog_text">在尝试添加密码或任何同步操作前请在下方克隆或添加一个新的 Repo</string>
- <string name="crypto_category">类别</string>
<string name="default_https_port">443</string>
<string name="default_ssh_port">22</string>
<string name="crypto_pass_label">密码</string>
@@ -47,21 +38,15 @@
<string name="git_pull">Git Pull</string>
<string name="git_push">Git Push</string>
<string name="git_sync">同步 Repo</string>
- <string name="hello_world">Hello world!</string>
- <string name="initialization_commit_text">[ANDROID PwdStore] Initialized store with keyID:</string>
<string name="initialize">使用本地目录</string>
<string name="jgit_error_dialog_text">Message from jgit:</string>
<string name="jgit_error_dialog_title">内部错误</string>
<string name="key_dialog_text">在初始化 Repo 之前你必须选择你的\"PGP-Key ID\"</string>
- <string name="name_settings_toast_text">请尽快在设置中设置您的用户名</string>
<string name="no_repo_selected">未选择外部 Repo</string>
- <string name="no_repo_selected2">未选择外部 Repo</string>
- <string name="okc_progress_text">正等待 OpenKeyChain…</string>
<string name="passphrase_dialog_text">请为您的 SSH 密钥提供口令. 若口令为空则请留空</string>
<string name="passphrase_dialog_title">认证</string>
<string name="password_dialog_text">请提供当前 Repo 的密码</string>
<string name="pref_autofill_always_title">总是显示对话框</string>
- <string name="pref_autofill_apps_hint">为特定的app自定义自动填充设置</string>
<string name="pref_autofill_apps_title">应用及网站设置</string>
<string name="pref_autofill_default_hint">无自定义设置的应用将默认采用 \'自动匹配\' . 否则将采用\'从不匹配\'</string>
<string name="pref_autofill_default_title">默认为自动匹配</string>
@@ -73,7 +58,6 @@
<string name="pref_clear_clipboard_title">清空剪贴版20次</string>
<string name="pref_copy_dialog_title">解密成功后自动将密码复制到剪贴板</string>
<string name="pref_copy_title">自动复制密码</string>
- <string name="pref_dialog_delete_msg">你确认 要删除当前的 Password Store 目录吗? 这将会清空你的所有设置</string>
<string name="pref_dialog_delete_title">清空 Repo</string>
<string name="pref_edit_server_info">修改 Git 服务器设置</string>
<string name="pref_external_repository">外部 Repo</string>
@@ -82,21 +66,13 @@
<string name="pref_git_delete_repo">删除 Repo</string>
<string name="pref_git_delete_repo_summary">删除本地的 (隐藏) Repo</string>
<string name="pref_git_title">Git</string>
- <string name="pref_git_username_hint">username</string>
- <string name="pref_git_username_title">用户名</string>
<string name="pref_key_title">选择 OpenPGP Key Id</string>
<string name="pref_password_dialog_title">选择密码在剪贴板中保存的时间限制</string>
<string name="pref_password_title">密码保存时限</string>
- <string name="pref_provider_account_hint">mail@somewhere.tld</string>
- <string name="pref_provider_account_title">选择你的 OpenPGP 账户</string>
<string name="pref_provider_title">选择 OpenPGP 应用</string>
<string name="pref_recursive_filter">搜索子文件夹</string>
<string name="pref_recursive_filter_hint">在当前目录的子目录中查找密码</string>
- <string name="pref_remote_hint">path/to/repository</string>
- <string name="pref_remote_title">远程位置</string>
<string name="pref_select_external_repository">选择外部 Repo</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_server_title">Server</string>
<string name="pref_ssh_keygen_title">生成 SSH 密钥对</string>
<string name="pref_ssh_see_key_title">查看生成的 SSH 公钥</string>
<string name="pref_ssh_title">导入 SSH 密钥</string>
@@ -108,9 +84,7 @@
<string name="pwgen_numerals">数字</string>
<string name="pwgen_symbols">特殊符号</string>
<string name="pwgen_uppercase">大写</string>
- <string name="read_only_dialog_text">你将使用一个只读的 Repo, 你无法将其提交</string>
<string name="refresh_list">刷新列表</string>
- <string name="remove_commit_text">[ANDROID PwdStore] Remove &#160;</string>
<string name="running_dialog_text">执行命令中…</string>
<string name="send_plaintext_password_to">将密码以纯文本发送…</string>
<string name="server_name">服务器</string>
@@ -123,7 +97,6 @@
<string name="server_user">用户名</string>
<string name="server_user_hint">git_username</string>
<string name="set_information_dialog_text">你必须在与服务器同步前设置服务器信息</string>
- <string name="settings">设置</string>
<string name="show_password">显示密码</string>
<string name="show_password_pref_summary">控制密码被解密后的可见性, 这并不影响密码的复制</string>
<string name="show_password_pref_title">显示密码</string>
@@ -143,8 +116,6 @@
<string name="ssh_preferences_dialog_title">无SSH密钥</string>
<string name="store_git">/store/.git</string>
<string name="title_activity_git_clone">Repo 信息</string>
- <string name="title_activity_pgp_handler">PgpHandler</string>
- <string name="toast_password_copied">密码已复制到剪贴板</string>
<string name="warn_malformed_url_port">如果使用自定义端口, 请提供绝对路径 (从根目录开始)</string>
<string name="dialog_positive">现在就去</string>
<string name="server_resulting_url">生成的 URL</string>
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 088ab0be..43e51818 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -1,11 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Password Store</string>
- <string name="account_settings_dialog_text">請設定 OpenKeyChain 帳號 (email)</string>
- <string name="account_settings_dialog_title">使用者名稱為空!</string>
<string name="action_search">搜尋</string>
<string name="action_settings">設定</string>
- <string name="activity_clone_name">Clone Git repo</string>
<string name="add_commit_text">[ANDROID PwdStore] Add &#160;</string>
<string name="autofill_apps_default">使用預設值</string>
<string name="autofill_apps_delete">刪除</string>
@@ -13,16 +10,10 @@
<string name="autofill_apps_match">自動填入</string>
<string name="autofill_apps_never">手動</string>
<string name="autofill_description">在app中自動填入密碼. 此功能只能在 Andorid 4.3 及以上版本中使用. 在 Andorid 5.0 及以上版本中不需要剪貼簿</string>
- <string name="autofill_fill">輸入</string>
- <string name="category_string">“分類:\"</string>
<string name="clipboard_password_toast_text">密碼已複製到剪貼簿, 你有 %d 秒的時間將其貼上到其他地方.</string>
<string name="clone">從伺服器 Clone</string>
- <string name="clone_fragment_text">歡迎使用 Password Store 你可以選擇建立新的 Repo 或將你已有的 git repo clone 到你的裝置上</string>
- <string name="clone_settings">Clone</string>
- <string name="connection_dialog_text">你偏好哪種連線方式?</string>
<string name="connection_mode">認證模式</string>
<string name="creation_dialog_text">在嘗試新增密碼或任何同步操作之前請在下方 clone 或新增一個新的 Repo</string>
- <string name="crypto_category">類別</string>
<string name="default_https_port">443</string>
<string name="default_ssh_port">22</string>
<string name="crypto_pass_label">密碼</string>
@@ -47,21 +38,15 @@
<string name="git_pull">Git Pull</string>
<string name="git_push">Git Push</string>
<string name="git_sync">同步 Repo</string>
- <string name="hello_world">Hello world!</string>
- <string name="initialization_commit_text">[ANDROID PwdStore] Initialized store with keyID:</string>
<string name="initialize">使用本機目錄</string>
<string name="jgit_error_dialog_text">Message from jgit:</string>
<string name="jgit_error_dialog_title">内部錯誤</string>
<string name="key_dialog_text">在初始化 Repo 之前你必須選擇你的\"PGP-Key ID\"</string>
- <string name="name_settings_toast_text">请盡快在選項中設定你的使用者名稱</string>
<string name="no_repo_selected">未選擇外部 Repo</string>
- <string name="no_repo_selected2">未選擇外部 Repo</string>
- <string name="okc_progress_text">正在等待 OpenKeyChain…</string>
<string name="passphrase_dialog_text">請為你的 SSH 金鑰設定密碼. 若密碼為空請留空</string>
<string name="passphrase_dialog_title">認證</string>
<string name="password_dialog_text">請提供目前 Repo 的密碼</string>
<string name="pref_autofill_always_title">總是顯示對話框</string>
- <string name="pref_autofill_apps_hint">為特定的 app 自定義自動填入設定</string>
<string name="pref_autofill_apps_title">app 及網站設定</string>
<string name="pref_autofill_default_hint">無自定設定的 app 將預設使用 \'自動選取\' . 否則將使用\'手動\'</string>
<string name="pref_autofill_default_title">使用自動選取</string>
@@ -73,7 +58,6 @@
<string name="pref_clear_clipboard_title">清空剪貼簿 20 次</string>
<string name="pref_copy_dialog_title">解密成功後自動將密碼複製到剪貼簿</string>
<string name="pref_copy_title">自動複製密碼</string>
- <string name="pref_dialog_delete_msg">你確定要刪除目前的 Password Store 目錄嗎? 這將會重置你所有的設定</string>
<string name="pref_dialog_delete_title">清空 Repo</string>
<string name="pref_edit_server_info">修改 Git 伺服器設定</string>
<string name="pref_external_repository">外部 Repo</string>
@@ -82,21 +66,13 @@
<string name="pref_git_delete_repo">刪除 Repo</string>
<string name="pref_git_delete_repo_summary">刪除本機的 (隱藏) Repo</string>
<string name="pref_git_title">Git</string>
- <string name="pref_git_username_hint">username</string>
- <string name="pref_git_username_title">使用者名稱</string>
<string name="pref_key_title">選擇 OpenPGP Key Id</string>
<string name="pref_password_dialog_title">選擇密碼在剪貼簿中保存的時間限制</string>
<string name="pref_password_title">密碼保存時限</string>
- <string name="pref_provider_account_hint">mail@somewhere.tld</string>
- <string name="pref_provider_account_title">選擇你的 OpenPGP 帳號</string>
<string name="pref_provider_title">選擇 OpenPGP app</string>
<string name="pref_recursive_filter">搜尋子資料夾</string>
<string name="pref_recursive_filter_hint">在目前目錄的子目錄中查詢密碼</string>
- <string name="pref_remote_hint">path/to/repository</string>
- <string name="pref_remote_title">遠端位置</string>
<string name="pref_select_external_repository">選擇外部 Repo</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_server_title">Server</string>
<string name="pref_ssh_keygen_title">生成 SSH 金鑰</string>
<string name="pref_ssh_see_key_title">顯示生成的 SSH 公鑰</string>
<string name="pref_ssh_title">匯入 SSH 私鑰</string>
@@ -108,9 +84,7 @@
<string name="pwgen_numerals">數字</string>
<string name="pwgen_symbols">特殊符號</string>
<string name="pwgen_uppercase">大寫</string>
- <string name="read_only_dialog_text">你使用了一個唯讀的 Repo, 你無法 commit</string>
<string name="refresh_list">重新整理</string>
- <string name="remove_commit_text">[ANDROID PwdStore] Remove &#160;</string>
<string name="running_dialog_text">執行中…</string>
<string name="send_plaintext_password_to">將密碼以純文字傳送…</string>
<string name="server_name">伺服器</string>
@@ -123,7 +97,6 @@
<string name="server_user">使用者名稱</string>
<string name="server_user_hint">git_username</string>
<string name="set_information_dialog_text">你必須在與伺服器同步前設定伺服器資訊</string>
- <string name="settings">設定</string>
<string name="show_password">顯示密碼</string>
<string name="show_password_pref_summary">控制密碼被解密後是否顯示密碼, 這不影響密碼的複製</string>
<string name="show_password_pref_title">顯示密碼</string>
@@ -143,8 +116,6 @@
<string name="ssh_preferences_dialog_title">無 SSH 金鑰</string>
<string name="store_git">/store/.git</string>
<string name="title_activity_git_clone">Repo 訊息</string>
- <string name="title_activity_pgp_handler">PgpHandler</string>
- <string name="toast_password_copied">密碼已複製到剪貼簿</string>
<string name="warn_malformed_url_port">如果使用自定 port, 請使用绝對路徑 (從根目錄開始)</string>
<string name="dialog_positive">確定</string>
<string name="server_resulting_url">生成的 URL</string>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 7e1e3814..6293755e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -2,279 +2,17 @@
<resources>
<color name="accent">#ff7043</color>
<color name="background">#eee</color>
-
- <color name="red_50">#fde0dc</color>
- <color name="red_100">#f9bdbb</color>
- <color name="red_200">#f69988</color>
- <color name="red_300">#f36c60</color>
- <color name="red_400">#e84e40</color>
- <color name="red_500">#e51c23</color>
- <color name="red_600">#dd191d</color>
- <color name="red_700">#d01716</color>
- <color name="red_800">#c41411</color>
- <color name="red_900">#b0120a</color>
- <color name="red_A100">#ff7997</color>
- <color name="red_A200">#ff5177</color>
- <color name="red_A400">#ff2d6f</color>
- <color name="red_A700">#e00032</color>
-
- <color name="pink_50">#fce4ec</color>
- <color name="pink_100">#f8bbd0</color>
- <color name="pink_200">#f48fb1</color>
- <color name="pink_300">#f06292</color>
- <color name="pink_400">#ec407a</color>
- <color name="pink_500">#e91e63</color>
- <color name="pink_600">#d81b60</color>
- <color name="pink_700">#c2185b</color>
- <color name="pink_800">#ad1457</color>
- <color name="pink_900">#880e4f</color>
- <color name="pink_A100">#ff80ab</color>
- <color name="pink_A200">#ff4081</color>
- <color name="pink_A400">#f50057</color>
- <color name="pink_A700">#c51162</color>
-
- <color name="purple_50">#f3e5f5</color>
- <color name="purple_100">#e1bee7</color>
- <color name="purple_200">#ce93d8</color>
- <color name="purple_300">#ba68c8</color>
- <color name="purple_400">#ab47bc</color>
- <color name="purple_500">#9c27b0</color>
- <color name="purple_600">#8e24aa</color>
- <color name="purple_700">#7b1fa2</color>
- <color name="purple_800">#6a1b9a</color>
- <color name="purple_900">#4a148c</color>
- <color name="purple_A100">#ea80fc</color>
- <color name="purple_A200">#e040fb</color>
- <color name="purple_A400">#d500f9</color>
- <color name="purple_A700">#aa00ff</color>
-
- <color name="dark_purple_50">#ede7f6</color>
- <color name="dark_purple_100">#d1c4e9</color>
- <color name="dark_purple_200">#b39ddb</color>
- <color name="dark_purple_300">#9575cd</color>
- <color name="dark_purple_400">#7e57c2</color>
- <color name="dark_purple_500">#673ab7</color>
- <color name="dark_purple_600">#5e35b1</color>
- <color name="dark_purple_700">#512da8</color>
- <color name="dark_purple_800">#4527a0</color>
- <color name="dark_purple_900">#311b92</color>
- <color name="dark_purple_A100">#b388ff</color>
- <color name="dark_purple_A200">#7c4dff</color>
- <color name="dark_purple_A400">#651fff</color>
- <color name="dark_purple_A700">#6200ea</color>
-
- <color name="indigo_50">#e8eaf6</color>
- <color name="indigo_100">#c5cae9</color>
- <color name="indigo_200">#9fa8da</color>
- <color name="indigo_300">#7986cb</color>
- <color name="indigo_400">#5c6bc0</color>
- <color name="indigo_500">#3f51b5</color>
- <color name="indigo_600">#3949ab</color>
- <color name="indigo_700">#303f9f</color>
- <color name="indigo_800">#283593</color>
- <color name="indigo_900">#1a237e</color>
- <color name="indigo_A100">#8c9eff</color>
- <color name="indigo_A200">#536dfe</color>
- <color name="indigo_A400">#3d5afe</color>
- <color name="indigo_A700">#304ffe</color>
-
- <color name="blue_50">#e7e9fd</color>
- <color name="blue_100">#d0d9ff</color>
- <color name="blue_200">#afbfff</color>
- <color name="blue_300">#91a7ff</color>
- <color name="blue_400">#738ffe</color>
- <color name="blue_500">#5677fc</color>
- <color name="blue_600">#4e6cef</color>
- <color name="blue_700">#455ede</color>
- <color name="blue_800">#3b50ce</color>
- <color name="blue_900">#2a36b1</color>
- <color name="blue_A100">#a6baff</color>
- <color name="blue_A200">#6889ff</color>
- <color name="blue_A400">#4d73ff</color>
- <color name="blue_A700">#4d69ff</color>
-
- <color name="light_blue_50">#e1f5fe</color>
- <color name="light_blue_100">#b3e5fc</color>
- <color name="light_blue_200">#81d4fa</color>
- <color name="light_blue_300">#4fc3f7</color>
- <color name="light_blue_400">#29b6f6</color>
- <color name="light_blue_500">#03a9f4</color>
- <color name="light_blue_600">#039be5</color>
- <color name="light_blue_700">#0288d1</color>
- <color name="light_blue_800">#0277bd</color>
- <color name="light_blue_900">#01579b</color>
- <color name="light_blue_A100">#80d8ff</color>
- <color name="light_blue_A200">#40c4ff</color>
- <color name="light_blue_A400">#00b0ff</color>
- <color name="light_blue_A700">#0091ea</color>
-
- <color name="cyan_50">#e0f7fa</color>
- <color name="cyan_100">#b2ebf2</color>
- <color name="cyan_200">#80deea</color>
- <color name="cyan_300">#4dd0e1</color>
- <color name="cyan_400">#26c6da</color>
- <color name="cyan_500">#00bcd4</color>
- <color name="cyan_600">#00acc1</color>
- <color name="cyan_700">#0097a7</color>
- <color name="cyan_800">#00838f</color>
- <color name="cyan_900">#006064</color>
- <color name="cyan_A100">#84ffff</color>
- <color name="cyan_A200">#18ffff</color>
- <color name="cyan_A400">#00e5ff</color>
- <color name="cyan_A700">#00b8d4</color>
-
- <color name="teal_50">#e0f2f1</color>
- <color name="teal_100">#b2dfdb</color>
- <color name="teal_200">#80cbc4</color>
- <color name="teal_300">#4db6ac</color>
- <color name="teal_400">#26a69a</color>
- <color name="teal_500">#9688</color>
- <color name="teal_600">#00897b</color>
- <color name="teal_700">#00796b</color>
- <color name="teal_800">#00695c</color>
- <color name="teal_900">#004d40</color>
- <color name="teal_A100">#a7ffeb</color>
- <color name="teal_A200">#64ffda</color>
- <color name="teal_A400">#1de9b6</color>
- <color name="teal_A700">#00bfa5</color>
-
- <color name="green_50">#d0f8ce</color>
- <color name="green_100">#a3e9a4</color>
- <color name="green_200">#72d572</color>
- <color name="green_300">#42bd41</color>
- <color name="green_400">#2baf2b</color>
- <color name="green_500">#259b24</color>
- <color name="green_600">#0a8f08</color>
- <color name="green_700">#0a7e07</color>
- <color name="green_800">#056f00</color>
- <color name="green_900">#0d5302</color>
- <color name="green_A100">#a2f78d</color>
- <color name="green_A200">#5af158</color>
- <color name="green_A400">#14e715</color>
- <color name="green_A700">#12c700</color>
-
- <color name="light_green_50">#f1f8e9</color>
- <color name="light_green_100">#dcedc8</color>
- <color name="light_green_200">#c5e1a5</color>
- <color name="light_green_300">#aed581</color>
- <color name="light_green_400">#9ccc65</color>
- <color name="light_green_500">#8bc34a</color>
- <color name="light_green_600">#7cb342</color>
- <color name="light_green_700">#689f38</color>
- <color name="light_green_800">#558b2f</color>
- <color name="light_green_900">#33691e</color>
- <color name="light_green_A100">#ccff90</color>
- <color name="light_green_A200">#b2ff59</color>
- <color name="light_green_A400">#76ff03</color>
- <color name="light_green_A700">#64dd17</color>
-
- <color name="lime_50">#f9fbe7</color>
- <color name="lime_100">#f0f4c3</color>
- <color name="lime_200">#e6ee9c</color>
- <color name="lime_300">#dce775</color>
- <color name="lime_400">#d4e157</color>
- <color name="lime_500">#cddc39</color>
- <color name="lime_600">#c0ca33</color>
- <color name="lime_700">#afb42b</color>
- <color name="lime_800">#9e9d24</color>
- <color name="lime_900">#827717</color>
- <color name="lime_A100">#f4ff81</color>
- <color name="lime_A200">#eeff41</color>
- <color name="lime_A400">#c6ff00</color>
- <color name="lime_A700">#aeea00</color>
-
- <color name="yellow_50">#fffde7</color>
- <color name="yellow_100">#fff9c4</color>
- <color name="yellow_200">#fff59d</color>
- <color name="yellow_300">#fff176</color>
- <color name="yellow_400">#ffee58</color>
- <color name="yellow_500">#ffeb3b</color>
- <color name="yellow_600">#fdd835</color>
- <color name="yellow_700">#fbc02d</color>
- <color name="yellow_800">#f9a825</color>
- <color name="yellow_900">#f57f17</color>
- <color name="yellow_A100">#ffff8d</color>
- <color name="yellow_A200">#ffff00</color>
- <color name="yellow_A400">#ffea00</color>
- <color name="yellow_A700">#ffd600</color>
-
- <color name="amber_50">#fff8e1</color>
- <color name="amber_100">#ffecb3</color>
- <color name="amber_200">#ffe082</color>
- <color name="amber_300">#ffd54f</color>
- <color name="amber_400">#ffca28</color>
- <color name="amber_500">#ffc107</color>
- <color name="amber_600">#ffb300</color>
- <color name="amber_700">#ffa000</color>
- <color name="amber_800">#ff8f00</color>
- <color name="amber_900">#ff6f00</color>
- <color name="amber_A100">#ffe57f</color>
- <color name="amber_A200">#ffd740</color>
- <color name="amber_A400">#ffc400</color>
- <color name="amber_A700">#ffab00</color>
-
- <color name="orange_50">#fff3e0</color>
- <color name="orange_100">#ffe0b2</color>
- <color name="orange_200">#ffcc80</color>
- <color name="orange_300">#ffb74d</color>
- <color name="orange_400">#ffa726</color>
- <color name="orange_500">#ff9800</color>
- <color name="orange_600">#fb8c00</color>
- <color name="orange_700">#f57c00</color>
- <color name="orange_800">#ef6c00</color>
- <color name="orange_900">#e65100</color>
- <color name="orange_A100">#ffd180</color>
- <color name="orange_A200">#ffab40</color>
- <color name="orange_A400">#ff9100</color>
- <color name="orange_A700">#ff6d00</color>
-
- <color name="deep_orange_50">#fbe9e7</color>
- <color name="deep_orange_100">#ffccbc</color>
+ <color name="blue_grey_50">#eceff1</color>
+ <color name="blue_grey_500">#607d8b</color>
+ <color name="blue_grey_200">#b0bec5</color>
+ <color name="blue_grey_700">#455a64</color>
+ <color name="blue_grey_900">#263238</color>
<color name="deep_orange_200">#ffab91</color>
- <color name="deep_orange_300">#ff8a65</color>
- <color name="deep_orange_400">#ff7043</color>
- <color name="deep_orange_500">#ff5722</color>
- <color name="deep_orange_600">#f4511e</color>
- <color name="deep_orange_700">#e64a19</color>
- <color name="deep_orange_800">#d84315</color>
- <color name="deep_orange_900">#bf360c</color>
- <color name="deep_orange_A100">#ff9e80</color>
- <color name="deep_orange_A200">#ff6e40</color>
- <color name="deep_orange_A400">#ff3d00</color>
- <color name="deep_orange_A700">#dd2c00</color>
-
- <color name="brown_50">#efebe9</color>
- <color name="brown_100">#d7ccc8</color>
- <color name="brown_200">#bcaaa4</color>
- <color name="brown_300">#a1887f</color>
- <color name="brown_400">#8d6e63</color>
- <color name="brown_500">#795548</color>
- <color name="brown_600">#6d4c41</color>
- <color name="brown_700">#5d4037</color>
- <color name="brown_800">#4e342e</color>
- <color name="brown_900">#3e2723</color>
-
- <color name="grey_50">#fafafa</color>
- <color name="grey_100">#f5f5f5</color>
- <color name="grey_200">#eeeeee</color>
<color name="grey_300">#e0e0e0</color>
- <color name="grey_400">#bdbdbd</color>
<color name="grey_500">#9e9e9e</color>
<color name="grey_600">#757575</color>
- <color name="grey_700">#616161</color>
- <color name="grey_800">#424242</color>
- <color name="grey_900">#212121</color>
- <color name="grey_black_1000">#000000</color>
<color name="grey_white_1000">#ffffff</color>
-
- <color name="blue_grey_50">#eceff1</color>
- <color name="blue_grey_100">#cfd8dc</color>
- <color name="blue_grey_200">#b0bec5</color>
- <color name="blue_grey_300">#90a4ae</color>
- <color name="blue_grey_400">#78909c</color>
- <color name="blue_grey_500">#607d8b</color>
- <color name="blue_grey_600">#546e7a</color>
- <color name="blue_grey_700">#455a64</color>
- <color name="blue_grey_800">#37474f</color>
- <color name="blue_grey_900">#263238</color>
+ <color name="grey_black_1000">#000000</color>
+ <color name="teal_900">#004d40</color>
+ <color name="teal_A700">#00bfa5</color>
</resources>
diff --git a/app/src/main/res/values/refs.xml b/app/src/main/res/values/refs.xml
deleted file mode 100644
index 830f4848..00000000
--- a/app/src/main/res/values/refs.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-
- <!--
- Layout alias to replace the single-pane version of the layout with a
- two-pane version on Large screens.
-
- For more on layout aliases, see:
- http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
- -->
-</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 51b23002..6003c585 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -3,11 +3,8 @@
<!-- Activity names -->
<string name="app_name">Password Store</string>
- <string name="activity_clone_name">Clone a Git repo</string>
- <string name="clone_settings">Clone</string>
<string name="action_settings">Settings</string>
- <string name="hello_world">Hello world!</string>
<string name="dialog_delete_title">Directory already exist</string>
<string name="dialog_delete_msg">Target directory already exist. Current version support only a single store. Do you want to delete the current password store directory:</string>
<string name="dialog_delete">Delete directory</string>
@@ -19,24 +16,20 @@
<string name="creation_dialog_text">Please clone or create a new repository below before trying to add a password or any synchronization operation.</string>
<string name="store_git">/store/.git</string>
<string name="key_dialog_text">You have to select your "PGP-Key ID" before initializing the repository</string>
- <string name="connection_dialog_text">Which connection method do you prefer?</string>
<string name="delete_dialog_text">Are you sure you want to delete the password /"</string>
+ <string name="move">Move</string>
+ <string name="edit">Edit</string>
+ <string name="delete">Delete</string>
<!-- git commits -->
- <string name="initialization_commit_text">[ANDROID PwdStore] Initialized store with keyID: </string>
<string name="add_commit_text">[ANDROID PwdStore] Add &#160;</string>
- <string name="remove_commit_text">[ANDROID PwdStore] Remove &#160;</string>
<string name="edit_commit_text">[ANDROID PwdStore] Edit &#160;</string>
<string name="from_store">&#160; from store.</string>
<!-- PGPHandler -->
<string name="provider_toast_text">No OpenPGP Provider selected!</string>
- <string name="okc_progress_text">Waiting for OpenKeychain…</string>
<string name="clipboard_password_toast_text">Password copied to clipboard, you have %d seconds to paste it somewhere.</string>
<string name="clipboard_username_toast_text">Username copied to clipboard</string>
- <string name="name_settings_toast_text">Please set your account name in settings whenever you can</string>
- <string name="account_settings_dialog_text">Please set your OpenKeychain account (email) in the preferences</string>
- <string name="account_settings_dialog_title">Account name empty!</string>
<string name="file_toast_text">Please provide a file name</string>
<string name="empty_toast_text">You cannot use an empty password or empty extra content</string>
@@ -46,7 +39,6 @@
<string name="jgit_error_dialog_text">Message from jgit: \n</string>
<!-- Git Handler -->
- <string name="read_only_dialog_text">You are about to use a read-only repository, you will not be able to push to it</string>
<string name="forget_username_dialog_text">Did you forget to specify a username?</string>
<string name="set_information_dialog_text">You have to set the information about the server before synchronizing with the server</string>
<string name="ssh_preferences_dialog_text">Please import or generate your SSH key file in the preferences</string>
@@ -58,7 +50,6 @@
<string name="password_dialog_text">Please provide the password for this repository</string>
<!-- Clone fragment -->
- <string name="clone_fragment_text">Welcome to Password Store\n\n In this screen you can either create a new repository or clone your git repository onto your device.</string>
<string name="clone">Clone from server</string>
<string name="initialize">Use local directory</string>
@@ -86,15 +77,17 @@
<string name="git_user_email" translatable="false">Email</string>
<string name="git_user_email_hint" translatable="false">email</string>
<string name="invalid_email_dialog_text">Please enter a valid email address</string>
+ <string name="clone_button">Clone!</string>
<!-- PGP Handler -->
- <string name="title_activity_pgp_handler">PgpHandler</string>
<string name="crypto_name_hint">name</string>
<string name="crypto_pass_label">Password</string>
<string name="crypto_extra_label">Extra</string>
+ <string name="crypto_select">Select</string>
+ <string name="crypto_cancel">Cancel</string>
+ <string name="crypto_save">Save</string>
<!-- DECRYPT Layout -->
- <string name="crypto_category">Category</string>
<string name="action_search">Search</string>
<string name="password">Password:</string>
<string name="extra_content">Extra content:</string>
@@ -106,12 +99,6 @@
<!-- Preferences -->
<string name="pref_git_title">Git</string>
- <string name="pref_server_title">Server</string>
- <string name="pref_server_hint">server.com</string>
- <string name="pref_remote_title">Remote location</string>
- <string name="pref_remote_hint">path/to/repository</string>
- <string name="pref_git_username_title">Username</string>
- <string name="pref_git_username_hint">username</string>
<string name="pref_edit_server_info">Edit git server settings</string>
<string name="pref_edit_git_config">Edit git config</string>
<string name="pref_ssh_title">Import SSH key</string>
@@ -119,11 +106,8 @@
<string name="pref_ssh_see_key_title">View generated public SSH key</string>
<string name="pref_git_delete_repo">Delete repository</string>
<string name="pref_dialog_delete_title">Clear repository</string>
- <string name="pref_dialog_delete_msg">Do you want to delete the current password store directory? This will not clear your configuration.</string>
<string name="pref_crypto_title">Crypto</string>
<string name="pref_provider_title">Select OpenPGP Provider</string>
- <string name="pref_provider_account_title">Set your OpenPGP account</string>
- <string name="pref_provider_account_hint">mail@somewhere.tld</string>
<string name="pref_key_title">Select OpenPGP Key id</string>
<string name="pref_general_title">General</string>
<string name="pref_password_title">Password Show Time</string>
@@ -141,7 +125,6 @@
<string name="pref_autofill_enable_msg2">Once the service is on, a dialog will appear when you click on a password field in an app if a matching password for the app exists.</string>
<string name="pref_autofill_enable_msg3">Password Store attempts to match apps with passwords automatically. You can change this default setting and also matching settings per-app.</string>
<string name="pref_autofill_apps_title">App and website settings</string>
- <string name="pref_autofill_apps_hint">Customize autofill settings for specific apps.</string>
<string name="pref_autofill_default_title">Automatically match by default</string>
<string name="pref_autofill_default_hint">Default to \'Automatically match\' for apps without custom settings. Otherwise, \'Never match.\'</string>
<string name="pref_autofill_always_title">Always show dialog</string>
@@ -152,6 +135,12 @@
<string name="pref_external_repository">External repository</string>
<string name="pref_external_repository_summary">Use an external password repository</string>
<string name="pref_select_external_repository">Select external repository</string>
+ <string name="prefs_use_default_file_picker">Use default file picker</string>
+ <string name="prefs_clear_after_copy_title">Automatically clear the clipboard after copy</string>
+ <string name="prefs_clear_after_copy_summary">After an automatic copy or a manual copy of the password, the clipboard will be automatically cleared.</string>
+ <string name="prefs_export_passwords_title">Export Passwords</string>
+ <string name="prefs_export_passwords_summary">Exports the encrypted passwords to an external directory</string>
+ <string name="prefs_version">Version</string>
<!-- pwgen fragment -->
<string name="pwgen_generate">Generate</string>
@@ -187,13 +176,10 @@
<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>
<!-- Autofill -->
<string name="autofill_description">Autofills password fields in apps. Only works for Android versions 4.3 and up. Does not rely on the clipboard for Android versions 5.0 and up.</string>
- <string name="autofill_fill">Fill</string>
<string name="autofill_apps_default">Use default setting</string>
<string name="autofill_apps_first">Automatically match</string>
<string name="autofill_apps_match_ellipsis">Match with…</string>
@@ -203,9 +189,8 @@
<string name="autofill_pick">Pick…</string>
<string name="autofill_pick_and_match">Pick and match…</string>
<string name="refresh_list">Refresh list</string>
- <string name="settings">Settings</string>
<string name="no_repo_selected">No external repository selected</string>
- <string name="no_repo_selected2">No external repository selected</string>
<string name="send_plaintext_password_to">Send password as plaintext using…</string>
<string name="show_password">Show password</string>
+ <string name="repository_uri">Repository URI</string>
</resources>
diff --git a/app/src/main/res/xml/preference.xml b/app/src/main/res/xml/preference.xml
index cd072353..87e77aae 100644
--- a/app/src/main/res/xml/preference.xml
+++ b/app/src/main/res/xml/preference.xml
@@ -66,8 +66,8 @@
<CheckBoxPreference
android:defaultValue="true"
android:key="clear_after_copy"
- android:summary="After an automatic copy or a manual copy of the password, the clipboard will be automatically cleared."
- android:title="Automatically clear the clipboard after copy" />
+ android:summary="@string/prefs_clear_after_copy_summary"
+ android:title="@string/prefs_clear_after_copy_title" />
<CheckBoxPreference
android:defaultValue="true"
android:key="filter_recursively"
@@ -100,8 +100,8 @@
<PreferenceCategory android:title="@string/pref_misc_title">
<Preference
android:key="export_passwords"
- android:title="Export Passwords"
- android:summary="Exports the encrypted passwords to an external directory"/>
+ android:title="@string/prefs_export_passwords_title"
+ android:summary="@string/prefs_export_passwords_summary"/>
<CheckBoxPreference
android:defaultValue="false"
@@ -112,10 +112,10 @@
<CheckBoxPreference
android:defaultValue="false"
android:key="use_android_file_picker"
- android:title="Use default file picker" />
+ android:title="@string/prefs_use_default_file_picker" />
</PreferenceCategory>
<Preference
android:key="app_version"
- android:title="Version" />
+ android:title="@string/prefs_version" />
</PreferenceScreen>