diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 25963a35..5a7c2d27 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -51,56 +51,62 @@ import androidx.recyclerview.widget.RecyclerView; public class AdapterFolder extends RecyclerView.Adapter { private Context context; private LifecycleOwner owner; + private String accountState = null; private List all = new ArrayList<>(); private List filtered = new ArrayList<>(); public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { View itemView; - ImageView ivEdit; + ImageView ivState; TextView tvName; TextView tvMessages; - TextView tvType; ImageView ivUnified; + TextView tvType; TextView tvAfter; ImageView ivSync; - ImageView ivState; TextView tvError; - private final static int action_synchronize = 1; - private final static int action_delete_local = 2; + private final static int action_edit = 1; + private final static int action_sync = 2; + private final static int action_delete = 3; ViewHolder(View itemView) { super(itemView); this.itemView = itemView; - ivEdit = itemView.findViewById(R.id.ivEdit); + ivState = itemView.findViewById(R.id.ivState); tvName = itemView.findViewById(R.id.tvName); tvMessages = itemView.findViewById(R.id.tvMessages); - tvType = itemView.findViewById(R.id.tvType); ivUnified = itemView.findViewById(R.id.ivUnified); + tvType = itemView.findViewById(R.id.tvType); tvAfter = itemView.findViewById(R.id.tvAfter); ivSync = itemView.findViewById(R.id.ivSync); tvError = itemView.findViewById(R.id.tvError); - ivState = itemView.findViewById(R.id.ivState); } - private void wire(boolean properties) { + private void wire() { itemView.setOnClickListener(this); itemView.setOnLongClickListener(this); - if (properties) - ivEdit.setOnClickListener(this); } private void unwire() { itemView.setOnClickListener(null); itemView.setOnLongClickListener(null); - ivEdit.setOnClickListener(null); } private void bindTo(TupleFolderEx folder) { - boolean outbox = EntityFolder.OUTBOX.equals(folder.type); - ivEdit.setVisibility(outbox ? View.INVISIBLE : View.VISIBLE); + if ("connected".equals(folder.state)) + ivState.setImageResource(R.drawable.baseline_cloud_24); + else if ("connecting".equals(folder.state)) + ivState.setImageResource(R.drawable.baseline_cloud_queue_24); + else if ("closing".equals(folder.state)) + ivState.setImageResource(R.drawable.baseline_close_24); + else if ("syncing".equals(folder.state)) + ivState.setImageResource(R.drawable.baseline_compare_arrows_24); + else + ivState.setImageResource(R.drawable.baseline_cloud_off_24); + ivState.setVisibility(folder.synchronize || folder.state != null ? View.VISIBLE : View.INVISIBLE); String name = Helper.localizeFolderName(context, folder.name); if (folder.unseen > 0) @@ -112,28 +118,22 @@ public class AdapterFolder extends RecyclerView.Adapter 0 ? context.getString(resid) : folder.type); - ivUnified.setVisibility(folder.unified ? View.VISIBLE : View.GONE); - - tvAfter.setText(Integer.toString(folder.after)); - ivSync.setVisibility(folder.synchronize ? View.VISIBLE : View.INVISIBLE); - - if ("connected".equals(folder.state)) - ivState.setImageResource(R.drawable.baseline_cloud_24); - else if ("connecting".equals(folder.state)) - ivState.setImageResource(R.drawable.baseline_cloud_queue_24); - else if ("closing".equals(folder.state)) - ivState.setImageResource(R.drawable.baseline_close_24); - else if ("syncing".equals(folder.state)) - ivState.setImageResource(R.drawable.baseline_compare_arrows_24); - else - ivState.setImageResource(R.drawable.baseline_cloud_off_24); - ivState.setVisibility(folder.synchronize || folder.state != null ? View.VISIBLE : View.INVISIBLE); + if (folder.account == null) { + tvAfter.setText(null); + ivSync.setVisibility(View.GONE); + } else { + tvAfter.setText(Integer.toString(folder.after)); + ivSync.setImageResource(folder.synchronize ? R.drawable.baseline_sync_24 : R.drawable.baseline_sync_disabled_24); + ivSync.setVisibility(View.VISIBLE); + } tvError.setText(folder.error); tvError.setVisibility(folder.error == null ? View.GONE : View.VISIBLE); @@ -147,19 +147,10 @@ public class AdapterFolder extends RecyclerView.Adapter prev; private List next; @@ -333,6 +341,6 @@ public class AdapterFolder extends RecyclerView.Adapter + + diff --git a/app/src/main/res/layout/fragment_folders.xml b/app/src/main/res/layout/fragment_folders.xml index e7b0167a..a12dbc65 100644 --- a/app/src/main/res/layout/fragment_folders.xml +++ b/app/src/main/res/layout/fragment_folders.xml @@ -6,6 +6,39 @@ android:layout_height="match_parent" tools:context=".ActivityView"> + + + + + + + app:layout_constraintTop_toBottomOf="@id/vSeparator" /> + + -