[Feature/HideExpiredEntries] Apply 'Hide Expired Entries' Setting And Adjust Item Count Accordingly

Signed-off-by: Jihoon Kim <imsesaok@tuta.io>
This commit is contained in:
Jihoon Kim
2020-01-14 15:12:56 +08:00
parent fdbcba2412
commit 7816c8f16e
3 changed files with 21 additions and 3 deletions

View File

@@ -106,6 +106,8 @@ class GroupActivity : LockingActivity(),
private var mIconColor: Int = 0 private var mIconColor: Int = 0
private var showExpiredEntries = true
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@@ -191,6 +193,8 @@ class GroupActivity : LockingActivity(),
} }
}) })
showExpiredEntries = PreferencesUtil.showExpiredEntries(this)
mDatabase?.let { database -> mDatabase?.let { database ->
// Search suggestion // Search suggestion
mSearchSuggestionAdapter = SearchEntryCursorAdapter(this, database) mSearchSuggestionAdapter = SearchEntryCursorAdapter(this, database)
@@ -448,7 +452,9 @@ class GroupActivity : LockingActivity(),
private fun refreshNumberOfChildren() { private fun refreshNumberOfChildren() {
numberChildrenView?.apply { numberChildrenView?.apply {
if (PreferencesUtil.showNumberEntries(context)) { if (PreferencesUtil.showNumberEntries(context)) {
text = mCurrentGroup?.getChildEntries(true)?.size?.toString() ?: "" text = mCurrentGroup?.getChildEntries(true)
?.filter { !it.isCurrentlyExpires or showExpiredEntries}
?.size?.toString() ?: ""
visibility = View.VISIBLE visibility = View.VISIBLE
} else { } else {
visibility = View.GONE visibility = View.GONE

View File

@@ -66,6 +66,7 @@ class NodeAdapter
private var recycleBinBottomSort: Boolean = true private var recycleBinBottomSort: Boolean = true
private var showUserNames: Boolean = true private var showUserNames: Boolean = true
private var showNumberEntries: Boolean = true private var showNumberEntries: Boolean = true
private var showExpiredEntries: Boolean = true
private var actionNodesList = LinkedList<Node>() private var actionNodesList = LinkedList<Node>()
private var nodeClickCallback: NodeClickCallback? = null private var nodeClickCallback: NodeClickCallback? = null
@@ -127,6 +128,7 @@ class NodeAdapter
this.recycleBinBottomSort = PreferencesUtil.getRecycleBinBottomSort(context) this.recycleBinBottomSort = PreferencesUtil.getRecycleBinBottomSort(context)
this.showUserNames = PreferencesUtil.showUsernamesListEntries(context) this.showUserNames = PreferencesUtil.showUsernamesListEntries(context)
this.showNumberEntries = PreferencesUtil.showNumberEntries(context) this.showNumberEntries = PreferencesUtil.showNumberEntries(context)
this.showExpiredEntries = PreferencesUtil.showExpiredEntries(context)
// Reinit textSize for all view type // Reinit textSize for all view type
calculateViewTypeTextSize.forEachIndexed { index, _ -> calculateViewTypeTextSize[index] = true } calculateViewTypeTextSize.forEachIndexed { index, _ -> calculateViewTypeTextSize[index] = true }
@@ -139,7 +141,7 @@ class NodeAdapter
this.nodeSortedList.clear() this.nodeSortedList.clear()
assignPreferences() assignPreferences()
try { try {
this.nodeSortedList.addAll(group.getChildren()) this.nodeSortedList.addAll(group.getChildren().filter { !it.isCurrentlyExpires or showExpiredEntries})
} catch (e: Exception) { } catch (e: Exception) {
Log.e(TAG, "Can't add node elements to the list", e) Log.e(TAG, "Can't add node elements to the list", e)
Toast.makeText(context, "Can't add node elements to the list : " + e.message, Toast.LENGTH_LONG).show() Toast.makeText(context, "Can't add node elements to the list : " + e.message, Toast.LENGTH_LONG).show()
@@ -338,7 +340,10 @@ class NodeAdapter
if (subNode.type == Type.GROUP) { if (subNode.type == Type.GROUP) {
if (showNumberEntries) { if (showNumberEntries) {
holder.numberChildren?.apply { holder.numberChildren?.apply {
text = (subNode as Group).getChildEntries(true).size.toString() text = (subNode as Group)
.getChildEntries(true)
.filter { !it.isCurrentlyExpires or showExpiredEntries}
.size.toString()
setTextSize(textSizeUnit, numberChildrenTextSize) setTextSize(textSizeUnit, numberChildrenTextSize)
visibility = View.VISIBLE visibility = View.VISIBLE
} }
@@ -348,6 +353,7 @@ class NodeAdapter
} }
} }
override fun getItemCount(): Int { override fun getItemCount(): Int {
return nodeSortedList.size() return nodeSortedList.size()
} }

View File

@@ -57,6 +57,12 @@ object PreferencesUtil {
context.resources.getBoolean(R.bool.list_groups_show_number_entries_default)) context.resources.getBoolean(R.bool.list_groups_show_number_entries_default))
} }
fun showExpiredEntries(context: Context): Boolean {
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return ! prefs.getBoolean(context.getString(R.string.hide_expired_entries_key),
context.resources.getBoolean(R.bool.hide_expired_entries_default))
}
/** /**
* Retrieve the text size in % (1 for 100%) * Retrieve the text size in % (1 for 100%)
*/ */