Show last sync time in account nav item

This commit is contained in:
M66B 2019-07-22 09:48:48 +02:00
parent 39c600822f
commit 704b5c30b0
5 changed files with 37 additions and 1 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -34,10 +34,25 @@
android:text="Nav item"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium"
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_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
android:id="@+id/ivWarning"
android:layout_width="wrap_content"