Show single person when shared with one user

pull/1401/head
Alex Baker 4 years ago
parent 1d2eb7232c
commit fbf817635d

@ -5,10 +5,15 @@ import android.view.View
import android.widget.CheckedTextView
import android.widget.ImageView
import android.widget.TextView
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import butterknife.BindView
import butterknife.ButterKnife
import com.todoroo.astrid.api.*
import com.todoroo.astrid.api.CaldavFilter
import com.todoroo.astrid.api.CustomFilter
import com.todoroo.astrid.api.FilterListItem
import com.todoroo.astrid.api.GtasksFilter
import com.todoroo.astrid.api.TagFilter
import org.tasks.R
import org.tasks.billing.Inventory
import org.tasks.filters.PlaceFilter
@ -71,7 +76,14 @@ class FilterViewHolder internal constructor(
size.text = locale.formatNumber(count)
size.visibility = View.VISIBLE
}
shareIndicator.visibility = if (filter.shared) View.VISIBLE else View.GONE
shareIndicator.apply {
isVisible = filter.principals > 0
setImageResource(when {
filter.principals <= 0 -> 0
filter.principals == 1 -> R.drawable.ic_outline_perm_identity_24px
else -> R.drawable.ic_outline_people_outline_24
})
}
if (onClick != null) {
row.setOnClickListener {
onClick.invoke(filter)

@ -32,7 +32,7 @@ public abstract class FilterListItem implements Parcelable {
public int icon = -1;
public int tint = 0;
public int count = -1;
public boolean shared = false;
public int principals = 0;
public int order = NO_ORDER;
public abstract Type getItemType();
@ -79,7 +79,7 @@ public abstract class FilterListItem implements Parcelable {
&& tint == other.tint
&& count == other.count
&& order == other.order
&& shared == other.shared;
&& principals == other.principals;
}
@Override
@ -90,7 +90,7 @@ public abstract class FilterListItem implements Parcelable {
", icon=" + icon +
", tint=" + tint +
", count=" + count +
", shared=" + shared +
", principals=" + principals +
", order=" + order +
'}';
}

@ -2,7 +2,12 @@ package org.tasks.data
import android.content.Context
import androidx.lifecycle.LiveData
import androidx.room.*
import androidx.room.Dao
import androidx.room.Delete
import androidx.room.Insert
import androidx.room.Query
import androidx.room.Transaction
import androidx.room.Update
import com.todoroo.andlib.utility.DateUtilities.now
import com.todoroo.astrid.api.FilterListItem.NO_ORDER
import com.todoroo.astrid.core.SortHelper.APPLE_EPOCH
@ -238,7 +243,7 @@ SELECT EXISTS(SELECT 1
abstract suspend fun getCalendars(tasks: List<Long>): List<String>
@Query("""
SELECT caldav_lists.*, COUNT(tasks._id) AS count, COUNT(principals.principal_id) AS principals
SELECT caldav_lists.*, COUNT(tasks._id) AS count, COUNT(DISTINCT(principals.principal_id)) AS principals
FROM caldav_lists
LEFT JOIN caldav_tasks
ON caldav_tasks.cd_calendar = caldav_lists.cdl_uuid

@ -16,7 +16,7 @@ public class CaldavFilters {
CaldavFilter toCaldavFilter() {
CaldavFilter filter = new CaldavFilter(caldavCalendar);
filter.count = count;
filter.shared = principals > 0;
filter.principals = principals;
return filter;
}

Loading…
Cancel
Save