summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-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/utils/PasswordRecyclerAdapter.java18
3 files changed, 64 insertions, 12 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/utils/PasswordRecyclerAdapter.java b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java
index 3f240515..af9a6776 100644
--- a/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java
+++ b/app/src/main/java/com/zeapo/pwdstore/utils/PasswordRecyclerAdapter.java
@@ -33,14 +33,12 @@ 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 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);
}
@@ -73,16 +71,16 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
holder.type.setText(pass.getFullPathName());
if (pass.getType() == PasswordItem.TYPE_CATEGORY) {
- holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_200));
+// holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_200));
} else {
- holder.card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_50));
+// 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, holder.getAdapterPosition(), holder.card, pass.getType());
+ toggleSelection(holder, holder.getAdapterPosition(), null, pass.getType());
if (selectedItems.isEmpty()) {
mActionMode.finish();
} else if (selectedItems.size() == 1 && !canEdit) {
@@ -106,7 +104,7 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
if (mActionMode != null) {
return false;
}
- toggleSelection(holder, holder.getAdapterPosition(), holder.card, pass.getType());
+ toggleSelection(holder, holder.getAdapterPosition(), null, pass.getType());
canEdit = pass.getType() == PasswordItem.TYPE_PASSWORD;
// Start the CAB using the ActionMode.Callback
mActionMode = activity.startSupportActionMode(mActionModeCallback);
@@ -208,15 +206,15 @@ public class PasswordRecyclerAdapter extends RecyclerView.Adapter<PasswordRecycl
if (!selectedItems.remove(position)) {
selectedItems.add(position);
if (type == PasswordItem.TYPE_CATEGORY) {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_100));
+// card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_100));
} else {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_100));
+// card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_100));
}
} else {
if (type == PasswordItem.TYPE_CATEGORY) {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_200));
+// card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_200));
} else {
- card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_50));
+// card.setCardBackgroundColor(activity.getResources().getColor(R.color.blue_grey_50));
}
}
}