diff --git a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java index 7d7c071b..8c37b30b 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PinAdapter.java @@ -37,14 +37,16 @@ import java.util.List; import static org.floens.chan.utils.AndroidUtils.ROBOTO_MEDIUM; import static org.floens.chan.utils.AndroidUtils.dp; +import static org.floens.chan.utils.AndroidUtils.getAttrColor; import static org.floens.chan.utils.AndroidUtils.setRoundItemBackground; public class PinAdapter extends RecyclerView.Adapter implements SwipeListener.Callback { - private static final int PIN_OFFSET = 1; + private static final int PIN_OFFSET = 4; private static final int TYPE_HEADER = 0; private static final int TYPE_PIN = 1; private static final int TYPE_LINK = 2; + private static final int TYPE_DIVIDER = 3; private final Callback callback; private List pins = new ArrayList<>(); @@ -63,6 +65,8 @@ public class PinAdapter extends RecyclerView.Adapter im return new PinViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_pin, parent, false)); case TYPE_LINK: return new LinkHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_link, parent, false)); + case TYPE_DIVIDER: + return new DividerHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.cell_divider, parent, false)); } return null; } @@ -85,16 +89,15 @@ public class PinAdapter extends RecyclerView.Adapter im case TYPE_LINK: LinkHolder linkHolder = (LinkHolder) holder; switch (position) { - case 0: - linkHolder.text.setText(R.string.drawer_board); - linkHolder.image.setImageResource(R.drawable.ic_view_list_24dp); - break; case 1: - linkHolder.text.setText(R.string.drawer_catalog); - linkHolder.image.setImageResource(R.drawable.ic_view_module_24dp); + linkHolder.text.setText(R.string.settings_screen); + linkHolder.image.setImageResource(R.drawable.ic_settings_grey600_24dp); break; } break; + case TYPE_DIVIDER: + ((DividerHolder) holder).withBackground(position != 0); + break; } } @@ -116,10 +119,12 @@ public class PinAdapter extends RecyclerView.Adapter im @Override public int getItemViewType(int position) { switch (position) { - /*case 0: case 1: - return TYPE_LINK;*/ + return TYPE_LINK; case 0: + case 2: + return TYPE_DIVIDER; + case 3: return TYPE_HEADER; default: return TYPE_PIN; @@ -303,12 +308,33 @@ public class PinAdapter extends RecyclerView.Adapter im itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - + callback.openSettings(); } }); } } + public class DividerHolder extends RecyclerView.ViewHolder { + private boolean withBackground = false; + private View divider; + + public DividerHolder(View itemView) { + super(itemView); + divider = itemView.findViewById(R.id.divider); + } + + public void withBackground(boolean withBackground) { + if (withBackground != this.withBackground) { + this.withBackground = withBackground; + if (withBackground) { + divider.setBackgroundColor(getAttrColor(itemView.getContext(), R.attr.divider_color)); + } else { + divider.setBackgroundColor(0); + } + } + } + } + public interface Callback { void onPinClicked(Pin pin); @@ -317,5 +343,7 @@ public class PinAdapter extends RecyclerView.Adapter im void onHeaderClicked(HeaderHolder holder); boolean isHighlighted(Pin pin); + + void openSettings(); } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java index 4c504a8f..387c0231 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/BrowseController.java @@ -47,7 +47,6 @@ public class BrowseController extends ThreadController implements ToolbarMenuIte private static final int POST_ID = 2; private static final int SEARCH_ID = 101; private static final int SHARE_ID = 102; - private static final int SETTINGS_ID = 103; private List boardItems; @@ -76,7 +75,6 @@ public class BrowseController extends ThreadController implements ToolbarMenuIte List items = new ArrayList<>(); items.add(new FloatingMenuItem(SEARCH_ID, context.getString(R.string.action_search))); items.add(new FloatingMenuItem(SHARE_ID, context.getString(R.string.action_share))); - items.add(new FloatingMenuItem(SETTINGS_ID, context.getString(R.string.settings_screen))); overflow.setSubMenu(new FloatingMenu(context, overflow.getView(), items)); } @@ -103,10 +101,6 @@ public class BrowseController extends ThreadController implements ToolbarMenuIte String link = ChanUrls.getCatalogUrlDesktop(threadLayout.getPresenter().getLoadable().board); AndroidUtils.shareLink(link); break; - case SETTINGS_ID: - MainSettingsController mainSettingsController = new MainSettingsController(context); - navigationController.pushController(mainSettingsController); - break; } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/RootNavigationController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/RootNavigationController.java index 21c9d13e..1ceb303c 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/RootNavigationController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/RootNavigationController.java @@ -170,6 +170,11 @@ public class RootNavigationController extends NavigationController implements Pi pushController(new WatchSettingsController(context)); } + @Override + public void openSettings() { + pushController(new MainSettingsController(context)); + } + public void onEvent(WatchManager.PinAddedMessage message) { pinAdapter.onPinAdded(message.pin); drawerLayout.openDrawer(drawer); diff --git a/Clover/app/src/main/res/layout/cell_divider.xml b/Clover/app/src/main/res/layout/cell_divider.xml new file mode 100644 index 00000000..704d4489 --- /dev/null +++ b/Clover/app/src/main/res/layout/cell_divider.xml @@ -0,0 +1,32 @@ + + + + + + + + diff --git a/Clover/app/src/main/res/layout/cell_post.xml b/Clover/app/src/main/res/layout/cell_post.xml index ae9a930b..d95017fb 100644 --- a/Clover/app/src/main/res/layout/cell_post.xml +++ b/Clover/app/src/main/res/layout/cell_post.xml @@ -72,7 +72,7 @@ along with this program. If not, see . android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" - android:background="?attr/post_divider_color" /> + android:background="?attr/divider_color" /> . - + + diff --git a/Clover/app/src/main/res/values/styles.xml b/Clover/app/src/main/res/values/styles.xml index 3888e87c..df2d8559 100644 --- a/Clover/app/src/main/res/values/styles.xml +++ b/Clover/app/src/main/res/values/styles.xml @@ -51,9 +51,10 @@ along with this program. If not, see . #ff636363 #00000000 #ff789922 - #1E000000 @drawable/ic_overflow + #1e000000 + #ffffffff #88ffffff #ff757575 @@ -63,6 +64,8 @@ along with this program. If not, see .