Change summary
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 5
src/main/java/eu/siacs/conversations/ui/util/ConversationMenuConfigurator.java | 5
2 files changed, 6 insertions(+), 4 deletions(-)
Detailed changes
@@ -1355,7 +1355,7 @@ public class ConversationFragment extends XmppFragment
} else {
menuUnmute.setVisible(false);
}
- ConversationMenuConfigurator.configureAttachmentMenu(conversation, menu);
+ ConversationMenuConfigurator.configureAttachmentMenu(conversation, menu, TextUtils.isEmpty(binding.textinput.getText()));
ConversationMenuConfigurator.configureEncryptionMenu(conversation, menu);
if (conversation.getBooleanAttribute(Conversation.ATTRIBUTE_PINNED_ON_TOP, false)) {
menuTogglePinned.setTitle(R.string.remove_from_favorites);
@@ -1629,7 +1629,7 @@ public class ConversationFragment extends XmppFragment
MenuItem newItem = menu.add(item.getGroupId(), item.getItemId(), item.getOrder(), item.getTitle());
newItem.setIcon(item.getIcon());
}
- ConversationMenuConfigurator.configureAttachmentMenu(conversation, menu);
+ ConversationMenuConfigurator.configureAttachmentMenu(conversation, menu, TextUtils.isEmpty(binding.textinput.getText()));
return;
}
@@ -2023,7 +2023,6 @@ public class ConversationFragment extends XmppFragment
}
private void scheduleMessage() {
- // TODO: also gate menu option in UI behind version check
// TODO: upgrade to material you/3
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
final Calendar now = Calendar.getInstance();
@@ -51,7 +51,7 @@ public class ConversationMenuConfigurator {
microphoneAvailable = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_MICROPHONE);
}
- public static void configureAttachmentMenu(@NonNull Conversation conversation, Menu menu) {
+ public static void configureAttachmentMenu(@NonNull Conversation conversation, Menu menu, boolean isTextEmpty) {
final MenuItem menuAttach = menu.findItem(R.id.action_attach_file);
final boolean visible;
@@ -63,6 +63,9 @@ public class ConversationMenuConfigurator {
if (menuAttach != null) menuAttach.setVisible(visible);
if (visible) menu.findItem(R.id.attach_record_voice).setVisible(microphoneAvailable);
menu.findItem(R.id.attach_subject).setVisible(conversation.getNextEncryption() == Message.ENCRYPTION_NONE);
+ if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.N || isTextEmpty) {
+ menu.findItem(R.id.attach_schedule).setVisible(false);
+ }
}
public static void configureEncryptionMenu(@NonNull Conversation conversation, Menu menu) {