From d215c145cacdeca2465b6a81d124fc6710d68c38 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Wed, 4 Apr 2018 19:03:10 +0200
Subject: [PATCH] Create groundwork for additional settings

---
 .../ui/coresettings/CoreSettingsFragment.kt   |  13 +-
 app/src/main/res/drawable/ic_bell.xml         |   9 ++
 app/src/main/res/drawable/ic_settings.xml     |   9 ++
 app/src/main/res/layout/settings_list.xml     | 114 ++++++++++++++++--
 .../main/res/values-de/strings_settings.xml   |   6 +
 app/src/main/res/values/strings_settings.xml  |   6 +
 6 files changed, 142 insertions(+), 15 deletions(-)
 create mode 100644 app/src/main/res/drawable/ic_bell.xml
 create mode 100644 app/src/main/res/drawable/ic_settings.xml

diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt
index 47a3e50e4..64cbd6ce3 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/ui/coresettings/CoreSettingsFragment.kt
@@ -33,8 +33,17 @@ class CoreSettingsFragment : ServiceBoundFragment() {
   @BindView(R.id.chatlists)
   lateinit var chatlists: RecyclerView
 
+  @BindView(R.id.ignorelist)
+  lateinit var ignorelist: View
+
+  @BindView(R.id.highlightlist)
+  lateinit var highlightlist: View
+
+  @BindView(R.id.aliaslist)
+  lateinit var aliaslist: View
+
   @BindView(R.id.networkconfig)
-  lateinit var networkConfig: View
+  lateinit var networkconfig: View
 
   override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                             savedInstanceState: Bundle?): View? {
@@ -108,7 +117,7 @@ class CoreSettingsFragment : ServiceBoundFragment() {
       chatListAdapter.submitList(it.orEmpty())
     })
 
