aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohamed Zenadi <zeapo@users.noreply.github.com>2016-06-20 00:17:41 +0200
committerGitHub <noreply@github.com>2016-06-20 00:17:41 +0200
commit7336c614e9ab3cc72f975e914a68640f7e87531e (patch)
treef7c75d423d360c71cdd497b8354e7526660375b5
parentfe591a9cb80fdc215be7c11d87de54fea08aa1e6 (diff)
parent7c0062e24f0da036761c0e8b2ef60be74b165e1b (diff)
Merge pull request #189 from DSIW/master
Some restyling
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/DividerItemDecoration.java51
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java7
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/UserPreference.java4
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java23
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java57
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_accept.pngbin401 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_cancel.pngbin353 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_copy.pngbin375 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_new.pngbin262 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_refresh.pngbin663 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_save.pngbin394 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_search.pngbin650 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_action_secure.pngbin0 -> 394 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_add_white_48dp.pngbin0 -> 97 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_clear_white_24dp.pngbin0 -> 221 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_content_copy_white_24dp.pngbin0 -> 203 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_delete_white_24dp.pngbin0 -> 161 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_done_white_24dp.pngbin0 -> 188 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_edit_white_24dp.png (renamed from app/src/main/res/drawable-hdpi/ic_action_edit.png)bin214 -> 214 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_folder_grey600_24dp.pngbin0 -> 140 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.pngbin0 -> 387 bytes
-rw-r--r--app/src/main/res/drawable-hdpi/ic_search_white_24dp.pngbin0 -> 396 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_accept.pngbin246 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_cancel.pngbin272 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_copy.pngbin284 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_edit.pngbin165 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_new.pngbin185 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_refresh.pngbin508 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_save.pngbin362 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_search.pngbin449 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_action_secure.pngbin0 -> 317 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_add_white_48dp.pngbin0 -> 97 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_clear_white_24dp.pngbin0 -> 175 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_content_copy_white_24dp.pngbin0 -> 134 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_delete_white_24dp.pngbin0 -> 115 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_done_white_24dp.pngbin0 -> 139 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_edit_white_24dp.pngbin0 -> 165 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_folder_grey600_24dp.pngbin0 -> 123 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.pngbin0 -> 254 bytes
-rw-r--r--app/src/main/res/drawable-mdpi/ic_search_white_24dp.pngbin0 -> 247 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_accept.pngbin475 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_cancel.pngbin415 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_copy.pngbin351 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_edit.pngbin241 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_new.pngbin234 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_refresh.pngbin895 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_save.pngbin441 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_search.pngbin827 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_action_secure.pngbin0 -> 510 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_add_white_48dp.pngbin0 -> 102 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_clear_white_24dp.pngbin0 -> 257 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_content_copy_white_24dp.pngbin0 -> 188 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.pngbin0 -> 151 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_done_white_24dp.pngbin0 -> 199 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_edit_white_24dp.pngbin0 -> 239 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_folder_grey600_24dp.pngbin0 -> 194 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.pngbin0 -> 509 bytes
-rw-r--r--app/src/main/res/drawable-xhdpi/ic_search_white_24dp.pngbin0 -> 465 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_accept.pngbin619 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_cancel.pngbin574 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_copy.pngbin464 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_edit.pngbin304 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_new.pngbin288 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_refresh.pngbin1239 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_save.pngbin495 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_search.pngbin1152 -> 0 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_action_secure.pngbin0 -> 624 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_add_white_48dp.pngbin0 -> 113 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_clear_white_24dp.pngbin0 -> 347 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_content_copy_white_24dp.pngbin0 -> 266 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.pngbin0 -> 194 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.pngbin0 -> 255 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_edit_white_24dp.pngbin0 -> 302 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_folder_grey600_24dp.pngbin0 -> 259 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.pngbin0 -> 734 bytes
-rw-r--r--app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.pngbin0 -> 728 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_add_white_48dp.pngbin0 -> 116 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_clear_white_24dp.pngbin0 -> 436 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_24dp.pngbin0 -> 329 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.pngbin0 -> 243 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_done_white_24dp.pngbin0 -> 308 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_edit_white_24dp.pngbin0 -> 355 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.pngbin0 -> 967 bytes
-rw-r--r--app/src/main/res/drawable-xxxhdpi/ic_search_white_24dp.pngbin0 -> 915 bytes
-rw-r--r--app/src/main/res/drawable/category_rectangle.xml15
-rw-r--r--app/src/main/res/drawable/divider.xml6
-rw-r--r--app/src/main/res/drawable/gray_rectangle.xml24
-rw-r--r--app/src/main/res/drawable/oval.xml37
-rw-r--r--app/src/main/res/drawable/password_rectangle.xml15
-rw-r--r--app/src/main/res/drawable/password_row_background.xml5
-rw-r--r--app/src/main/res/drawable/selected_rectangle.xml21
-rw-r--r--app/src/main/res/layout/activity_pgp_handler.xml1
-rw-r--r--app/src/main/res/layout/autofill_recycler_view.xml2
-rw-r--r--app/src/main/res/layout/decrypt_layout.xml26
-rw-r--r--app/src/main/res/layout/encrypt_layout.xml104
-rw-r--r--app/src/main/res/layout/password_recycler_view.xml10
-rw-r--r--app/src/main/res/layout/password_row_layout.xml66
-rw-r--r--app/src/main/res/menu/autofill_preference.xml2
-rw-r--r--app/src/main/res/menu/context_pass.xml4
-rw-r--r--app/src/main/res/menu/main_menu.xml8
-rw-r--r--app/src/main/res/menu/pgp_handler.xml4
-rw-r--r--app/src/main/res/menu/pgp_handler_new_password.xml15
-rw-r--r--app/src/main/res/values-de/strings.xml181
-rw-r--r--app/src/main/res/values/colors.xml2
-rw-r--r--app/src/main/res/values/strings.xml8
-rw-r--r--app/src/main/res/xml/preference.xml8
106 files changed, 428 insertions, 278 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/DividerItemDecoration.java b/app/src/main/java/com/zeapo/pwdstore/DividerItemDecoration.java
new file mode 100644
index 00000000..7bc66b62
--- /dev/null
+++ b/app/src/main/java/com/zeapo/pwdstore/DividerItemDecoration.java
@@ -0,0 +1,51 @@
+package com.zeapo.pwdstore;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.drawable.Drawable;
+import android.support.v4.content.ContextCompat;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+
+public class DividerItemDecoration extends RecyclerView.ItemDecoration {
+
+ private static final int[] ATTRS = new int[]{android.R.attr.listDivider};
+
+ private Drawable mDivider;
+
+ /**
+ * Default divider will be used
+ */
+ public DividerItemDecoration(Context context) {
+ final TypedArray styledAttributes = context.obtainStyledAttributes(ATTRS);
+ mDivider = styledAttributes.getDrawable(0);
+ styledAttributes.recycle();
+ }
+
+ /**
+ * Custom divider will be used
+ */
+ public DividerItemDecoration(Context context, int resId) {
+ mDivider = ContextCompat.getDrawable(context, resId);
+ }
+
+ @Override
+ public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
+ int left = parent.getPaddingLeft();
+ int right = parent.getWidth() - parent.getPaddingRight();
+
+ int childCount = parent.getChildCount();
+ for (int i = 0; i < childCount; i++) {
+ View child = parent.getChildAt(i);
+
+ RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child.getLayoutParams();
+
+ int top = child.getBottom() + params.bottomMargin;
+ int bottom = top + mDivider.getIntrinsicHeight();
+
+ mDivider.setBounds(left, top, right, bottom);
+ mDivider.draw(c);
+ }
+ }
+}
diff --git a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
index 1daa4f90..79401fbd 100644
--- a/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
+++ b/app/src/main/java/com/zeapo/pwdstore/PasswordFragment.java
@@ -74,8 +74,11 @@ public class PasswordFragment extends Fragment{
recyclerView = (RecyclerView) view.findViewById(R.id.pass_recycler);
recyclerView.setLayoutManager(mLayoutManager);
-//
-// // Set the adapter
+
+ // use divider
+ recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), R.drawable.divider));
+
+ // Set the adapter
recyclerView.setAdapter(recyclerAdapter);
final FloatingActionButton fab = (FloatingActionButton) view.findViewById(R.id.fab);
diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
index 77600b2b..82132978 100644
--- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
+++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.java
@@ -156,7 +156,7 @@ public class UserPreference extends AppCompatActivity {
});
final Preference externalRepo = findPreference("pref_select_external");
- externalRepo.setSummary(getPreferenceManager().getSharedPreferences().getString("git_external_repo", "No external repository selected"));
+ externalRepo.setSummary(getPreferenceManager().getSharedPreferences().getString("git_external_repo", callingActivity.getString(R.string.no_repo_selected)));
externalRepo.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
@@ -217,7 +217,7 @@ public class UserPreference extends AppCompatActivity {
public void onStart() {
super.onStart();
final SharedPreferences sharedPreferences = getPreferenceManager().getSharedPreferences();
- findPreference("pref_select_external").setSummary(getPreferenceManager().getSharedPreferences().getString("git_external_repo", "No external repository selected"));
+ findPreference("pref_select_external").setSummary(getPreferenceManager().getSharedPreferences().getString("git_external_repo", getString(R.string.no_repo_selected)));
findPreference("ssh_see_key").setEnabled(sharedPreferences.getBoolean("use_generated_key", false));
findPreference("git_delete_repo").setEnabled(!sharedPreferences.getBoolean("git_external", false));
Preference keyPref = findPreference("openpgp_key_id_pref");
diff --git a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
index a80e4800..f984ad31 100644
--- a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
+++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpHandler.java
@@ -81,6 +81,10 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
this.activity = this;
this.clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
+ if (getIntent().getStringExtra("Operation").equals("ENCRYPT")) {
+ setTitle("New password");
+ }
+
// some persistance
settings = PreferenceManager.getDefaultSharedPreferences(this);
String providerPackageName = settings.getString("openpgp_provider_list", "");
@@ -121,7 +125,11 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.pgp_handler, menu);
+ if (getIntent().getStringExtra("Operation").equals("ENCRYPT")) {
+ getMenuInflater().inflate(R.menu.pgp_handler_new_password, menu);
+ } else {
+ getMenuInflater().inflate(R.menu.pgp_handler, menu);
+ }
return true;
}
@@ -141,6 +149,13 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
break;
case R.id.edit_password:
editPassword();
+ case R.id.crypto_confirm_add:
+ encrypt(new Intent());
+ break;
+ case R.id.crypto_cancel_add:
+ setResult(RESULT_CANCELED);
+ finish();
+ return true;
}
return super.onOptionsItemSelected(item);
}
@@ -205,12 +220,6 @@ public class PgpHandler extends AppCompatActivity implements OpenPgpServiceConne
case R.id.crypto_show_button:
decryptAndVerify(new Intent());
break;
- case R.id.crypto_confirm_add:
- encrypt(new Intent());
- break;
- case R.id.crypto_cancel_add:
- finish();
- break;
case R.id.crypto_delete_button:
// deletePassword();
break;
diff --git a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java
index 45dd0d0b..cd64ecf7 100644
--- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java
@@ -1,13 +1,15 @@
package com.zeapo.pwdstore.utils;
+import android.graphics.Color;
+import android.os.Build;
import android.support.v7.view.ActionMode;
-import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.ImageView;
import android.widget.TextView;
import com.zeapo.pwdstore.PasswordFragment;
@@ -33,16 +35,16 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
public static class ViewHolder extends RecyclerView.ViewHolder {
// each data item is just a string in this case
public View view;
- public CardView card;
public TextView name;
public TextView type;
+ public ImageView typeImage;
public ViewHolder(View v) {
super(v);
view = v;
- card = (CardView) view.findViewById(R.id.password_card);
name = (TextView) view.findViewById(R.id.label);
type = (TextView) view.findViewById(R.id.type);
+ typeImage = (ImageView) view.findViewById(R.id.type_image);
}
}
@@ -69,21 +71,28 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
public void onBindViewHolder(final ViewHolder holder, int position) {
final PasswordItem pass = values.get(position);
holder.name.setText(pass.toString());
- int sdk = android.os.Build.VERSION.SDK_INT;
+ if (pass.getType() == PasswordItem.TYPE_CATEGORY) {
+ holder.typeImage.setImageResource(R.drawable.ic_folder_grey600_24dp);
+ holder.name.setText(pass.toString() + "/");
+ } else {
+ holder.typeImage.setImageResource(R.drawable.ic_action_secure);
+ holder.name.setText(pass.toString());
+ }
+ int sdk = Build.VERSION.SDK_INT;
+ holder.type.setText(pass.getFullPathName());
if (pass.getType() == PasswordItem.TYPE_CATEGORY) {
- holder.type.setText(pass.getFullPathName());
- holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.deep_orange_400));
+// holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_200));
} else {
- holder.type.setText(pass.getFullPathName());
- holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_400));
+// holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_50));
}
holder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mActionMode != null) {
- toggleSelection(holder.getAdapterPosition(), holder.card, pass.getType());
+ toggleSelection(holder.getAdapterPosition());
+ mActionMode.setTitle("" + selectedItems.size());
if (selectedItems.isEmpty()) {
mActionMode.finish();
} else if (selectedItems.size() == 1 && !canEdit) {
@@ -98,6 +107,7 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
} else {
listener.onFragmentInteraction(pass);
}
+ notifyItemChanged(holder.getAdapterPosition());
}
});
@@ -107,17 +117,27 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
if (mActionMode != null) {
return false;
}
- toggleSelection(holder.getAdapterPosition(), holder.card, pass.getType());
+ toggleSelection(holder.getAdapterPosition());
canEdit = pass.getType() == PasswordItem.TYPE_PASSWORD;
// Start the CAB using the ActionMode.Callback
mActionMode = activity.startSupportActionMode(mActionModeCallback);
+ mActionMode.setTitle("" + selectedItems.size());
mActionMode.invalidate();
+ notifyItemChanged(holder.getAdapterPosition());
return true;
}
});
// after removal, everything is rebound for some reason; views are shuffled?
- holder.view.setSelected(selectedItems.contains(position));
+ boolean selected = selectedItems.contains(position);
+ holder.view.setSelected(selected);
+ if (selected) {
+ holder.itemView.setBackgroundResource(R.color.deep_orange_200);
+ holder.type.setTextColor(Color.BLACK);
+ } else {
+ holder.itemView.setBackgroundResource(Color.alpha(1));
+ holder.type.setTextColor(activity.getColor(R.color.grey_500));
+ }
}
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
@@ -205,22 +225,9 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
updateSelectedItems(position, selectedItems);
}
- public void toggleSelection(int position, CardView card, char type) {
+ public void toggleSelection(int position) {
if (!selectedItems.remove(position)) {
selectedItems.add(position);
- if (type == PasswordItem.TYPE_CATEGORY) {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.deep_orange_200));
- }
- else {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_200));
- }
- } else {
- if (type == PasswordItem.TYPE_CATEGORY) {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.deep_orange_400));
- }
- else {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_400));
- }
}
}
diff --git a/app/src/main/res/drawable-hdpi/ic_action_accept.png b/app/src/main/res/drawable-hdpi/ic_action_accept.png
deleted file mode 100644
index 700fc815..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_accept.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_cancel.png b/app/src/main/res/drawable-hdpi/ic_action_cancel.png
deleted file mode 100644
index e206f296..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_cancel.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_copy.png b/app/src/main/res/drawable-hdpi/ic_action_copy.png
deleted file mode 100644
index f97df1d5..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_copy.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_new.png b/app/src/main/res/drawable-hdpi/ic_action_new.png
deleted file mode 100644
index d866d616..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_new.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_refresh.png b/app/src/main/res/drawable-hdpi/ic_action_refresh.png
deleted file mode 100644
index dae27903..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_refresh.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_save.png b/app/src/main/res/drawable-hdpi/ic_action_save.png
deleted file mode 100644
index 0fe36a1e..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_save.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_search.png b/app/src/main/res/drawable-hdpi/ic_action_search.png
deleted file mode 100644
index 772e3598..00000000
--- a/app/src/main/res/drawable-hdpi/ic_action_search.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_secure.png b/app/src/main/res/drawable-hdpi/ic_action_secure.png
new file mode 100644
index 00000000..287ae2fb
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_action_secure.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_add_white_48dp.png b/app/src/main/res/drawable-hdpi/ic_add_white_48dp.png
new file mode 100644
index 00000000..0fdced8f
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_add_white_48dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_clear_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_clear_white_24dp.png
new file mode 100644
index 00000000..ceb1a1ee
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_clear_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_content_copy_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_content_copy_white_24dp.png
new file mode 100644
index 00000000..70eb0737
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_content_copy_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png
new file mode 100644
index 00000000..4a9f7694
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_done_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_done_white_24dp.png
new file mode 100644
index 00000000..c278b6c2
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_done_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_edit.png b/app/src/main/res/drawable-hdpi/ic_edit_white_24dp.png
index 3ecfd46f..d3ff58dc 100644
--- a/app/src/main/res/drawable-hdpi/ic_action_edit.png
+++ b/app/src/main/res/drawable-hdpi/ic_edit_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_folder_grey600_24dp.png b/app/src/main/res/drawable-hdpi/ic_folder_grey600_24dp.png
new file mode 100644
index 00000000..afb9b31e
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_folder_grey600_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.png
new file mode 100644
index 00000000..ffa7be93
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png
new file mode 100644
index 00000000..bbfbc96c
--- /dev/null
+++ b/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_accept.png b/app/src/main/res/drawable-mdpi/ic_action_accept.png
deleted file mode 100644
index 41107b87..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_accept.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_cancel.png b/app/src/main/res/drawable-mdpi/ic_action_cancel.png
deleted file mode 100644
index 70e6d2d2..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_cancel.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_copy.png b/app/src/main/res/drawable-mdpi/ic_action_copy.png
deleted file mode 100644
index d846e72c..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_copy.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_edit.png b/app/src/main/res/drawable-mdpi/ic_action_edit.png
deleted file mode 100644
index efad93e5..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_edit.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_new.png b/app/src/main/res/drawable-mdpi/ic_action_new.png
deleted file mode 100644
index f17e7980..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_new.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_refresh.png b/app/src/main/res/drawable-mdpi/ic_action_refresh.png
deleted file mode 100644
index 94ab6f4c..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_refresh.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_save.png b/app/src/main/res/drawable-mdpi/ic_action_save.png
deleted file mode 100644
index 664260d8..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_save.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_search.png b/app/src/main/res/drawable-mdpi/ic_action_search.png
deleted file mode 100644
index 4edb1ff9..00000000
--- a/app/src/main/res/drawable-mdpi/ic_action_search.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_action_secure.png b/app/src/main/res/drawable-mdpi/ic_action_secure.png
new file mode 100644
index 00000000..d4921723
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_action_secure.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_add_white_48dp.png b/app/src/main/res/drawable-mdpi/ic_add_white_48dp.png
new file mode 100644
index 00000000..67bb598e
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_add_white_48dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_clear_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_clear_white_24dp.png
new file mode 100644
index 00000000..af7f8288
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_clear_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_content_copy_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_content_copy_white_24dp.png
new file mode 100644
index 00000000..80c06955
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_content_copy_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png
new file mode 100644
index 00000000..e2f5f355
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_delete_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_done_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_done_white_24dp.png
new file mode 100644
index 00000000..6d84e143
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_done_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_edit_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_edit_white_24dp.png
new file mode 100644
index 00000000..12b09f1d
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_edit_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_folder_grey600_24dp.png b/app/src/main/res/drawable-mdpi/ic_folder_grey600_24dp.png
new file mode 100644
index 00000000..88cb71c3
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_folder_grey600_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.png
new file mode 100644
index 00000000..97e42b52
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-mdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_search_white_24dp.png
new file mode 100644
index 00000000..faefc59c
--- /dev/null
+++ b/app/src/main/res/drawable-mdpi/ic_search_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_accept.png b/app/src/main/res/drawable-xhdpi/ic_action_accept.png
deleted file mode 100644
index 6ee32b64..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_accept.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_cancel.png b/app/src/main/res/drawable-xhdpi/ic_action_cancel.png
deleted file mode 100644
index d1634205..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_cancel.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_copy.png b/app/src/main/res/drawable-xhdpi/ic_action_copy.png
deleted file mode 100644
index a6e1aa29..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_copy.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_edit.png b/app/src/main/res/drawable-xhdpi/ic_action_edit.png
deleted file mode 100644
index 559aac98..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_edit.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_new.png b/app/src/main/res/drawable-xhdpi/ic_action_new.png
deleted file mode 100644
index dde2141f..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_new.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_refresh.png b/app/src/main/res/drawable-xhdpi/ic_action_refresh.png
deleted file mode 100644
index ab4ab9da..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_refresh.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_save.png b/app/src/main/res/drawable-xhdpi/ic_action_save.png
deleted file mode 100644
index dde278b5..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_save.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_search.png b/app/src/main/res/drawable-xhdpi/ic_action_search.png
deleted file mode 100644
index 19658e4a..00000000
--- a/app/src/main/res/drawable-xhdpi/ic_action_search.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_secure.png b/app/src/main/res/drawable-xhdpi/ic_action_secure.png
new file mode 100644
index 00000000..2a089838
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_action_secure.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_add_white_48dp.png b/app/src/main/res/drawable-xhdpi/ic_add_white_48dp.png
new file mode 100644
index 00000000..d64c22e9
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_add_white_48dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_clear_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_clear_white_24dp.png
new file mode 100644
index 00000000..b7c7ffd0
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_clear_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_content_copy_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_content_copy_white_24dp.png
new file mode 100644
index 00000000..537fd4e8
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_content_copy_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png
new file mode 100644
index 00000000..388b5b06
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_done_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_done_white_24dp.png
new file mode 100644
index 00000000..3b2b65d2
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_done_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_edit_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_edit_white_24dp.png
new file mode 100644
index 00000000..5a06bff5
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_edit_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_folder_grey600_24dp.png b/app/src/main/res/drawable-xhdpi/ic_folder_grey600_24dp.png
new file mode 100644
index 00000000..7f135821
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_folder_grey600_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.png
new file mode 100644
index 00000000..1989184b
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png
new file mode 100644
index 00000000..bfc3e393
--- /dev/null
+++ b/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_accept.png b/app/src/main/res/drawable-xxhdpi/ic_action_accept.png
deleted file mode 100644
index 68c41dec..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_accept.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_cancel.png b/app/src/main/res/drawable-xxhdpi/ic_action_cancel.png
deleted file mode 100644
index 5dc21435..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_cancel.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_copy.png b/app/src/main/res/drawable-xxhdpi/ic_action_copy.png
deleted file mode 100644
index a381cdc3..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_copy.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_edit.png b/app/src/main/res/drawable-xxhdpi/ic_action_edit.png
deleted file mode 100644
index 29046d95..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_edit.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_new.png b/app/src/main/res/drawable-xxhdpi/ic_action_new.png
deleted file mode 100644
index c42c2bfb..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_new.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png b/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png
deleted file mode 100644
index 44ee117e..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_refresh.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_save.png b/app/src/main/res/drawable-xxhdpi/ic_action_save.png
deleted file mode 100644
index ccf8c82c..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_save.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_search.png b/app/src/main/res/drawable-xxhdpi/ic_action_search.png
deleted file mode 100644
index a1086388..00000000
--- a/app/src/main/res/drawable-xxhdpi/ic_action_search.png
+++ /dev/null
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_secure.png b/app/src/main/res/drawable-xxhdpi/ic_action_secure.png
new file mode 100644
index 00000000..d8c094ed
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_action_secure.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_add_white_48dp.png b/app/src/main/res/drawable-xxhdpi/ic_add_white_48dp.png
new file mode 100644
index 00000000..7e699137
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_add_white_48dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_clear_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_clear_white_24dp.png
new file mode 100644
index 00000000..6b717e0d
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_clear_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_content_copy_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_content_copy_white_24dp.png
new file mode 100644
index 00000000..9dff893e
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_content_copy_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png
new file mode 100644
index 00000000..3fcdfdb5
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.png
new file mode 100644
index 00000000..0ebb5555
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_edit_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_edit_white_24dp.png
new file mode 100644
index 00000000..02e19d04
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_edit_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_folder_grey600_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_folder_grey600_24dp.png
new file mode 100644
index 00000000..5ab94892
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_folder_grey600_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.png
new file mode 100644
index 00000000..1692d8a2
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png
new file mode 100644
index 00000000..abbb9895
--- /dev/null
+++ b/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_add_white_48dp.png b/app/src/main/res/drawable-xxxhdpi/ic_add_white_48dp.png
new file mode 100644
index 00000000..165c907d
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_add_white_48dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_clear_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_clear_white_24dp.png
new file mode 100644
index 00000000..39641921
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_clear_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_24dp.png
new file mode 100644
index 00000000..4ddee9ef
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_content_copy_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png
new file mode 100644
index 00000000..8d322aa9
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_delete_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_done_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_done_white_24dp.png
new file mode 100644
index 00000000..d670618c
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_done_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_edit_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_edit_white_24dp.png
new file mode 100644
index 00000000..d6668a05
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_edit_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.png
new file mode 100644
index 00000000..f5beca25
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable-xxxhdpi/ic_search_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_search_white_24dp.png
new file mode 100644
index 00000000..dd5adfc7
--- /dev/null
+++ b/app/src/main/res/drawable-xxxhdpi/ic_search_white_24dp.png
Binary files differ
diff --git a/app/src/main/res/drawable/category_rectangle.xml b/app/src/main/res/drawable/category_rectangle.xml
deleted file mode 100644
index 1516662d..00000000
--- a/app/src/main/res/drawable/category_rectangle.xml
+++ /dev/null
@@ -1,15 +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:topLeftRadius="2dp" android:bottomLeftRadius="2dp"/>
- <solid android:color="@color/deep_orange_500" />
-
- <padding android:bottom="16dp"
- android:left="16dp"
- android:right="16dp"
- android:top="16dp" />
- </shape>
- </item>
-</layer-list> \ No newline at end of file
diff --git a/app/src/main/res/drawable/divider.xml b/app/src/main/res/drawable/divider.xml
new file mode 100644
index 00000000..cf2134ff
--- /dev/null
+++ b/app/src/main/res/drawable/divider.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+ <size android:height="1dp" />
+ <solid android:color="@color/grey_300" />
+</shape> \ No newline at end of file
diff --git a/app/src/main/res/drawable/gray_rectangle.xml b/app/src/main/res/drawable/gray_rectangle.xml
deleted file mode 100644
index b1858c80..00000000
--- a/app/src/main/res/drawable/gray_rectangle.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <item>
- <shape android:shape="rectangle"
- android:dither="true">
- <corners android:radius="2dp"/>
- <solid android:color="#ccc" />
-
- </shape>
- </item>
-
- <item android:bottom="2dp">
- <shape android:shape="rectangle" android:dither="true">
- <corners android:radius="2dp" />
- <solid android:color="@android:color/darker_gray" />
-
- <padding android:bottom="8dp"
- android:left="8dp"
- android:right="8dp"
- android:top="8dp" />
- </shape>
- </item>
-</layer-list> \ No newline at end of file
diff --git a/app/src/main/res/drawable/oval.xml b/app/src/main/res/drawable/oval.xml
deleted file mode 100644
index d2149d04..00000000
--- a/app/src/main/res/drawable/oval.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item>
- <shape android:shape="oval" android:dither="true">
- <corners android:radius="2dp"/>
- <solid android:color="#eee" />
- <gradient
- android:startColor="#aaa"
- android:centerColor="#aaa"
- android:endColor="@android:color/transparent"
- android:gradientRadius="55"
- android:type="radial"
- />
-
- <padding android:bottom="5dp"
- android:left="5dp"
- android:right="5dp"
- android:top="5dp" />
- </shape>
- </item>
-
- <item>
- <shape android:shape="oval" android:dither="true">
- <corners android:radius="2dp" />
- <solid android:color="@android:color/white" />
-
- <padding android:bottom="8dp"
- android:left="8dp"
- android:right="8dp"
- android:top="8dp" />
- </shape>
- </item>
-
-
-</layer-list> \ No newline at end of file
diff --git a/app/src/main/res/drawable/password_rectangle.xml b/app/src/main/res/drawable/password_rectangle.xml
deleted file mode 100644
index e1a19127..00000000
--- a/app/src/main/res/drawable/password_rectangle.xml
+++ /dev/null
@@ -1,15 +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:topLeftRadius="2dp" android:bottomLeftRadius="2dp"/>
- <solid android:color="@color/blue_grey_500" />
-
- <padding android:bottom="16dp"
- android:left="16dp"
- android:right="16dp"
- android:top="16dp" />
- </shape>
- </item>
-</layer-list> \ No newline at end of file
diff --git a/app/src/main/res/drawable/password_row_background.xml b/app/src/main/res/drawable/password_row_background.xml
deleted file mode 100644
index 8f39b056..00000000
--- a/app/src/main/res/drawable/password_row_background.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_selected="true" android:drawable="@drawable/selected_rectangle" />
- <item android:drawable="@drawable/rectangle" />
-</selector> \ No newline at end of file
diff --git a/app/src/main/res/drawable/selected_rectangle.xml b/app/src/main/res/drawable/selected_rectangle.xml
deleted file mode 100644
index ec8d2ad8..00000000
--- a/app/src/main/res/drawable/selected_rectangle.xml
+++ /dev/null
@@ -1,21 +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="@color/blue_grey_200" />
-
- </shape>
- </item>
-
- <item android:bottom="2dp" android:left="1dp" android:right="1dp">
- <shape android:shape="rectangle" android:dither="true">
- <corners android:radius="2dp" />
- <solid android:color="@color/blue_grey_100" />
-
- <padding android:bottom="2dp" android:left="1dp"/>
- </shape>
- </item>
-</layer-list> \ No newline at end of file
diff --git a/app/src/main/res/layout/activity_pgp_handler.xml b/app/src/main/res/layout/activity_pgp_handler.xml
index b5dfba53..3c79b37d 100644
--- a/app/src/main/res/layout/activity_pgp_handler.xml
+++ b/app/src/main/res/layout/activity_pgp_handler.xml
@@ -13,7 +13,6 @@
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/rectangle"
android:orientation="horizontal">
<TextView
diff --git a/app/src/main/res/layout/autofill_recycler_view.xml b/app/src/main/res/layout/autofill_recycler_view.xml
index 7991341d..0b637440 100644
--- a/app/src/main/res/layout/autofill_recycler_view.xml
+++ b/app/src/main/res/layout/autofill_recycler_view.xml
@@ -21,7 +21,7 @@
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
- android:src="@drawable/ic_action_new"
+ android:src="@drawable/ic_add_white_48dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
diff --git a/app/src/main/res/layout/decrypt_layout.xml b/app/src/main/res/layout/decrypt_layout.xml
index b86005c2..6c8fc1ff 100644
--- a/app/src/main/res/layout/decrypt_layout.xml
+++ b/app/src/main/res/layout/decrypt_layout.xml
@@ -10,35 +10,44 @@
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
+ android:padding="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/rectangle"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@android:color/holo_blue_light"
+ android:textColor="@color/grey_500"
android:text="CATEGORY HERE"
android:id="@+id/crypto_password_category"
android:layout_gravity="center_vertical"
- android:layout_marginLeft="@dimen/activity_horizontal_margin"/>
+ android:textSize="18dp"
+ android:textIsSelectable="false"
+ android:layout_marginLeft="16dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@android:color/holo_orange_dark"
+ 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_gravity="center_vertical"
- android:layout_marginLeft="@dimen/activity_horizontal_margin"/>
+ android:layout_marginLeft="@dimen/activity_horizontal_margin"
+ android:textSize="24dp" />
</LinearLayout>
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:src="@drawable/divider"
+ android:layout_marginTop="16dp"
+ android:layout_marginBottom="16dp" />
+
<ProgressBar
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
@@ -61,12 +70,7 @@
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:background="@drawable/rectangle"
android:layout_marginTop="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:paddingBottom="@dimen/activity_vertical_margin"
android:visibility="invisible">
<GridLayout
diff --git a/app/src/main/res/layout/encrypt_layout.xml b/app/src/main/res/layout/encrypt_layout.xml
index 84fe99c3..98a6b04d 100644
--- a/app/src/main/res/layout/encrypt_layout.xml
+++ b/app/src/main/res/layout/encrypt_layout.xml
@@ -5,25 +5,24 @@
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.zeapo.pwdstore.crypto.PgpHandler"
- android:background="#eee">
+ android:background="#eee"
+ android:padding="@dimen/activity_horizontal_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/rectangle"
- android:orientation="horizontal"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin">
+ android:orientation="vertical">
<TextView
- android:id="@+id/crypto_password_category"
- android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textStyle="bold"
- android:textColor="@android:color/holo_blue_dark"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="CATEGORY/"/>
+ android:textColor="@color/grey_500"
+ android:text="CATEGORY HERE"
+ android:id="@+id/crypto_password_category"
+ android:layout_gravity="center_vertical"
+ android:textSize="18dp"
+ android:textIsSelectable="false"
+ android:layout_marginLeft="@dimen/activity_horizontal_margin" />
<EditText
android:layout_gravity="center_vertical"
@@ -31,27 +30,24 @@
android:layout_height="wrap_content"
android:id="@+id/crypto_password_file_edit"
android:hint="@string/crypto_name_hint"
- android:textColor="@android:color/holo_orange_dark"/>
-
+ android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"
+ android:textSize="24dp"
+ android:textColor="@color/accent" />
</LinearLayout>
-
<ScrollView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:layout_marginBottom="@dimen/activity_vertical_margin"
- android:background="@drawable/rectangle"
android:layout_weight="1">
<LinearLayout
android:id="@+id/crypto_container"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_marginTop="@dimen/activity_vertical_margin"
- android:layout_height="wrap_content"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin">
+ android:layout_height="wrap_content">
- <LinearLayout
+ <RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
@@ -59,20 +55,29 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
- android:text="@string/crypto_pass_label"/>
- <EditText
- android:id="@+id/crypto_password_edit"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:typeface="monospace"
- android:layout_weight="1"/>
- <Button
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:id="@+id/generate_password"
- android:text="@string/pwd_generate_button"
- android:onClick="handleClick"/>
- </LinearLayout>
+ android:text="@string/crypto_pass_label"
+ android:id="@+id/textView2"
+ android:layout_centerVertical="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true" />
+ </RelativeLayout>
+
+ <EditText
+ android:id="@+id/crypto_password_edit"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:typeface="monospace"
+ android:layout_weight="1"
+ android:layout_toRightOf="@+id/textView2"
+ android:layout_toEndOf="@+id/textView2" />
+
+ <Button
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:id="@+id/generate_password"
+ android:text="@string/pwd_generate_button"
+ android:onClick="handleClick"
+ android:layout_gravity="right" />
<TextView
android:layout_width="wrap_content"
@@ -92,37 +97,4 @@
</ScrollView>
- <RelativeLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="8dp"
- android:paddingBottom="8dp"
- android:background="@android:color/darker_gray"
- android:layout_weight="0">
- <ImageButton
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:src="@drawable/ic_action_save"
- android:background="@drawable/blue_rectangle"
- android:id="@+id/crypto_confirm_add"
- android:onClick="handleClick"
- android:layout_alignParentTop="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true" />
-
- <ImageButton
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:src="@drawable/ic_action_cancel"
- android:background="@drawable/red_rectangle"
- android:id="@+id/crypto_cancel_add"
- android:onClick="handleClick"
- android:layout_alignParentTop="true"
- android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true" />
- </RelativeLayout>
-
-
</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/password_recycler_view.xml b/app/src/main/res/layout/password_recycler_view.xml
index 1b922a17..bef664ba 100644
--- a/app/src/main/res/layout/password_recycler_view.xml
+++ b/app/src/main/res/layout/password_recycler_view.xml
@@ -11,21 +11,17 @@
android:id="@+id/pass_recycler"
android:scrollbars="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:layout_height="match_parent"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
- android:src="@drawable/ic_action_new"
+ android:src="@drawable/ic_add_white_48dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
app:elevation="6dp"
app:pressedTranslationZ="12dp"
- app:backgroundTint="@color/blue_grey_500"
+ app:backgroundTint="@color/accent"
app:rippleColor="@color/blue_grey_50"
app:borderWidth="0dp"
android:layout_margin="@dimen/fab_compat_margin"
diff --git a/app/src/main/res/layout/password_row_layout.xml b/app/src/main/res/layout/password_row_layout.xml
index 2ad69762..5fd62249 100644
--- a/app/src/main/res/layout/password_row_layout.xml
+++ b/app/src/main/res/layout/password_row_layout.xml
@@ -1,40 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="4dp"
- android:layout_marginBottom="4dp">
+ android:background="?android:attr/activatedBackgroundIndicator">
- <android.support.v7.widget.CardView
- xmlns:card_view="http://schemas.android.com/apk/res-auto"
- android:id="@+id/password_card"
- android:layout_gravity="center"
+ <RelativeLayout
android:layout_width="match_parent"
- android:layout_height="60dp"
- card_view:contentPaddingTop="4dp"
- card_view:contentPaddingLeft="4dp"
- card_view:cardCornerRadius="4dp"
- card_view:cardElevation="3dp"
- card_view:cardBackgroundColor="@color/light_blue_50">
+ android:layout_height="wrap_content"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:gravity="left">
+
+ <ImageView
+ android:layout_width="40dp"
+ android:layout_height="32dp"
+ android:id="@+id/type_image"
+ android:src="@drawable/ic_folder_grey600_24dp"
+ android:alpha="0.5"
+ android:layout_centerVertical="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:paddingRight="8dp" />
<TextView
android:id="@+id/type"
- android:text="TYPE"
- android:layout_width="match_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@android:color/white"
- android:textStyle="italic"
- android:maxLines="1" />
+ android:maxLines="1"
+ android:ellipsize="start"
+ 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" />
+
<TextView
android:id="@+id/label"
- android:text="FILE_NAME"
- android:layout_width="match_parent"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
- android:padding="8dp"
- android:textColor="@android:color/white"
- android:textStyle="bold" />
- </android.support.v7.widget.CardView>
- </LinearLayout> \ No newline at end of file
+ android:text="FILE_NAME"
+ android:textColor="@android:color/black"
+ android:textSize="18dp"
+ android:layout_below="@+id/type"
+ android:layout_alignLeft="@+id/type"
+ android:layout_alignStart="@+id/type" />
+ </RelativeLayout>
+
+</LinearLayout> \ No newline at end of file
diff --git a/app/src/main/res/menu/autofill_preference.xml b/app/src/main/res/menu/autofill_preference.xml
index 77ce95f4..31f694e0 100644
--- a/app/src/main/res/menu/autofill_preference.xml
+++ b/app/src/main/res/menu/autofill_preference.xml
@@ -4,7 +4,7 @@
tools:context=".pwdstore.autofill.AutofillPreferenceActivity">
<item
android:id="@+id/action_search"
- android:icon="@drawable/ic_action_search"
+ android:icon="@drawable/ic_search_white_24dp"
android:title="@string/action_search"
pwstore:actionViewClass="android.support.v7.widget.SearchView"
pwstore:showAsAction="ifRoom|collapseActionView"/>
diff --git a/app/src/main/res/menu/context_pass.xml b/app/src/main/res/menu/context_pass.xml
index 30008abc..ac0d88ab 100644
--- a/app/src/main/res/menu/context_pass.xml
+++ b/app/src/main/res/menu/context_pass.xml
@@ -4,12 +4,12 @@
tools:context=".pwdstore">
<item android:id="@+id/menu_edit_password"
- android:icon="@drawable/ic_action_edit"
+ android:icon="@drawable/ic_edit_white_24dp"
app:showAsAction="ifRoom"
android:title="Edit"/>
<item android:id="@+id/menu_delete_password"
- android:icon="@drawable/ic_action_discard"
+ android:icon="@drawable/ic_delete_white_24dp"
app:showAsAction="ifRoom"
android:title="Delete"/>
diff --git a/app/src/main/res/menu/main_menu.xml b/app/src/main/res/menu/main_menu.xml
index af6a84c7..730b7533 100644
--- a/app/src/main/res/menu/main_menu.xml
+++ b/app/src/main/res/menu/main_menu.xml
@@ -5,7 +5,7 @@
<item android:id="@+id/action_search"
android:title="@string/action_search"
- android:icon="@drawable/ic_action_search"
+ android:icon="@drawable/ic_search_white_24dp"
pwstore:showAsAction="ifRoom|collapseActionView"
pwstore:actionViewClass="android.support.v7.widget.SearchView" />
@@ -20,12 +20,12 @@
android:title="@string/git_push"/>
<item android:id="@+id/refresh"
- android:title="Refresh list"
+ android:title="@string/refresh_list"
pwstore:showAsAction="never"
- android:icon="@drawable/ic_action_refresh"/>
+ android:icon="@drawable/ic_refresh_white_24dp"/>
<item android:id="@+id/user_pref"
- android:title="Settings"
+ android:title="@string/action_settings"
android:orderInCategory="100"/>
</menu>
diff --git a/app/src/main/res/menu/pgp_handler.xml b/app/src/main/res/menu/pgp_handler.xml
index 233a0940..fbdef0c2 100644
--- a/app/src/main/res/menu/pgp_handler.xml
+++ b/app/src/main/res/menu/pgp_handler.xml
@@ -3,12 +3,12 @@
xmlns:pwstore="http://schemas.android.com/apk/res-auto"
tools:context="com.zeapo.pwdstore.crypto.PgpHandler" >
<item android:title="Copy password"
- android:icon="@drawable/ic_action_copy"
+ android:icon="@drawable/ic_content_copy_white_24dp"
pwstore:showAsAction="ifRoom"
android:id="@+id/copy_password"
/>
<item android:title="Edit password"
- android:icon="@drawable/ic_action_edit"
+ android:icon="@drawable/ic_edit_white_24dp"
pwstore:showAsAction="ifRoom"
android:id="@+id/edit_password"
/>
diff --git a/app/src/main/res/menu/pgp_handler_new_password.xml b/app/src/main/res/menu/pgp_handler_new_password.xml
new file mode 100644
index 00000000..0e2ef32c
--- /dev/null
+++ b/app/src/main/res/menu/pgp_handler_new_password.xml
@@ -0,0 +1,15 @@
+<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.crypto.PgpHandler" >
+ <item android:title="Cancel"
+ android:icon="@drawable/ic_clear_white_24dp"
+ pwstore:showAsAction="ifRoom"
+ android:id="@+id/crypto_cancel_add"
+ />
+ <item android:title="Save"
+ android:icon="@drawable/ic_done_white_24dp"
+ pwstore:showAsAction="ifRoom"
+ android:id="@+id/crypto_confirm_add"
+ />
+</menu>
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
new file mode 100644
index 00000000..42093238
--- /dev/null
+++ b/app/src/main/res/values-de/strings.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <!-- 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>
+ <string name="dialog_do_not_delete">Abbruch</string>
+ <string name="title_activity_git_clone">Repository Informationen</string>
+
+ <!-- Password Store -->
+ <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>
+
+ <!-- git commits -->
+ <string name="initialization_commit_text">[ANDROID PwdStore] Initialized store with keyID: </string>
+ <string name="add_commit_text">[ANDROID PwdStore] Add &#160;</string>
+ <string name="remove_commit_text">[ANDROID PwdStore] Remove &#160;</string>
+ <string name="from_store">&#160; from store.</string>
+
+ <!-- PGPHandler -->
+ <string name="provider_toast_text">Kein OpenPGP-Provider ausgewählt!</string>
+ <string name="okc_progress_text">Warte auf OpenKeychain...</string>
+ <string name="clipboard_beginning_toast_text">Passwort ist in der Zwischen ablage, du hast </string>
+ <string name="clipboard_ending_toast_text"> Sekunden, um es einzufügen.</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>
+
+ <!-- Git Async Task -->
+ <string name="running_dialog_text">Befehl läuft...</string>
+ <string name="jgit_error_dialog_title">Internal Exception occurred</string>
+ <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>
+ <string name="ssh_preferences_dialog_title">Kein SSH-Key angegeben</string>
+ <string name="ssh_preferences_dialog_import">Import</string>
+ <string name="ssh_preferences_dialog_generate">Generieren</string>
+ <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>
+
+ <!-- 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>
+
+ <string name="server_name">Server</string>
+ <string name="server_protocol">Protokoll</string>
+ <string name="server_url">Server URL</string>
+ <string name="server_url_hint">server.com</string>
+ <string name="server_port_hint">22</string>
+ <string name="default_ssh_port">22</string>
+ <string name="default_https_port">443</string>
+ <string name="server_path">Repo-Pfad</string>
+ <string name="server_path_hint">path/to/pass</string>
+ <string name="server_user">Nutzername</string>
+ <string name="server_user_hint">Git-Nutzername</string>
+
+ <string name="server_resulting_url">Erzeugte URL</string>
+ <string name="connection_mode">Authentifizierungsmethode</string>
+
+ <string name="warn_malformed_url_port">Wenn du einen anderen Port nutzt, setze den absoluten Pfad (startet mit "/")</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>
+
+ <!-- DECRYPT Layout -->
+ <string name="crypto_category">Kategorie</string>
+ <string name="action_search">Suche</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">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_ssh_title">Importiere SSH-Key</string>
+ <string name="pref_ssh_keygen_title">Erstelle SSH-Schlüsselpaar</string>
+ <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>
+ <string name="pref_password_dialog_title">Nach dieser Anzahl der Sekunden wird das Passwort aus der Zwischenablage gelöscht.</string>
+ <string name="pref_copy_title">Kopiere Passwort automatisch</string>
+ <string name="pref_copy_dialog_title">Kopiert das Passwort in die Zwischenablage, wenn der Eintrag entschlüsselt wurde.</string>
+ <string name="ssh_key_success_dialog_title">SSH-Key importiert</string>
+ <string name="ssh_key_error_dialog_title">Fehler während des Imports des SSH-Keys</string>
+ <string name="ssh_key_error_dialog_text">Nachricht : \n</string>
+ <string name="pref_recursive_filter">Suche in Unterordnern</string>
+ <string name="pref_recursive_filter_hint">Findet Passwörter auch in Unterordnern.</string>
+ <string name="pref_autofill_enable_title">Autofill aktivieren</string>
+ <string name="pref_autofill_enable_msg">Wähle OK, um zu den Bedienungshilfen-Einstellungen zu gelangen. Dort aktiviere oder deaktiviere den Password Store unter Dienste.</string>
+ <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>
+ <string name="pref_clear_clipboard_title">Lösche die Zwischenablage 20-mal</string>
+ <string name="pref_clear_clipboard_hint">Speichert Nonsense 20-mal anstatt 1-mal in der Zwischenablage. Nützlich bspw. auf Samsung-Geräten, die den Verlauf der Zwischenablage speichern.</string>
+ <string name="pref_git_delete_repo_summary">Lösche das lokale (versteckte) Repository</string>
+ <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>
+
+ <!-- pwgen fragment -->
+ <string name="pwgen_generate">Generieren</string>
+ <string name="pwgen_include">Include</string>
+ <string name="pwgen_numerals">Nummern</string>
+ <string name="pwgen_symbols">Symbole</string>
+ <string name="pwgen_uppercase">Großbuchstaben</string>
+ <string name="pwgen_ambiguous">Zweideutig</string>
+
+ <!-- ssh keygen fragment -->
+ <string name="ssh_keygen_length">Länge</string>
+ <string name="ssh_keygen_passphrase">Passwort</string>
+ <string name="ssh_keygen_comment">Kommentar</string>
+ <string name="ssh_keygen_generate">Generieren</string>
+ <string name="ssh_keygen_copy">Kopieren</string>
+ <string name="ssh_keygen_tip">Füge den Public-Key zu deinem Git-Server hinzu.</string>
+ <string name="ssh_keygen_show_passphrase">Zeige Passwort</string>
+
+ <!-- Misc -->
+ <string name="dialog_ok">OK</string>
+ <string name="dialog_yes">Ja</string>
+ <string name="dialog_no">Nein</string>
+ <string name="dialog_positive">Auf dem Weg...</string>
+ <string name="dialog_negative">Nah... später</string>
+ <string name="dialog_oops">Oops...</string>
+ <string name="dialog_cancel">Abbruch</string>
+ <string name="git_sync">Synchronisiere Repository</string>
+ <string name="git_pull">Git Pull</string>
+ <string name="git_push">Git Push</string>
+ <string name="refresh_list">Aktualisieren</string>
+ <string name="show_password_pref_title">Zeige das Password</string>
+ <string name="show_password_pref_summary">Soll das entschlüsselte Passwort sichtbar sein? Dies deaktiviert nicht das Kopieren.</string>
+ <string name="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>
+ <string name="autofill_apps_match">Abgleichen mit</string>
+ <string name="autofill_apps_never">Niemals abgleichen</string>
+ <string name="autofill_apps_delete">Löschen</string>
+ <string name="no_repo_selected">Kein externes Repository ausgewählt</string>
+</resources>
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 0a789153..96ebf1bb 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
+ <color name="accent">#ff7043</color>
+
<color name="red_50">#fde0dc</color>
<color name="red_100">#f9bdbb</color>
<color name="red_200">#f69988</color>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cb5accf2..d2d9ece5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -128,6 +128,10 @@
<string name="pref_autofill_always_title">Always show dialog</string>
<string name="pref_clear_clipboard_title">Clear clipboard 20 times</string>
<string name="pref_clear_clipboard_hint">Store nonsense in the clipboard 20 times instead of just once. Useful on Samsung phones that feature clipboard history.</string>
+ <string name="pref_git_delete_repo_summary">Deletes local (hidden) repository</string>
+ <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>
<!-- pwgen fragment -->
<string name="pwgen_generate">Generate</string>
@@ -172,4 +176,8 @@
<string name="autofill_apps_match">Match with</string>
<string name="autofill_apps_never">Never match</string>
<string name="autofill_apps_delete">Delete</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>
</resources>
diff --git a/app/src/main/res/xml/preference.xml b/app/src/main/res/xml/preference.xml
index ae07b296..f99bcb95 100644
--- a/app/src/main/res/xml/preference.xml
+++ b/app/src/main/res/xml/preference.xml
@@ -15,16 +15,16 @@
android:title="@string/pref_ssh_see_key_title" />
<Preference
android:key="git_delete_repo"
- android:summary="Deletes local (hidden) repository"
+ android:summary="@string/pref_git_delete_repo_summary"
android:title="@string/pref_git_delete_repo" />
<CheckBoxPreference
android:key="git_external"
- android:summary="Use an external password repository"
- android:title="External repository" />
+ android:summary="@string/pref_external_repository_summary"
+ android:title="@string/pref_external_repository" />
<Preference
android:dependency="git_external"
android:key="pref_select_external"
- android:title="Select external repository" />
+ android:title="@string/pref_select_external_repository" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_crypto_title">