aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/ui/adapters
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2019-11-05 10:05:07 +0530
committerGitHub <noreply@github.com>2019-11-05 10:05:07 +0530
commitfc2a11699a57fcd9e7de63449ad915d1c74e19f4 (patch)
tree86dcf282b7c1d917fee34b841ed6799ddf04068b /app/src/main/java/com/zeapo/pwdstore/ui/adapters
parented0296131505fa8f5404324a938c430f00d174b1 (diff)
parent94e56ce8128c12c334d930f493124114057816c7 (diff)
downloadHardenedPass-fc2a11699a57fcd9e7de63449ad915d1c74e19f4.tar.gz
HardenedPass-fc2a11699a57fcd9e7de63449ad915d1c74e19f4.zip
Merge pull request #562 from android-password-store/msf/ui-rework
Redesign some UI elements
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/ui/adapters')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt19
1 files changed, 14 insertions, 5 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt b/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt
index 9bcb96e4..176f4a82 100644
--- a/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/ui/adapters/EntryRecyclerAdapter.kt
@@ -10,11 +10,10 @@ import android.view.ViewGroup
import androidx.appcompat.widget.AppCompatImageView
import androidx.appcompat.widget.AppCompatTextView
import androidx.recyclerview.widget.RecyclerView
-
import com.zeapo.pwdstore.R
import com.zeapo.pwdstore.utils.PasswordItem
-import com.zeapo.pwdstore.widget.MultiselectableLinearLayout
-
+import com.zeapo.pwdstore.widget.MultiselectableConstraintLayout
+import java.io.File
import java.util.ArrayList
import java.util.TreeSet
@@ -81,12 +80,20 @@ abstract class EntryRecyclerAdapter internal constructor(val values: ArrayList<P
holder.name.text = pass.toString()
if (pass.type == PasswordItem.TYPE_CATEGORY) {
holder.type.visibility = View.GONE
- holder.typeImage.setImageResource(R.drawable.ic_folder_tinted_24dp)
+ holder.typeImage.setImageResource(R.drawable.ic_multiple_files_tinted_24dp)
+ holder.folderIndicator.visibility = View.VISIBLE
+ val childCount = (pass.file.list { current, name -> File(current, name).isFile } ?: emptyArray<File>()).size
+ if (childCount > 0) {
+ holder.childCount.visibility = View.VISIBLE
+ holder.childCount.text = "$childCount"
+ }
} else {
holder.typeImage.setImageResource(R.drawable.ic_action_secure)
holder.name.text = pass.toString()
holder.type.visibility = View.VISIBLE
holder.type.text = pass.fullPathToParent.replace("(^/)|(/$)".toRegex(), "")
+ holder.childCount.visibility = View.GONE
+ holder.folderIndicator.visibility = View.GONE
}
holder.view.setOnClickListener(getOnClickListener(holder, pass))
@@ -96,7 +103,7 @@ abstract class EntryRecyclerAdapter internal constructor(val values: ArrayList<P
// after removal, everything is rebound for some reason; views are shuffled?
val selected = selectedItems.contains(position)
holder.view.isSelected = selected
- (holder.itemView as MultiselectableLinearLayout).setMultiSelected(selected)
+ (holder.itemView as MultiselectableConstraintLayout).setMultiSelected(selected)
}
protected abstract fun getOnClickListener(holder: ViewHolder, pass: PasswordItem): View.OnClickListener
@@ -122,5 +129,7 @@ abstract class EntryRecyclerAdapter internal constructor(val values: ArrayList<P
val name: AppCompatTextView = view.findViewById(R.id.label)
val type: AppCompatTextView = view.findViewById(R.id.type)
val typeImage: AppCompatImageView = view.findViewById(R.id.type_image)
+ val childCount: AppCompatTextView = view.findViewById(R.id.child_count)
+ val folderIndicator: AppCompatImageView = view.findViewById(R.id.folder_indicator)
}
}