Added button to hide message tools

pull/182/head
M66B 4 years ago
parent 2301ce32f2
commit 3767cd121d

@ -415,6 +415,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
private ImageButton ibTrash; private ImageButton ibTrash;
private ImageButton ibJunk; private ImageButton ibJunk;
private ImageButton ibInbox; private ImageButton ibInbox;
private ImageButton ibTools;
private ImageButton ibMore; private ImageButton ibMore;
private TextView tvSignedData; private TextView tvSignedData;
@ -615,6 +616,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibTrash = vsBody.findViewById(R.id.ibTrash); ibTrash = vsBody.findViewById(R.id.ibTrash);
ibJunk = vsBody.findViewById(R.id.ibJunk); ibJunk = vsBody.findViewById(R.id.ibJunk);
ibInbox = vsBody.findViewById(R.id.ibInbox); ibInbox = vsBody.findViewById(R.id.ibInbox);
ibTools = vsBody.findViewById(R.id.ibTools);
ibMore = vsBody.findViewById(R.id.ibMore); ibMore = vsBody.findViewById(R.id.ibMore);
tvSignedData = vsBody.findViewById(R.id.tvSignedData); tvSignedData = vsBody.findViewById(R.id.tvSignedData);
@ -704,6 +706,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibTrash.setOnClickListener(this); ibTrash.setOnClickListener(this);
ibJunk.setOnClickListener(this); ibJunk.setOnClickListener(this);
ibInbox.setOnClickListener(this); ibInbox.setOnClickListener(this);
ibTools.setOnClickListener(this);
ibMore.setOnClickListener(this); ibMore.setOnClickListener(this);
ibDownloading.setOnClickListener(this); ibDownloading.setOnClickListener(this);
@ -790,6 +793,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibTrash.setOnClickListener(null); ibTrash.setOnClickListener(null);
ibJunk.setOnClickListener(null); ibJunk.setOnClickListener(null);
ibInbox.setOnClickListener(null); ibInbox.setOnClickListener(null);
ibTools.setOnClickListener(null);
ibMore.setOnClickListener(null); ibMore.setOnClickListener(null);
ibDownloading.setOnClickListener(null); ibDownloading.setOnClickListener(null);
@ -1283,6 +1287,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibTrash.setVisibility(View.GONE); ibTrash.setVisibility(View.GONE);
ibJunk.setVisibility(View.GONE); ibJunk.setVisibility(View.GONE);
ibInbox.setVisibility(View.GONE); ibInbox.setVisibility(View.GONE);
ibTools.setVisibility(View.GONE);
ibMore.setVisibility(View.GONE); ibMore.setVisibility(View.GONE);
tvSignedData.setVisibility(View.GONE); tvSignedData.setVisibility(View.GONE);
@ -1412,6 +1417,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibTrash.setVisibility(View.GONE); ibTrash.setVisibility(View.GONE);
ibJunk.setVisibility(View.GONE); ibJunk.setVisibility(View.GONE);
ibInbox.setVisibility(View.GONE); ibInbox.setVisibility(View.GONE);
ibTools.setVisibility(View.GONE);
ibMore.setVisibility(EntityFolder.OUTBOX.equals(message.folderType) ? View.GONE : View.VISIBLE); ibMore.setVisibility(EntityFolder.OUTBOX.equals(message.folderType) ? View.GONE : View.VISIBLE);
tvSignedData.setVisibility(View.GONE); tvSignedData.setVisibility(View.GONE);
@ -1468,6 +1474,10 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
}); });
// Setup actions // Setup actions
setupTools(message, scroll, true);
}
private void setupTools(final TupleMessageEx message, final boolean scroll, final boolean bind) {
Bundle sargs = new Bundle(); Bundle sargs = new Bundle();
sargs.putLong("id", message.id); sargs.putLong("id", message.id);
sargs.putLong("account", message.account); sargs.putLong("account", message.account);
@ -1525,22 +1535,26 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
boolean button_rule = prefs.getBoolean("button_rule", false); boolean button_rule = prefs.getBoolean("button_rule", false);
boolean expand_all = prefs.getBoolean("expand_all", false); boolean expand_all = prefs.getBoolean("expand_all", false);
boolean expand_one = prefs.getBoolean("expand_one", true); boolean expand_one = prefs.getBoolean("expand_one", true);
boolean tools = prefs.getBoolean("message_tools", true);
ibTrash.setTag(delete); ibTrash.setTag(delete);
ibRule.setVisibility(button_rule && !outbox && ibRule.setVisibility(tools && button_rule && !outbox &&
message.accountProtocol == EntityAccount.TYPE_IMAP ? View.VISIBLE : View.GONE); message.accountProtocol == EntityAccount.TYPE_IMAP ? View.VISIBLE : View.GONE);
ibUnsubscribe.setVisibility(message.unsubscribe == null ? View.GONE : View.VISIBLE); ibUnsubscribe.setVisibility(!tools || message.unsubscribe == null ? View.GONE : View.VISIBLE);
ibAnswer.setVisibility(outbox || (!expand_all && expand_one) ? View.GONE : View.VISIBLE); ibAnswer.setVisibility(!tools || outbox || (!expand_all && expand_one) ? View.GONE : View.VISIBLE);
ibMove.setVisibility(move && button_move ? View.VISIBLE : View.GONE); ibMove.setVisibility(tools && move && button_move ? View.VISIBLE : View.GONE);
ibArchive.setVisibility(archive && button_archive_trash ? View.VISIBLE : View.GONE); ibArchive.setVisibility(tools && archive && button_archive_trash ? View.VISIBLE : View.GONE);
ibTrash.setVisibility(trash && button_archive_trash ? View.VISIBLE : View.GONE); ibTrash.setVisibility(tools && trash && button_archive_trash ? View.VISIBLE : View.GONE);
ibJunk.setVisibility(junk ? View.VISIBLE : View.GONE); ibJunk.setVisibility(tools && junk ? View.VISIBLE : View.GONE);
ibInbox.setVisibility(inbox ? View.VISIBLE : View.GONE); ibInbox.setVisibility(tools && inbox ? View.VISIBLE : View.GONE);
ibTools.setImageLevel(tools ? 0 : 1);
ibTrashBottom.setVisibility(trash && button_archive_trash ? View.VISIBLE : View.GONE); ibTools.setVisibility(View.VISIBLE);
ibArchiveBottom.setVisibility(archive && button_archive_trash ? View.VISIBLE : View.GONE);
ibTrashBottom.setVisibility(tools && trash && button_archive_trash ? View.VISIBLE : View.GONE);
ibArchiveBottom.setVisibility(tools && archive && button_archive_trash ? View.VISIBLE : View.GONE);
if (bind)
bindBody(message, scroll); bindBody(message, scroll);
} }
@ -2745,6 +2759,9 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
case R.id.ibInbox: case R.id.ibInbox:
onActionInbox(message); onActionInbox(message);
break; break;
case R.id.ibTools:
onActionTools(message);
break;
case R.id.ibMore: case R.id.ibMore:
onActionMore(message); onActionMore(message);
break; break;
@ -3634,6 +3651,13 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
properties.move(message.id, EntityFolder.INBOX); properties.move(message.id, EntityFolder.INBOX);
} }
private void onActionTools(TupleMessageEx message) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
boolean message_tools = !prefs.getBoolean("message_tools", true);
prefs.edit().putBoolean("message_tools", message_tools).apply();
setupTools(message, false, false);
}
private void onActionMore(TupleMessageEx message) { private void onActionMore(TupleMessageEx message) {
boolean show_headers = properties.getValue("headers", message.id); boolean show_headers = properties.getValue("headers", message.id);
boolean full = properties.getValue("full", message.id); boolean full = properties.getValue("full", message.id);

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<group
android:pivotX="12.0"
android:pivotY="12.0"
android:rotation="-90">
<path
android:fillColor="@android:color/white"
android:pathData="M12,8l-6,6 1.41,1.41L12,10.83l4.59,4.58L18,14z" />
</group>
</vector>

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<group
android:pivotX="12.0"
android:pivotY="12.0"
android:rotation="-90">
<path
android:fillColor="@android:color/white"
android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z" />
</group>
</vector>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@drawable/baseline_expand_hor_less_24"
android:maxLevel="0" />
<item
android:drawable="@drawable/baseline_expand_hor_more_24"
android:maxLevel="1" />
</level-list>

@ -23,31 +23,46 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/vSeparator" /> app:layout_constraintTop_toBottomOf="@id/vSeparator" />
<ImageButton
android:id="@+id/ibMore"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_more"
android:padding="6dp"
android:scaleType="fitCenter"
android:tooltipText="@string/title_more"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/vSeparator"
app:srcCompat="@drawable/baseline_more_horiz_24" />
<ImageButton
android:id="@+id/ibTools"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_more"
android:padding="6dp"
android:scaleType="fitCenter"
android:tooltipText="@string/title_legend_expander"
app:layout_constraintStart_toEndOf="@+id/ibMore"
app:layout_constraintTop_toBottomOf="@id/vSeparator"
app:srcCompat="@drawable/expander_hor" />
<androidx.constraintlayout.helper.widget.Flow <androidx.constraintlayout.helper.widget.Flow
android:id="@+id/ibFlow"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="3dp" android:layout_marginEnd="3dp"
app:constraint_referenced_ids="ibMore,ibInbox,ibJunk,ibTrash,ibArchive,ibMove,ibAnswer,ibUnsubscribe,ibRule,ibUndo" app:constraint_referenced_ids="ibInbox,ibJunk,ibTrash,ibArchive,ibMove,ibAnswer,ibUnsubscribe,ibRule,ibUndo"
app:flow_horizontalBias="0" app:flow_horizontalBias="0"
app:flow_horizontalGap="3dp" app:flow_horizontalGap="3dp"
app:flow_horizontalStyle="packed" app:flow_horizontalStyle="packed"
app:flow_wrapMode="chain" app:flow_wrapMode="chain"
app:layout_constraintEnd_toStartOf="@+id/ibVerify" app:layout_constraintEnd_toStartOf="@+id/ibVerify"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toEndOf="@+id/ibTools"
app:layout_constraintTop_toBottomOf="@id/vSeparator" /> app:layout_constraintTop_toBottomOf="@id/vSeparator" />
<ImageButton
android:id="@+id/ibMore"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:contentDescription="@string/title_more"
android:padding="6dp"
android:scaleType="fitCenter"
android:tooltipText="@string/title_more"
app:srcCompat="@drawable/baseline_more_horiz_24"
tools:ignore="MissingConstraints" />
<ImageButton <ImageButton
android:id="@+id/ibJunk" android:id="@+id/ibJunk"
android:layout_width="36dp" android:layout_width="36dp"

Loading…
Cancel
Save