Fix lint warnings (#319)
* Fix lint errors/warnings Fix a lot of lint errors and warnings. Most things are automatically applied fixes done with android studio: * externalize strings * remove unused code / classes / layouts / imports * migrate some fields to local variables * Remove dead code from comments Removed code that is commented out long ago. * remove unused resources * colors * strings * drawables * layouts * menus
@@ -6,12 +6,9 @@ import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.util.Log;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Spinner;
|
||||
|
||||
import com.robotium.solo.Solo;
|
||||
import com.zeapo.pwdstore.git.GitActivity;
|
||||
import com.zeapo.pwdstore.utils.PasswordRepository;
|
||||
|
||||
@@ -20,7 +17,6 @@ import org.apache.commons.io.FileUtils;
|
||||
import java.io.File;
|
||||
|
||||
public class GitActivityClone extends ActivityInstrumentationTestCase2<GitActivity> {
|
||||
private static final String TAG = "GitActTest";
|
||||
private Activity gitActivity;
|
||||
private Instrumentation mInstrumentation;
|
||||
private SharedPreferences settings;
|
||||
@@ -71,7 +67,7 @@ public class GitActivityClone extends ActivityInstrumentationTestCase2<GitActivi
|
||||
}
|
||||
|
||||
public void testCloneSshUser() throws Exception {
|
||||
final Solo solo = new Solo(getInstrumentation(), getActivity());
|
||||
// final Solo solo = new Solo(getInstrumentation(), getActivity());
|
||||
FileUtils.deleteDirectory(new File(gitActivity.getFilesDir() + gitActivity.getResources().getString(R.string.store_git)));
|
||||
// create the repository static variable in PasswordRepository
|
||||
PasswordRepository.getRepository(new File(gitActivity.getFilesDir() + gitActivity.getResources().getString(R.string.store_git)));
|
||||
|
@@ -6,9 +6,6 @@ import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.test.ActivityInstrumentationTestCase2;
|
||||
import android.test.ActivityTestCase;
|
||||
import android.test.InstrumentationTestCase;
|
||||
import android.util.Log;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Spinner;
|
||||
|
||||
|
@@ -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
|
||||
*/
|
||||
|
@@ -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());
|
||||
|
@@ -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();
|
||||
}
|
||||
}
|
||||
|
@@ -13,11 +13,6 @@ public class ToCloneOrNot extends Fragment {
|
||||
// Required empty public constructor
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
@@ -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: {
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
|
||||
|
@@ -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");
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
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());
|
||||
} 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());
|
||||
((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);
|
||||
// }
|
||||
} 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();
|
||||
// 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());
|
||||
} else if (operation.equals("SELECTFOLDER")){
|
||||
setContentView(R.layout.select_folder_layout);
|
||||
selectFolder(getIntent());
|
||||
((TextView) findViewById(R.id.crypto_password_category)).setText(cat + "/");
|
||||
edit(new Intent());
|
||||
break;
|
||||
}
|
||||
case "SELECTFOLDER":
|
||||
setContentView(R.layout.select_folder_layout);
|
||||
selectFolder(getIntent());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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())
|
||||
|
@@ -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()) {
|
||||
|
Before Width: | Height: | Size: 577 B |
Before Width: | Height: | Size: 450 B |
Before Width: | Height: | Size: 456 B |
Before Width: | Height: | Size: 324 B |
Before Width: | Height: | Size: 688 B |
Before Width: | Height: | Size: 543 B |
Before Width: | Height: | Size: 973 B |
Before Width: | Height: | Size: 765 B |
@@ -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>
|
@@ -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>
|
@@ -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"/>
|
||||
|
@@ -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"/>
|
||||
|
@@ -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>
|
@@ -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
|
||||
|
@@ -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>
|
@@ -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>
|
@@ -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:textColor="@color/accent"
|
||||
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" />
|
||||
android:text="PASSWORD FILE NAME HERE"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
|
||||
android:textColor="@color/accent"
|
||||
android:textSize="24dp"
|
||||
android:textStyle="bold"
|
||||
tools:ignore="HardcodedText" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
@@ -170,5 +172,4 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</ScrollView>
|
@@ -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"
|
||||
|
@@ -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
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
@@ -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 ',')"
|
||||
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 <alice@example.com>"
|
||||
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>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
||||
|
||||
|
@@ -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"
|
||||
|
@@ -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"
|
||||
|
@@ -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  </string>
|
||||
<string name="remove_commit_text">[ANDROID PwdStore] Remove  </string>
|
||||
<string name="edit_commit_text">[ANDROID PwdStore] Edit  </string>
|
||||
<string name="from_store">  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>
|
@@ -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  </string>
|
||||
<string name="remove_commit_text">[ANDROID PwdStore] Remove  </string>
|
||||
<string name="from_store">  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  </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>
|
||||
|
@@ -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  </string>
|
||||
<string name="remove_commit_text">[ANDROID PwdStore] Supprimer  </string>
|
||||
<string name="edit_commit_text">[ANDROID PwdStore] Editer  </string>
|
||||
<string name="from_store">  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>
|
||||
|
@@ -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] 追加  </string>
|
||||
<string name="remove_commit_text">[ANDROID PwdStore] 削除  </string>
|
||||
<string name="edit_commit_text">[ANDROID PwdStore] 編集  </string>
|
||||
<string name="from_store">  ストアから。</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>
|
||||
|
@@ -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>
|
@@ -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] Добавил  </string>
|
||||
<string name="remove_commit_text">[ANDROID PwdStore] Удалил  </string>
|
||||
<string name="edit_commit_text">[ANDROID PwdStore] Редактировал  </string>
|
||||
<string name="from_store">  из хранилища.</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>
|
||||
|
@@ -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>
|
@@ -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] 添加  </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  </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>
|
||||
|
@@ -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  </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  </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>
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
@@ -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  </string>
|
||||
<string name="remove_commit_text">[ANDROID PwdStore] Remove  </string>
|
||||
<string name="edit_commit_text">[ANDROID PwdStore] Edit  </string>
|
||||
<string name="from_store">  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>
|
||||
|
@@ -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>
|
||||
|