From 5d489f844c517907916d88f71477fdae1dfca757 Mon Sep 17 00:00:00 2001 From: AndyScherzinger Date: Fri, 27 Apr 2018 18:27:35 +0200 Subject: [PATCH] Fixes #99 adding icons to the bottom sheet like recycler view menu --- .../talk/adapters/items/MenuItem.java | 14 ++++++++- .../bottomsheet/CallMenuController.java | 30 +++++++++---------- .../drawable/ic_account_plus_grey600_24dp.xml | 7 +++++ .../main/res/drawable/ic_add_grey600_24px.xml | 25 ++++++++++++++++ .../res/drawable/ic_close_grey600_24dp.xml | 7 +++++ .../res/drawable/ic_delete_grey600_24dp.xml | 7 +++++ .../res/drawable/ic_group_grey600_24px.xml | 7 +++++ .../res/drawable/ic_link_grey600_24px.xml | 7 +++++ .../res/drawable/ic_lock_grey600_24px.xml | 25 ++++++++++++++++ .../drawable/ic_lock_open_grey600_24dp.xml | 7 +++++ .../drawable/ic_lock_plus_grey600_24dp.xml | 7 +++++ .../res/drawable/ic_pencil_grey600_24dp.xml | 7 +++++ app/src/main/res/layout/rv_item_menu.xml | 13 ++++++-- 13 files changed, 144 insertions(+), 19 deletions(-) create mode 100644 app/src/main/res/drawable/ic_account_plus_grey600_24dp.xml create mode 100644 app/src/main/res/drawable/ic_add_grey600_24px.xml create mode 100644 app/src/main/res/drawable/ic_close_grey600_24dp.xml create mode 100644 app/src/main/res/drawable/ic_delete_grey600_24dp.xml create mode 100644 app/src/main/res/drawable/ic_group_grey600_24px.xml create mode 100644 app/src/main/res/drawable/ic_link_grey600_24px.xml create mode 100644 app/src/main/res/drawable/ic_lock_grey600_24px.xml create mode 100644 app/src/main/res/drawable/ic_lock_open_grey600_24dp.xml create mode 100644 app/src/main/res/drawable/ic_lock_plus_grey600_24dp.xml create mode 100644 app/src/main/res/drawable/ic_pencil_grey600_24dp.xml diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/MenuItem.java b/app/src/main/java/com/nextcloud/talk/adapters/items/MenuItem.java index 5aea43ae9..654559f3d 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/MenuItem.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/MenuItem.java @@ -2,7 +2,9 @@ * Nextcloud Talk application * * @author Mario Danic + * @author Andy Scherzinger * Copyright (C) 2017 Mario Danic + * Copyright (C) 2018 Andy Scherzinger * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,6 +23,8 @@ package com.nextcloud.talk.adapters.items; +import android.graphics.drawable.Drawable; +import android.support.annotation.DrawableRes; import android.text.Spannable; import android.text.SpannableString; import android.text.style.ForegroundColorSpan; @@ -29,6 +33,7 @@ import android.widget.TextView; import com.nextcloud.talk.R; import com.nextcloud.talk.application.NextcloudTalkApplication; +import com.nextcloud.talk.utils.DisplayUtils; import java.util.List; @@ -40,11 +45,16 @@ import eu.davidea.viewholders.FlexibleViewHolder; public class MenuItem extends AbstractFlexibleItem { private String title; + private Drawable icon; private int tag; + private int padding; - public MenuItem(String title, int tag) { + public MenuItem(String title, int tag, Drawable icon) { this.title = title; this.tag = tag; + this.icon = icon; + padding = (int) DisplayUtils.convertDpToPixel(16, + NextcloudTalkApplication.getSharedApplication().getApplicationContext()); } @Override @@ -82,6 +92,8 @@ public class MenuItem extends AbstractFlexibleItem holder.menuTitle.setText(spannableString); } else { holder.menuTitle.setText(title); + holder.menuTitle.setCompoundDrawablesWithIntrinsicBounds(icon,null,null,null); + holder.menuTitle.setCompoundDrawablePadding(padding); } } 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 8aed3e0d9..f234b4769 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 @@ -129,52 +129,52 @@ public class CallMenuController extends BaseController implements FlexibleAdapte menuItems = new ArrayList<>(); if (menuType.equals(MenuType.REGULAR)) { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_what), 0)); - - menuItems.add(new MenuItem(getResources().getString(R.string.nc_leave), 1)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_what), 0, null)); if (room.isNameEditable()) { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_rename), 2)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_rename), 1, getResources().getDrawable(R.drawable.ic_pencil_grey600_24dp))); } if (room.canModerate()) { if (!room.isPublic()) { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_public), 3)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_public), 2, getResources().getDrawable(R.drawable.ic_link_grey600_24px))); } else { if (room.isHasPassword()) { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_change_password), 4)); - menuItems.add(new MenuItem(getResources().getString(R.string.nc_clear_password), 5)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_change_password), 3, getResources().getDrawable(R.drawable.ic_lock_grey600_24px))); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_clear_password), 4, getResources().getDrawable(R.drawable.ic_lock_open_grey600_24dp))); } else { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_set_password), 6)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_set_password), 5, getResources().getDrawable(R.drawable.ic_lock_plus_grey600_24dp))); } } } if (room.isPublic()) { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_share_link), 7)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_share_link), 6, getResources().getDrawable(R.drawable.ic_link_grey600_24px))); if (room.canModerate()) { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_private), 8)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_make_call_private), 7, getResources().getDrawable(R.drawable.ic_group_grey600_24px))); } } if (room.isDeletable()) { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_delete_call), 9)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_delete_call), 8, getResources().getDrawable(R.drawable.ic_delete_grey600_24dp))); } + + menuItems.add(new MenuItem(getResources().getString(R.string.nc_leave), 9, getResources().getDrawable(R.drawable.ic_close_grey600_24dp))); } else if (menuType.equals(MenuType.SHARE)) { prepareIntent(); List appInfoList = ShareUtils.getShareApps(getActivity(), shareIntent, null, null); menuItems.add(new AppItem(getResources().getString(R.string.nc_share_link_via), "", "", - null)); + getResources().getDrawable(R.drawable.ic_link_grey600_24px))); if (appInfoList != null) { for (AppAdapter.AppInfo appInfo : appInfoList) { menuItems.add(new AppItem(appInfo.title, appInfo.packageName, appInfo.name, appInfo.drawable)); } } } else { - menuItems.add(new MenuItem(getResources().getString(R.string.nc_what), 0)); - menuItems.add(new MenuItem(getResources().getString(R.string.nc_new_conversation), 1)); - menuItems.add(new MenuItem(getResources().getString(R.string.nc_join_via_link), 2)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_what), 0, null)); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_new_conversation), 1, getResources().getDrawable(R.drawable.ic_add_grey600_24px))); + menuItems.add(new MenuItem(getResources().getString(R.string.nc_join_via_link), 2, getResources().getDrawable(R.drawable.ic_link_grey600_24px))); } } diff --git a/app/src/main/res/drawable/ic_account_plus_grey600_24dp.xml b/app/src/main/res/drawable/ic_account_plus_grey600_24dp.xml new file mode 100644 index 000000000..c52c2d5e8 --- /dev/null +++ b/app/src/main/res/drawable/ic_account_plus_grey600_24dp.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_add_grey600_24px.xml b/app/src/main/res/drawable/ic_add_grey600_24px.xml new file mode 100644 index 000000000..fc949ac46 --- /dev/null +++ b/app/src/main/res/drawable/ic_add_grey600_24px.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_close_grey600_24dp.xml b/app/src/main/res/drawable/ic_close_grey600_24dp.xml new file mode 100644 index 000000000..9b88ee4a6 --- /dev/null +++ b/app/src/main/res/drawable/ic_close_grey600_24dp.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_delete_grey600_24dp.xml b/app/src/main/res/drawable/ic_delete_grey600_24dp.xml new file mode 100644 index 000000000..211b0bf05 --- /dev/null +++ b/app/src/main/res/drawable/ic_delete_grey600_24dp.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_group_grey600_24px.xml b/app/src/main/res/drawable/ic_group_grey600_24px.xml new file mode 100644 index 000000000..69b45ba78 --- /dev/null +++ b/app/src/main/res/drawable/ic_group_grey600_24px.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_link_grey600_24px.xml b/app/src/main/res/drawable/ic_link_grey600_24px.xml new file mode 100644 index 000000000..b5386a5de --- /dev/null +++ b/app/src/main/res/drawable/ic_link_grey600_24px.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_lock_grey600_24px.xml b/app/src/main/res/drawable/ic_lock_grey600_24px.xml new file mode 100644 index 000000000..9b7a56bcd --- /dev/null +++ b/app/src/main/res/drawable/ic_lock_grey600_24px.xml @@ -0,0 +1,25 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_lock_open_grey600_24dp.xml b/app/src/main/res/drawable/ic_lock_open_grey600_24dp.xml new file mode 100644 index 000000000..8961fae1a --- /dev/null +++ b/app/src/main/res/drawable/ic_lock_open_grey600_24dp.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_lock_plus_grey600_24dp.xml b/app/src/main/res/drawable/ic_lock_plus_grey600_24dp.xml new file mode 100644 index 000000000..71522cc80 --- /dev/null +++ b/app/src/main/res/drawable/ic_lock_plus_grey600_24dp.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/drawable/ic_pencil_grey600_24dp.xml b/app/src/main/res/drawable/ic_pencil_grey600_24dp.xml new file mode 100644 index 000000000..4e39e0b19 --- /dev/null +++ b/app/src/main/res/drawable/ic_pencil_grey600_24dp.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/layout/rv_item_menu.xml b/app/src/main/res/layout/rv_item_menu.xml index 55c531662..2d6610fc7 100644 --- a/app/src/main/res/layout/rv_item_menu.xml +++ b/app/src/main/res/layout/rv_item_menu.xml @@ -3,7 +3,9 @@ ~ Nextcloud Talk application ~ ~ @author Mario Danic + ~ @author Andy Scherzinger ~ Copyright (C) 2017 Mario Danic + ~ Copyright (C) 2018 Andy Scherzinger ~ ~ This program is free software: you can redistribute it and/or modify ~ it under the terms of the GNU General Public License as published by @@ -20,8 +22,9 @@ --> + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + android:gravity="center_vertical" + android:textSize="18sp" + tools:drawableLeft="@drawable/ic_add_grey600_24px" + tools:drawablePadding="16dp" + tools:text="Start a new conversation" />