Fix a menu issue

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2019-04-07 21:25:21 +02:00
parent 08d44641d5
commit e1edf954e9
2 changed files with 16 additions and 11 deletions

View File

@ -433,18 +433,14 @@ public class ChatController extends BaseController implements MessagesListAdapte
messageInput.setHint(R.string.nc_readonly_hint); messageInput.setHint(R.string.nc_readonly_hint);
conversationVoiceCallMenuItem.getIcon().setAlpha(99); conversationVoiceCallMenuItem.getIcon().setAlpha(99);
conversationVoiceCallMenuItem.setEnabled(false);
conversationVideoMenuItem.getIcon().setAlpha(99); conversationVideoMenuItem.getIcon().setAlpha(99);
conversationVideoMenuItem.setEnabled(false);
setChildrenState(messageInputView, false); setChildrenState(messageInputView, false);
} else { } else {
messageInput.setHint(""); messageInput.setHint("");
conversationVoiceCallMenuItem.getIcon().setAlpha(255); conversationVoiceCallMenuItem.getIcon().setAlpha(255);
conversationVoiceCallMenuItem.setEnabled(true);
conversationVideoMenuItem.getIcon().setAlpha(255); conversationVideoMenuItem.getIcon().setAlpha(255);
conversationVideoMenuItem.setEnabled(true);
setChildrenState(messageInputView, true); setChildrenState(messageInputView, true);
} }
@ -1048,7 +1044,7 @@ public class ChatController extends BaseController implements MessagesListAdapte
} }
@Override @Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater); super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_conversation, menu); inflater.inflate(R.menu.menu_conversation, menu);
if (conversationUser.getUserId().equals("?")) { if (conversationUser.getUserId().equals("?")) {
@ -1058,6 +1054,11 @@ public class ChatController extends BaseController implements MessagesListAdapte
conversationVoiceCallMenuItem = menu.findItem(R.id.conversation_voice_call); conversationVoiceCallMenuItem = menu.findItem(R.id.conversation_voice_call);
conversationVideoMenuItem = menu.findItem(R.id.conversation_video_call); conversationVideoMenuItem = menu.findItem(R.id.conversation_video_call);
} }
}
@Override
public void onPrepareOptionsMenu(@NonNull Menu menu) {
super.onPrepareOptionsMenu(menu);
if (conversationUser.hasSpreedCapabilityWithName("read-only-rooms")) { if (conversationUser.hasSpreedCapabilityWithName("read-only-rooms")) {
checkReadOnlyState(); checkReadOnlyState();
@ -1072,11 +1073,17 @@ public class ChatController extends BaseController implements MessagesListAdapte
getRouter().popCurrentController(); getRouter().popCurrentController();
return true; return true;
case R.id.conversation_video_call: case R.id.conversation_video_call:
startACall(false); if (conversationVideoMenuItem.getIcon().getAlpha() == 255) {
return true; startACall(false);
return true;
}
return false;
case R.id.conversation_voice_call: case R.id.conversation_voice_call:
startACall(true); if (conversationVoiceCallMenuItem.getIcon().getAlpha() == 255) {
return true; startACall(true);
return true;
}
return false;
case R.id.conversation_info: case R.id.conversation_info:
showConversationInfoScreen(); showConversationInfoScreen();
return true; return true;

View File

@ -25,7 +25,6 @@
android:id="@+id/conversation_voice_call" android:id="@+id/conversation_voice_call"
android:icon="@drawable/ic_call_white_24dp" android:icon="@drawable/ic_call_white_24dp"
android:orderInCategory="0" android:orderInCategory="0"
android:enabled="false"
android:title="@string/nc_conversation_menu_voice_call" android:title="@string/nc_conversation_menu_voice_call"
app:showAsAction="ifRoom" /> app:showAsAction="ifRoom" />
@ -34,7 +33,6 @@
android:icon="@drawable/ic_videocam_white_24px" android:icon="@drawable/ic_videocam_white_24px"
android:orderInCategory="1" android:orderInCategory="1"
android:title="@string/nc_conversation_menu_video_call" android:title="@string/nc_conversation_menu_video_call"
android:enabled="false"
app:showAsAction="ifRoom" /> app:showAsAction="ifRoom" />
<item <item