Show last sync time in account nav item

pull/159/head
M66B 5 years ago
parent 39c600822f
commit 704b5c30b0

@ -34,7 +34,9 @@ import androidx.recyclerview.widget.DiffUtil;
import androidx.recyclerview.widget.ListUpdateCallback; import androidx.recyclerview.widget.ListUpdateCallback;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import java.text.DateFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -48,11 +50,13 @@ public class AdapterNavAccount extends RecyclerView.Adapter<AdapterNavAccount.Vi
private List<TupleAccountEx> items = new ArrayList<>(); private List<TupleAccountEx> items = new ArrayList<>();
private NumberFormat nf = NumberFormat.getNumberInstance(); private NumberFormat nf = NumberFormat.getNumberInstance();
private DateFormat DTF;
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private View view; private View view;
private ImageView ivItem; private ImageView ivItem;
private TextView tvItem; private TextView tvItem;
private TextView tvItemExtra;
private ImageView ivWarning; private ImageView ivWarning;
ViewHolder(View itemView) { ViewHolder(View itemView) {
@ -61,6 +65,7 @@ public class AdapterNavAccount extends RecyclerView.Adapter<AdapterNavAccount.Vi
view = itemView.findViewById(R.id.clItem); view = itemView.findViewById(R.id.clItem);
ivItem = itemView.findViewById(R.id.ivItem); ivItem = itemView.findViewById(R.id.ivItem);
tvItem = itemView.findViewById(R.id.tvItem); tvItem = itemView.findViewById(R.id.tvItem);
tvItemExtra = itemView.findViewById(R.id.tvItemExtra);
ivWarning = itemView.findViewById(R.id.ivWarning); ivWarning = itemView.findViewById(R.id.ivWarning);
} }
@ -91,6 +96,8 @@ public class AdapterNavAccount extends RecyclerView.Adapter<AdapterNavAccount.Vi
tvItem.setTextColor(Helper.resolveColor(context, tvItem.setTextColor(Helper.resolveColor(context,
account.unseen == 0 ? android.R.attr.textColorSecondary : R.attr.colorUnread)); account.unseen == 0 ? android.R.attr.textColorSecondary : R.attr.colorUnread));
tvItemExtra.setText(account.last_connected == null ? null : DTF.format(account.last_connected));
ivWarning.setVisibility(account.error == null ? View.GONE : View.VISIBLE); ivWarning.setVisibility(account.error == null ? View.GONE : View.VISIBLE);
} }
@ -115,6 +122,9 @@ public class AdapterNavAccount extends RecyclerView.Adapter<AdapterNavAccount.Vi
this.context = context; this.context = context;
this.owner = owner; this.owner = owner;
this.inflater = LayoutInflater.from(context); this.inflater = LayoutInflater.from(context);
this.DTF = Helper.getTimeInstance(context, SimpleDateFormat.SHORT);
setHasStableIds(true); setHasStableIds(true);
} }

@ -53,6 +53,7 @@ public class AdapterNavFolder extends RecyclerView.Adapter<AdapterNavFolder.View
private View view; private View view;
private ImageView ivItem; private ImageView ivItem;
private TextView tvItem; private TextView tvItem;
private TextView tvItemExtra;
private ImageView ivWarning; private ImageView ivWarning;
ViewHolder(View itemView) { ViewHolder(View itemView) {
@ -61,6 +62,7 @@ public class AdapterNavFolder extends RecyclerView.Adapter<AdapterNavFolder.View
view = itemView.findViewById(R.id.clItem); view = itemView.findViewById(R.id.clItem);
ivItem = itemView.findViewById(R.id.ivItem); ivItem = itemView.findViewById(R.id.ivItem);
tvItem = itemView.findViewById(R.id.tvItem); tvItem = itemView.findViewById(R.id.tvItem);
tvItemExtra = itemView.findViewById(R.id.tvItemExtra);
ivWarning = itemView.findViewById(R.id.ivWarning); ivWarning = itemView.findViewById(R.id.ivWarning);
} }
@ -109,6 +111,8 @@ public class AdapterNavFolder extends RecyclerView.Adapter<AdapterNavFolder.View
tvItem.setTextColor(Helper.resolveColor(context, tvItem.setTextColor(Helper.resolveColor(context,
count == 0 ? android.R.attr.textColorSecondary : R.attr.colorUnread)); count == 0 ? android.R.attr.textColorSecondary : R.attr.colorUnread));
tvItemExtra.setVisibility(View.GONE);
ivWarning.setVisibility(folder.error == null ? View.GONE : View.VISIBLE); ivWarning.setVisibility(folder.error == null ? View.GONE : View.VISIBLE);
} }

