From 1c13d893fc8ce44492ff0e24b9a5d4501b152bd0 Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Wed, 28 Nov 2018 16:37:25 +0100 Subject: [PATCH] Add basic FAB --- .../ConversationsListController.java | 20 ++++++++++++++----- .../layout/controller_conversations_rv.xml | 20 ++++++++++++++----- app/src/main/res/values/styles.xml | 2 +- 3 files changed, 31 insertions(+), 11 deletions(-) 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 de8f1e5da..206138c38 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java @@ -43,6 +43,7 @@ import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.conductor.changehandler.VerticalChangeHandler; import com.bluelinelabs.conductor.internal.NoOpControllerChangeHandler; import com.google.android.material.bottomnavigation.BottomNavigationView; +import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.kennyc.bottomsheet.BottomSheet; import com.nextcloud.talk.R; import com.nextcloud.talk.activities.MagicCallActivity; @@ -126,6 +127,9 @@ public class ConversationsListController extends BaseController implements Searc @BindView(R.id.fast_scroller) FastScroller fastScroller; + @BindView(R.id.floatingActionButton) + FloatingActionButton floatingActionButton; + private UserEntity currentUser; private Disposable roomsQueryDisposable; private FlexibleAdapter adapter; @@ -379,11 +383,9 @@ public class ConversationsListController extends BaseController implements Searc swipeRefreshLayout.setOnRefreshListener(() -> fetchData(false)); swipeRefreshLayout.setColorSchemeResources(R.color.colorPrimary); - emptyLayoutView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // TODO: show new conversation screen - } + emptyLayoutView.setOnClickListener(v -> showNewConversationsScreen()); + floatingActionButton.setOnClickListener(v -> { + showNewConversationsScreen(); }); fastScroller.addOnScrollStateChangeListener(this); @@ -403,6 +405,14 @@ public class ConversationsListController extends BaseController implements Searc }); } + private void showNewConversationsScreen() { + Bundle bundle = new Bundle(); + bundle.putBoolean(BundleKeys.KEY_NEW_CONVERSATION, true); + getRouter().pushController((RouterTransaction.with(new ContactsController(bundle)) + .pushChangeHandler(new HorizontalChangeHandler()) + .popChangeHandler(new HorizontalChangeHandler()))); + } + private void dispose(@Nullable Disposable disposable) { if (disposable != null && !disposable.isDisposed()) { disposable.dispose(); diff --git a/app/src/main/res/layout/controller_conversations_rv.xml b/app/src/main/res/layout/controller_conversations_rv.xml index 852d8b95f..6e6f58a69 100644 --- a/app/src/main/res/layout/controller_conversations_rv.xml +++ b/app/src/main/res/layout/controller_conversations_rv.xml @@ -20,11 +20,12 @@ --> + xmlns:tools="http://schemas.android.com/tools" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/generic_rv_layout" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/nc_white_color"> + + + diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ff29343b5..9edd8f554 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,7 +1,7 @@ -