Show encryption type in action bar

This commit is contained in:
M66B 2020-07-05 18:28:55 +02:00
parent c7f1ba9665
commit b939f43b8a
2 changed files with 37 additions and 3 deletions

View File

@ -1193,8 +1193,8 @@ public class FragmentCompose extends FragmentBase {
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_compose, menu);
menu.findItem(R.id.menu_encrypt).setActionView(R.layout.action_button);
ImageButton ib = (ImageButton) menu.findItem(R.id.menu_encrypt).getActionView();
menu.findItem(R.id.menu_encrypt).setActionView(R.layout.action_button_text);
ImageButton ib = menu.findItem(R.id.menu_encrypt).getActionView().findViewById(R.id.button);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -1219,17 +1219,22 @@ public class FragmentCompose extends FragmentBase {
menu.findItem(R.id.menu_clear).setEnabled(state == State.LOADED);
int colorEncrypt = Helper.resolveColor(getContext(), R.attr.colorEncrypt);
ImageButton ib = (ImageButton) menu.findItem(R.id.menu_encrypt).getActionView();
View v = menu.findItem(R.id.menu_encrypt).getActionView();
ImageButton ib = v.findViewById(R.id.button);
TextView tv = v.findViewById(R.id.text);
ib.setEnabled(state == State.LOADED);
if (EntityMessage.PGP_SIGNONLY.equals(encrypt) || EntityMessage.SMIME_SIGNONLY.equals(encrypt)) {
ib.setImageResource(R.drawable.baseline_gesture_24);
ib.setImageTintList(null);
tv.setText(EntityMessage.PGP_SIGNONLY.equals(encrypt) ? "P" : "S");
} else if (EntityMessage.PGP_SIGNENCRYPT.equals(encrypt) || EntityMessage.SMIME_SIGNENCRYPT.equals(encrypt)) {
ib.setImageResource(R.drawable.baseline_lock_24);
ib.setImageTintList(ColorStateList.valueOf(colorEncrypt));
tv.setText(EntityMessage.PGP_SIGNENCRYPT.equals(encrypt) ? "P" : "S");
} else {
ib.setImageResource(R.drawable.baseline_lock_open_24);
ib.setImageTintList(null);
tv.setText(null);
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/button"
style="@style/Widget.AppCompat.Toolbar.Button.Navigation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/baseline_lock_24" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="3dp"
android:clickable="false"
android:text="P"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textColor="?attr/colorControlNormal"
app:layout_constraintBottom_toBottomOf="@id/button"
app:layout_constraintEnd_toEndOf="@id/button"
app:layout_constraintTop_toTopOf="@id/button" />
</androidx.constraintlayout.widget.ConstraintLayout>