diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java
index 26772d2ab..1de23ebea 100644
--- a/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java
+++ b/app/src/main/java/com/nextcloud/talk/controllers/ContactsController.java
@@ -51,6 +51,8 @@ import com.nextcloud.talk.adapters.items.UserItem;
import com.nextcloud.talk.api.NcApi;
import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController;
+import com.nextcloud.talk.controllers.bottomsheet.CallMenuController;
+import com.nextcloud.talk.controllers.bottomsheet.EntryMenuController;
import com.nextcloud.talk.controllers.bottomsheet.OperationsMenuController;
import com.nextcloud.talk.events.BottomSheetLockEvent;
import com.nextcloud.talk.models.RetrofitBucket;
@@ -63,6 +65,7 @@ import com.nextcloud.talk.models.json.rooms.RoomOverall;
import com.nextcloud.talk.models.json.sharees.Sharee;
import com.nextcloud.talk.models.json.sharees.ShareesOverall;
import com.nextcloud.talk.utils.ApiUtils;
+import com.nextcloud.talk.utils.KeyboardUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils;
@@ -135,7 +138,11 @@ public class ContactsController extends BaseController implements SearchView.OnQ
FastScroller fastScroller;
@BindView(R.id.call_header_layout)
- RelativeLayout callHeaderLayout;
+ RelativeLayout conversationPrivacyToogleLayout;
+
+ @BindView(R.id.joinConversationViaLinkRelativeLayout)
+ RelativeLayout joinConversationViaLinkLayout;
+
@BindView(R.id.generic_rv_layout)
CoordinatorLayout genericRvLayout;
@@ -327,7 +334,7 @@ public class ContactsController extends BaseController implements SearchView.OnQ
bundle.putStringArrayList(BundleKeys.KEY_INVITED_PARTICIPANTS, userIds);
bundle.putStringArrayList(BundleKeys.KEY_INVITED_GROUP, groupIds);
bundle.putInt(BundleKeys.KEY_OPERATION_CODE, 11);
- prepareAndShowBottomSheetWithBundle(bundle);
+ prepareAndShowBottomSheetWithBundle(bundle, false);
}
}
@@ -607,7 +614,8 @@ public class ContactsController extends BaseController implements SearchView.OnQ
progressBar.setVisibility(View.GONE);
genericRvLayout.setVisibility(View.VISIBLE);
if (isNewConversationView) {
- callHeaderLayout.setVisibility(View.VISIBLE);
+ conversationPrivacyToogleLayout.setVisibility(View.VISIBLE);
+ joinConversationViaLinkLayout.setVisibility(View.VISIBLE);
}
if (isNewConversationView) {
@@ -784,15 +792,22 @@ public class ContactsController extends BaseController implements SearchView.OnQ
}
- private void prepareAndShowBottomSheetWithBundle(Bundle bundle) {
+ private void prepareAndShowBottomSheetWithBundle(Bundle bundle, boolean showEntrySheet) {
if (view == null) {
view = getActivity().getLayoutInflater().inflate(R.layout.bottom_sheet, null, false);
}
- getChildRouter((ViewGroup) view).setRoot(
- RouterTransaction.with(new OperationsMenuController(bundle))
- .popChangeHandler(new VerticalChangeHandler())
- .pushChangeHandler(new VerticalChangeHandler()));
+ if (showEntrySheet) {
+ getChildRouter((ViewGroup) view).setRoot(
+ RouterTransaction.with(new EntryMenuController(bundle))
+ .popChangeHandler(new VerticalChangeHandler())
+ .pushChangeHandler(new VerticalChangeHandler()));
+ } else {
+ getChildRouter((ViewGroup) view).setRoot(
+ RouterTransaction.with(new OperationsMenuController(bundle))
+ .popChangeHandler(new VerticalChangeHandler())
+ .pushChangeHandler(new VerticalChangeHandler()));
+ }
if (bottomSheet == null) {
bottomSheet = new BottomSheet.Builder(getActivity()).setView(view).create();
@@ -908,6 +923,15 @@ public class ContactsController extends BaseController implements SearchView.OnQ
return true;
}
+ @Optional
+ @OnClick(R.id.joinConversationViaLinkRelativeLayout)
+ void joinConversationViaLink() {
+ Bundle bundle = new Bundle();
+ bundle.putInt(BundleKeys.KEY_OPERATION_CODE, 10);
+
+ prepareAndShowBottomSheetWithBundle(bundle, true);
+ }
+
@Optional
@OnClick(R.id.call_header_layout)
void toggleCallHeader() {
diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java
index bba7f8854..5a680ada5 100644
--- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java
+++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java
@@ -246,24 +246,6 @@ public class ConversationsListController extends BaseController implements Searc
}
}
- @Override
- public boolean onOptionsItemSelected(@NonNull MenuItem item) {
- switch (item.getItemId()) {
- /*case R.id.action_new_conversation:
- Bundle bundle = new Bundle();
- bundle.putParcelable(BundleKeys.KEY_MENU_TYPE, Parcels.wrap(CallMenuController.MenuType.NEW_CONVERSATION));
- prepareAndShowBottomSheetWithBundle(bundle, true);
- return true;*/
- case R.id.action_settings:
- getRouter().pushController((RouterTransaction.with(new SettingsController())
- .pushChangeHandler(new VerticalChangeHandler())
- .popChangeHandler(new VerticalChangeHandler())));
- return true;
- default:
- return super.onOptionsItemSelected(item);
- }
- }
-
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
diff --git a/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/CallMenuController.java b/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/CallMenuController.java
index 4c57f6b5b..3acf27e97 100644
--- a/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/CallMenuController.java
+++ b/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/CallMenuController.java
@@ -254,24 +254,6 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
.popChangeHandler(new HorizontalChangeHandler()));
}
}
- } else if (menuType.equals(MenuType.NEW_CONVERSATION) && position != 0) {
- MenuItem menuItem = (MenuItem) adapter.getItem(position);
- if (menuItem != null) {
- if (menuItem.getTag() == 1) {
- eventBus.post(new BottomSheetLockEvent(true, 0, false, true));
- bundle = new Bundle();
- bundle.putBoolean(BundleKeys.KEY_NEW_CONVERSATION, true);
- getParentController().getRouter().pushController((RouterTransaction.with(new ContactsController(bundle))
- .pushChangeHandler(new VerticalChangeHandler())
- .popChangeHandler(new VerticalChangeHandler())));
- } else {
- bundle = new Bundle();
- bundle.putInt(BundleKeys.KEY_OPERATION_CODE, 10);
- getRouter().pushController(RouterTransaction.with(new EntryMenuController(bundle))
- .pushChangeHandler(new HorizontalChangeHandler())
- .popChangeHandler(new HorizontalChangeHandler()));
- }
- }
}
return true;
@@ -279,6 +261,6 @@ public class CallMenuController extends BaseController implements FlexibleAdapte
@Parcel
public enum MenuType {
- REGULAR, SHARE, NEW_CONVERSATION
+ REGULAR, SHARE
}
}
diff --git a/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java b/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java
index f66f48688..71eda60bc 100644
--- a/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java
+++ b/app/src/main/java/com/nextcloud/talk/controllers/bottomsheet/OperationsMenuController.java
@@ -630,8 +630,7 @@ public class OperationsMenuController extends BaseController {
conversationIntent.putExtras(bundle);
if (getParentController() != null) {
- getParentController().getRouter().pushController(RouterTransaction.with(new
- ChatController(bundle))
+ getParentController().getRouter().replaceTopController(RouterTransaction.with(new ChatController(bundle))
.pushChangeHandler(new HorizontalChangeHandler())
.popChangeHandler(new HorizontalChangeHandler()));
}
diff --git a/app/src/main/res/layout/controller_contacts_rv.xml b/app/src/main/res/layout/controller_contacts_rv.xml
index e12e2f786..c7970c8b8 100644
--- a/app/src/main/res/layout/controller_contacts_rv.xml
+++ b/app/src/main/res/layout/controller_contacts_rv.xml
@@ -37,7 +37,11 @@
android:indeterminateTintMode="src_in" />
+
+
-
-