@ -50,6 +50,7 @@ public class AdapterNavMenu extends RecyclerView.Adapter<AdapterNavMenu.ViewHold
private View view; private View view;
private ImageView ivItem; private ImageView ivItem;
private TextView tvItem; private TextView tvItem;
private TextView tvItemExtra;
private ImageView ivWarning; private ImageView ivWarning;
ViewHolder(View itemView) { ViewHolder(View itemView) {
@ -58,6 +59,7 @@ public class AdapterNavMenu extends RecyclerView.Adapter<AdapterNavMenu.ViewHold
view = itemView.findViewById(R.id.clItem); view = itemView.findViewById(R.id.clItem);
ivItem = itemView.findViewById(R.id.ivItem); ivItem = itemView.findViewById(R.id.ivItem);
tvItem = itemView.findViewById(R.id.tvItem); tvItem = itemView.findViewById(R.id.tvItem);
tvItemExtra = itemView.findViewById(R.id.tvItemExtra);
ivWarning = itemView.findViewById(R.id.ivWarning); ivWarning = itemView.findViewById(R.id.ivWarning);
} }
@ -83,6 +85,8 @@ public class AdapterNavMenu extends RecyclerView.Adapter<AdapterNavMenu.ViewHold
tvItem.setTextColor(Helper.resolveColor(context, tvItem.setTextColor(Helper.resolveColor(context,
menu.getCount() == null ? android.R.attr.textColorSecondary : R.attr.colorUnread)); menu.getCount() == null ? android.R.attr.textColorSecondary : R.attr.colorUnread));
tvItemExtra.setVisibility(View.GONE);
ivWarning.setVisibility(menu.hasWarning() ? View.VISIBLE : View.GONE); ivWarning.setVisibility(menu.hasWarning() ? View.VISIBLE : View.GONE);
} }

@ -50,6 +50,7 @@ public class AdapterNavUnified extends RecyclerView.Adapter<AdapterNavUnified.Vi
private View view; private View view;
private ImageView ivItem; private ImageView ivItem;
private TextView tvItem; private TextView tvItem;
private TextView tvItemExtra;
private ImageView ivWarning; private ImageView ivWarning;
ViewHolder(View itemView) { ViewHolder(View itemView) {
@ -58,6 +59,7 @@ public class AdapterNavUnified extends RecyclerView.Adapter<AdapterNavUnified.Vi
view = itemView.findViewById(R.id.clItem); view = itemView.findViewById(R.id.clItem);
ivItem = itemView.findViewById(R.id.ivItem); ivItem = itemView.findViewById(R.id.ivItem);
tvItem = itemView.findViewById(R.id.tvItem); tvItem = itemView.findViewById(R.id.tvItem);
tvItemExtra = itemView.findViewById(R.id.tvItemExtra);
ivWarning = itemView.findViewById(R.id.ivWarning); ivWarning = itemView.findViewById(R.id.ivWarning);
} }
@ -72,6 +74,7 @@ public class AdapterNavUnified extends RecyclerView.Adapter<AdapterNavUnified.Vi
private void bindTo(String type) { private void bindTo(String type) {
ivItem.setImageResource(R.drawable.baseline_folder_shared_24); ivItem.setImageResource(R.drawable.baseline_folder_shared_24);
tvItem.setText(Helper.localizeFolderType(context, type)); tvItem.setText(Helper.localizeFolderType(context, type));
tvItemExtra.setVisibility(View.GONE);
ivWarning.setVisibility(View.GONE); ivWarning.setVisibility(View.GONE);
} }

@ -34,10 +34,25 @@
android:text="Nav item" android:text="Nav item"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/ivWarning" app:layout_constraintEnd_toStartOf="@+id/tvItemExtra"
app:layout_constraintStart_toEndOf="@id/ivItem" app:layout_constraintStart_toEndOf="@id/ivItem"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tvItemExtra"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
android:gravity="center_vertical"
android:minHeight="48dp"
android:singleLine="true"
android:text="Extra"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Small"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/ivWarning"
app:layout_constraintTop_toTopOf="parent" />
<ImageView <ImageView
android:id="@+id/ivWarning" android:id="@+id/ivWarning"
android:layout_width="wrap_content" android:layout_width="wrap_content"

Loading…
Cancel
Save