-    networkConfig.setOnClickListener {
+    networkconfig.setOnClickListener {
       startActivity(Intent(requireContext(), NetworkConfigActivity::class.java))
     }
 
diff --git a/app/src/main/res/drawable/ic_bell.xml b/app/src/main/res/drawable/ic_bell.xml
new file mode 100644
index 000000000..c9817d4e2
--- /dev/null
+++ b/app/src/main/res/drawable/ic_bell.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+  android:width="24dp"
+  android:height="24dp"
+  android:viewportHeight="24"
+  android:viewportWidth="24">
+  <path
+    android:fillColor="#000"
+    android:pathData="M12,22A2,2 0 0,0 14,20H10A2,2 0 0,0 12,22M18,16V11C18,7.93 16.36,5.36 13.5,4.68V4A1.5,1.5 0 0,0 12,2.5A1.5,1.5 0 0,0 10.5,4V4.68C7.63,5.36 6,7.92 6,11V16L4,18V19H20V18L18,16Z" />
+</vector>
diff --git a/app/src/main/res/drawable/ic_settings.xml b/app/src/main/res/drawable/ic_settings.xml
new file mode 100644
index 000000000..5b96b6b48
--- /dev/null
+++ b/app/src/main/res/drawable/ic_settings.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+  android:width="24dp"
+  android:height="24dp"
+  android:viewportHeight="24"
+  android:viewportWidth="24">
+  <path
+    android:fillColor="#000"
+    android:pathData="M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z" />
+</vector>
diff --git a/app/src/main/res/layout/settings_list.xml b/app/src/main/res/layout/settings_list.xml
index 31b83f712..65715bcfc 100644
--- a/app/src/main/res/layout/settings_list.xml
+++ b/app/src/main/res/layout/settings_list.xml
@@ -35,8 +35,6 @@
         <TextView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
-          android:ellipsize="marquee"
-          android:singleLine="true"
           android:text="@string/settings_networks_title"
           android:textColor="?colorTextPrimary"
           android:textSize="16sp" />
@@ -54,7 +52,6 @@
         android:id="@+id/networks"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:visibility="visible"
         tools:itemCount="2"
         tools:listitem="@layout/settings_item" />
 
@@ -95,8 +92,6 @@
         <TextView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
-          android:ellipsize="marquee"
-          android:singleLine="true"
           android:text="@string/settings_identities_title"
           android:textColor="?colorTextPrimary"
           android:textSize="16sp" />
@@ -114,7 +109,6 @@
         android:id="@+id/identities"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:visibility="visible"
         tools:itemCount="1"
         tools:listitem="@layout/settings_item" />
 
@@ -155,8 +149,6 @@
         <TextView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
-          android:ellipsize="marquee"
-          android:singleLine="true"
           android:text="@string/settings_chatlists_title"
           android:textColor="?colorTextPrimary"
           android:textSize="16sp" />
@@ -174,7 +166,6 @@
         android:id="@+id/chatlists"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:visibility="visible"
         tools:itemCount="2"
         tools:listitem="@layout/settings_item" />
 
@@ -192,7 +183,73 @@
     </LinearLayout>
 
     <LinearLayout
-      android:id="@+id/networkconfig"
+      android:id="@+id/ignorelist"
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:background="?selectableItemBackground"
+      android:focusable="true"
+      android:gravity="center_vertical"
+      android:minHeight="?listPreferredItemHeightSmall"
+      android:paddingEnd="?listPreferredItemPaddingRight"
+      android:paddingLeft="?listPreferredItemPaddingLeft"
+      android:paddingRight="?listPreferredItemPaddingRight"
+      android:paddingStart="?listPreferredItemPaddingLeft">
+
+      <android.support.v7.widget.AppCompatImageView
+        style="@style/Widget.CoreSettings.PrimaryItemIcon"
+        app:srcCompat="@drawable/ic_filter" />
+
+      <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingBottom="16dp"
+        android:paddingTop="16dp">
+
+        <TextView
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content"
+          android:text="@string/settings_ignorelist_title"
+          android:textColor="?colorTextPrimary"
+          android:textSize="16sp" />
+      </LinearLayout>
+    </LinearLayout>
+
+    <LinearLayout
+      android:id="@+id/highlightlist"
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:background="?selectableItemBackground"
+      android:focusable="true"
+      android:gravity="center_vertical"
+      android:minHeight="?listPreferredItemHeightSmall"
+      android:paddingEnd="?listPreferredItemPaddingRight"
+      android:paddingLeft="?listPreferredItemPaddingLeft"
+      android:paddingRight="?listPreferredItemPaddingRight"
+      android:paddingStart="?listPreferredItemPaddingLeft">
+
+      <android.support.v7.widget.AppCompatImageView
+        style="@style/Widget.CoreSettings.PrimaryItemIcon"
+        app:srcCompat="@drawable/ic_bell" />
+
+      <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingBottom="16dp"
+        android:paddingTop="16dp">
+
+        <TextView
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content"
+          android:text="@string/settings_highlightlist_title"
+          android:textColor="?colorTextPrimary"
+          android:textSize="16sp" />
+      </LinearLayout>
+    </LinearLayout>
+
+    <LinearLayout
+      android:id="@+id/aliaslist"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="?selectableItemBackground"
@@ -218,12 +275,43 @@
         <TextView
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
-          android:ellipsize="marquee"
-          android:singleLine="true"
+          android:text="@string/settings_aliaslist_title"
+          android:textColor="?colorTextPrimary"
+          android:textSize="16sp" />
+      </LinearLayout>
+    </LinearLayout>
+
+    <LinearLayout
+      android:id="@+id/networkconfig"
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:background="?selectableItemBackground"
+      android:focusable="true"
+      android:gravity="center_vertical"
+      android:minHeight="?listPreferredItemHeightSmall"
+      android:paddingEnd="?listPreferredItemPaddingRight"
+      android:paddingLeft="?listPreferredItemPaddingLeft"
+      android:paddingRight="?listPreferredItemPaddingRight"
+      android:paddingStart="?listPreferredItemPaddingLeft">
+
+      <android.support.v7.widget.AppCompatImageView
+        style="@style/Widget.CoreSettings.PrimaryItemIcon"
+        app:srcCompat="@drawable/ic_settings" />
+
+      <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingBottom="16dp"
+        android:paddingTop="16dp">
+
+        <TextView
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content"
           android:text="@string/settings_networkconfig_title"
           android:textColor="?colorTextPrimary"
           android:textSize="16sp" />
       </LinearLayout>
     </LinearLayout>
   </LinearLayout>
-</android.support.v4.widget.NestedScrollView>
\ No newline at end of file
+</android.support.v4.widget.NestedScrollView>
diff --git a/app/src/main/res/values-de/strings_settings.xml b/app/src/main/res/values-de/strings_settings.xml
index 90342670a..39270f26f 100644
--- a/app/src/main/res/values-de/strings_settings.xml
+++ b/app/src/main/res/values-de/strings_settings.xml
@@ -39,6 +39,12 @@
   <string name="settings_chatlist_hide_inactive_buffers">Inaktive Chats verstecken</string>
   <string name="settings_chatlist_hide_inactive_networks">Inaktive Netzwerke verstecken</string>
 
+  <string name="settings_ignorelist_title">Ignorieren-Liste</string>
+
+  <string name="settings_highlightlist_title">Hervorhebungen</string>
+
+  <string name="settings_aliaslist_title">Aliase</string>
+
   <string name="settings_networkconfig_title">IRC Konfiguration</string>
   <string name="settings_networkconfig_ping_timeout">Erkennung von Ping-Zeitüberschreitungen</string>
   <string name="settings_networkconfig_ping_interval">Ping-Intervall</string>
diff --git a/app/src/main/res/values/strings_settings.xml b/app/src/main/res/values/strings_settings.xml
index b81143439..4500437c6 100644
--- a/app/src/main/res/values/strings_settings.xml
+++ b/app/src/main/res/values/strings_settings.xml
@@ -39,6 +39,12 @@
   <string name="settings_chatlist_hide_inactive_buffers">Hide Inactive Chats</string>
   <string name="settings_chatlist_hide_inactive_networks">Hide Inactive Networks</string>
 
+  <string name="settings_ignorelist_title">Ignorelist</string>
+
+  <string name="settings_highlightlist_title">Highlights</string>
+
+  <string name="settings_aliaslist_title">Aliases</string>
+
   <string name="settings_networkconfig_title">IRC Config</string>
   <string name="settings_networkconfig_ping_timeout">Ping Timeout Detection</string>
   <string name="settings_networkconfig_ping_interval">Ping Interval</string>
-- 
GitLab