From c3c2569a545268d54a8d70e41002cb6df04f786b Mon Sep 17 00:00:00 2001 From: Floens Date: Fri, 10 Apr 2015 16:49:22 +0200 Subject: [PATCH] Partial board editor controller --- .../ui/controller/BoardEditController.java | 90 ++++++++++++++++++- .../src/main/res/layout/cell_board_edit.xml | 30 +++++++ .../main/res/layout/controller_board_edit.xml | 17 ++++ .../layout/controller_navigation_drawer.xml | 4 +- 4 files changed, 134 insertions(+), 7 deletions(-) create mode 100644 Clover/app/src/main/res/layout/cell_board_edit.xml create mode 100644 Clover/app/src/main/res/layout/controller_board_edit.xml diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java index d4aec833..60d696ee 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/BoardEditController.java @@ -1,12 +1,31 @@ package org.floens.chan.ui.controller; import android.content.Context; -import android.widget.FrameLayout; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import org.floens.chan.ChanApplication; import org.floens.chan.R; import org.floens.chan.controller.Controller; +import org.floens.chan.core.manager.BoardManager; +import org.floens.chan.core.model.Board; +import org.floens.chan.ui.drawable.ThumbDrawable; +import org.floens.chan.ui.helper.SwipeListener; + +import java.util.List; + +public class BoardEditController extends Controller implements SwipeListener.Callback { + private final BoardManager boardManager = ChanApplication.getBoardManager(); + + private RecyclerView recyclerView; + private BoardEditAdapter adapter; + + private List boards; -public class BoardEditController extends Controller { public BoardEditController(Context context) { super(context); } @@ -16,8 +35,71 @@ public class BoardEditController extends Controller { super.onCreate(); navigationItem.title = string(R.string.board_edit); + view = inflateRes(R.layout.controller_board_edit); + recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); + recyclerView.setHasFixedSize(true); + + boards = boardManager.getSavedBoards(); + + adapter = new BoardEditAdapter(); + recyclerView.setAdapter(adapter); + + new SwipeListener(context, recyclerView, this); + } + + @Override + public SwipeListener.Swipeable getSwipeable(int position) { + return boards.size() > 1 ? SwipeListener.Swipeable.BOTH : SwipeListener.Swipeable.NO; + } + + @Override + public void removeItem(int position) { + + } + + @Override + public boolean isMoveable(int position) { + return false; + } + + @Override + public void moveItem(int from, int to) { + + } + + @Override + public void movingDone() { + + } + + private class BoardEditAdapter extends RecyclerView.Adapter { + @Override + public BoardEditItem onCreateViewHolder(ViewGroup parent, int viewType) { + return new BoardEditItem(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_board_edit, parent, false)); + } + + @Override + public void onBindViewHolder(BoardEditItem holder, int position) { + Board board = boards.get(position); + holder.text.setText("/" + board.value + "/ " + board.key); + } + + @Override + public int getItemCount() { + return boards.size(); + } + } + + private class BoardEditItem extends RecyclerView.ViewHolder { + private ImageView image; + private TextView text; + + public BoardEditItem(View itemView) { + super(itemView); + image = (ImageView) itemView.findViewById(R.id.thumb); + text = (TextView) itemView.findViewById(R.id.text); - view = new FrameLayout(context); - view.setBackgroundColor(0xffffffff); + image.setImageDrawable(new ThumbDrawable()); + } } } diff --git a/Clover/app/src/main/res/layout/cell_board_edit.xml b/Clover/app/src/main/res/layout/cell_board_edit.xml new file mode 100644 index 00000000..f5b1d475 --- /dev/null +++ b/Clover/app/src/main/res/layout/cell_board_edit.xml @@ -0,0 +1,30 @@ + + + + + + + + diff --git a/Clover/app/src/main/res/layout/controller_board_edit.xml b/Clover/app/src/main/res/layout/controller_board_edit.xml new file mode 100644 index 00000000..9ea8948e --- /dev/null +++ b/Clover/app/src/main/res/layout/controller_board_edit.xml @@ -0,0 +1,17 @@ + + + + + + diff --git a/Clover/app/src/main/res/layout/controller_navigation_drawer.xml b/Clover/app/src/main/res/layout/controller_navigation_drawer.xml index 8d6d73b0..b54672d6 100644 --- a/Clover/app/src/main/res/layout/controller_navigation_drawer.xml +++ b/Clover/app/src/main/res/layout/controller_navigation_drawer.xml @@ -56,9 +56,7 @@ along with this program. If not, see . android:clipToPadding="false" android:scrollbarStyle="outsideOverlay" android:layout_width="match_parent" - android:layout_height="match_parent" - android:elevation="8dp"/> - + android:layout_height="match_parent" />