From 97cc310460fd0c0e642a51183bf4a23653123270 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 3 Jun 2022 11:45:09 +0200 Subject: [PATCH] make hub slightly more appealing --- common/src/main/res/values/strings.xml | 2 +- .../habitica/ui/activities/MainActivity.kt | 30 ++++++++++++++---- .../wearos/habitica/ui/adapters/HubAdapter.kt | 1 + .../ui/viewmodels/TaskListViewModel.kt | 8 ++++- .../main/res/drawable-anydpi/ic_avatar.xml | 11 +++++++ .../main/res/drawable-anydpi/ic_settings.xml | 11 +++++++ .../src/main/res/drawable-anydpi/ic_stats.xml | 11 +++++++ .../src/main/res/drawable-hdpi/ic_avatar.png | Bin 0 -> 294 bytes .../main/res/drawable-hdpi/ic_settings.png | Bin 0 -> 477 bytes .../src/main/res/drawable-hdpi/ic_stats.png | Bin 0 -> 183 bytes .../src/main/res/drawable-mdpi/ic_avatar.png | Bin 0 -> 232 bytes .../main/res/drawable-mdpi/ic_settings.png | Bin 0 -> 340 bytes .../src/main/res/drawable-mdpi/ic_stats.png | Bin 0 -> 130 bytes .../src/main/res/drawable-xhdpi/ic_avatar.png | Bin 0 -> 370 bytes .../main/res/drawable-xhdpi/ic_settings.png | Bin 0 -> 648 bytes .../src/main/res/drawable-xhdpi/ic_stats.png | Bin 0 -> 236 bytes .../main/res/drawable-xxhdpi/ic_avatar.png | Bin 0 -> 556 bytes .../main/res/drawable-xxhdpi/ic_settings.png | Bin 0 -> 925 bytes .../src/main/res/drawable-xxhdpi/ic_stats.png | Bin 0 -> 273 bytes .../src/main/res/drawable/row_background.xml | 2 +- wearos/src/main/res/layout/row_habit.xml | 6 ++-- 21 files changed, 70 insertions(+), 12 deletions(-) create mode 100644 wearos/src/main/res/drawable-anydpi/ic_avatar.xml create mode 100644 wearos/src/main/res/drawable-anydpi/ic_settings.xml create mode 100644 wearos/src/main/res/drawable-anydpi/ic_stats.xml create mode 100644 wearos/src/main/res/drawable-hdpi/ic_avatar.png create mode 100644 wearos/src/main/res/drawable-hdpi/ic_settings.png create mode 100644 wearos/src/main/res/drawable-hdpi/ic_stats.png create mode 100644 wearos/src/main/res/drawable-mdpi/ic_avatar.png create mode 100644 wearos/src/main/res/drawable-mdpi/ic_settings.png create mode 100644 wearos/src/main/res/drawable-mdpi/ic_stats.png create mode 100644 wearos/src/main/res/drawable-xhdpi/ic_avatar.png create mode 100644 wearos/src/main/res/drawable-xhdpi/ic_settings.png create mode 100644 wearos/src/main/res/drawable-xhdpi/ic_stats.png create mode 100644 wearos/src/main/res/drawable-xxhdpi/ic_avatar.png create mode 100644 wearos/src/main/res/drawable-xxhdpi/ic_settings.png create mode 100644 wearos/src/main/res/drawable-xxhdpi/ic_stats.png diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml index 684af62d3..000f05950 100644 --- a/common/src/main/res/values/strings.xml +++ b/common/src/main/res/values/strings.xml @@ -20,5 +20,5 @@ To Do\'s Rewards Stats - + Settings \ No newline at end of file diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt index de743f789..85a553f0b 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/activities/MainActivity.kt @@ -7,6 +7,7 @@ import android.util.Log import android.view.View import androidx.activity.viewModels import androidx.appcompat.content.res.AppCompatResources +import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import androidx.wear.widget.WearableLinearLayoutManager import com.habitrpg.common.habitica.models.tasks.TaskType @@ -21,6 +22,7 @@ data class MenuItem( val identifier: String, val title: String, val icon: Drawable?, + val color: Int, val onClick: () -> Unit ) @@ -52,42 +54,56 @@ class MainActivity : BaseActivity() { MenuItem( "avatar", "Avatar", - AppCompatResources.getDrawable(this, R.drawable.icon_rewards) + AppCompatResources.getDrawable(this, R.drawable.ic_avatar), + ContextCompat.getColor(this, R.color.brand_400) ) { }, MenuItem( "Stats", getString(R.string.stats), - AppCompatResources.getDrawable(this, R.drawable.icon_rewards) + AppCompatResources.getDrawable(this, R.drawable.ic_stats), + ContextCompat.getColor(this, R.color.red_100) ) { }, MenuItem( "habits", getString(R.string.habits), - AppCompatResources.getDrawable(this, R.drawable.icon_habits) + AppCompatResources.getDrawable(this, R.drawable.icon_habits), + ContextCompat.getColor(this, R.color.orange_100) ) { openTasklist(TaskType.HABIT) }, MenuItem( "dailies", getString(R.string.dailies), - AppCompatResources.getDrawable(this, R.drawable.icon_dailies) + AppCompatResources.getDrawable(this, R.drawable.icon_dailies), + ContextCompat.getColor(this, R.color.yellow_100) ) { openTasklist(TaskType.DAILY) }, MenuItem( "todos", getString(R.string.todos), - AppCompatResources.getDrawable(this, R.drawable.icon_todos) + AppCompatResources.getDrawable(this, R.drawable.icon_todos), + ContextCompat.getColor(this, R.color.green_100) ) { openTasklist(TaskType.TODO) }, MenuItem( "rewards", getString(R.string.rewards), - AppCompatResources.getDrawable(this, R.drawable.icon_rewards) + AppCompatResources.getDrawable(this, R.drawable.icon_rewards), + ContextCompat.getColor(this, R.color.teal_100) + ) { + openTasklist(TaskType.REWARD) + }, + MenuItem( + "settings", + getString(R.string.settings), + AppCompatResources.getDrawable(this, R.drawable.ic_settings), + ContextCompat.getColor(this, R.color.blue_100) ) { openTasklist(TaskType.REWARD) } @@ -99,7 +115,7 @@ class MainActivity : BaseActivity() { private fun openTasklist(type: TaskType) { val intent = Intent(this, TaskListActivity::class.java).apply { - putExtra("type", type.name) + putExtra("task_type", type.name) } startActivity(intent) } diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt index 095c65257..05dbc934a 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/adapters/HubAdapter.kt @@ -32,6 +32,7 @@ class HubViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) { fun bind(item: MenuItem) { binding.title.text = item.title binding.iconView.setImageDrawable(item.icon) + binding.iconView.setColorFilter(item.color) binding.root.setOnClickListener { item.onClick() } diff --git a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/TaskListViewModel.kt b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/TaskListViewModel.kt index e7100687e..4683f204c 100644 --- a/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/TaskListViewModel.kt +++ b/wearos/src/main/java/com/habitrpg/wearos/habitica/ui/viewmodels/TaskListViewModel.kt @@ -1,7 +1,9 @@ package com.habitrpg.wearos.habitica.ui.viewmodels import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.viewModelScope +import com.habitrpg.common.habitica.models.tasks.TaskType import com.habitrpg.wearos.habitica.data.repositories.TaskRepository import com.habitrpg.wearos.habitica.data.repositories.UserRepository import com.habitrpg.wearos.habitica.models.tasks.Task @@ -11,14 +13,18 @@ import javax.inject.Inject @HiltViewModel class TaskListViewModel @Inject constructor( + savedStateHandle: SavedStateHandle, private val taskRepository: TaskRepository, userRepository: UserRepository ) : BaseViewModel(userRepository) { val tasks = MutableLiveData>() + val taskType = TaskType.from(savedStateHandle.get("task_type")) init { viewModelScope.launch { - tasks.value = taskRepository.retrieveTasks()?.tasks?.values?.toList() + tasks.value = taskRepository.retrieveTasks()?.tasks?.values?.filter { + it.type == taskType + }?.toList() } } } \ No newline at end of file diff --git a/wearos/src/main/res/drawable-anydpi/ic_avatar.xml b/wearos/src/main/res/drawable-anydpi/ic_avatar.xml new file mode 100644 index 000000000..34f95442e --- /dev/null +++ b/wearos/src/main/res/drawable-anydpi/ic_avatar.xml @@ -0,0 +1,11 @@ + + + diff --git a/wearos/src/main/res/drawable-anydpi/ic_settings.xml b/wearos/src/main/res/drawable-anydpi/ic_settings.xml new file mode 100644 index 000000000..52facccf7 --- /dev/null +++ b/wearos/src/main/res/drawable-anydpi/ic_settings.xml @@ -0,0 +1,11 @@ + + + diff --git a/wearos/src/main/res/drawable-anydpi/ic_stats.xml b/wearos/src/main/res/drawable-anydpi/ic_stats.xml new file mode 100644 index 000000000..57b5aabc8 --- /dev/null +++ b/wearos/src/main/res/drawable-anydpi/ic_stats.xml @@ -0,0 +1,11 @@ + + + diff --git a/wearos/src/main/res/drawable-hdpi/ic_avatar.png b/wearos/src/main/res/drawable-hdpi/ic_avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..f7130e05845c0f6aff93986f3b2e2da3b745f8f8 GIT binary patch literal 294 zcmV+>0oneEP)D1>EU;4d9QLVkP#-nefophU@0|H>+{tu%_b#iuM_OJ|1QwrrZoQ5fpfkBg}u_u%bxR0Q1nn5c{y^P siPFSX&NJZ#-g2G^H}ID8f*?4G7jdVXOJ?%#bN~PV07*qoM6N<$f|TNf9smFU literal 0 HcmV?d00001 diff --git a/wearos/src/main/res/drawable-hdpi/ic_settings.png b/wearos/src/main/res/drawable-hdpi/ic_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..ac9c9033e1112e3bf83d37e03973fe987ef9d425 GIT binary patch literal 477 zcmV<30V4j1P)5NFA1KGwWl0-e*)Ooc}OWFX}j3MGuCS?uLt}Gb9JdLiJ4j|r+bboC56|WFT?GFLD}ki2$8CV`9v7=o zH2euGHiMVKg#`AjuMXJ9Hho6s0``EntgjBd+n)^|{1tux{TEdQ T;!phe00000NkvXXu0mjfS8Un} literal 0 HcmV?d00001 diff --git a/wearos/src/main/res/drawable-hdpi/ic_stats.png b/wearos/src/main/res/drawable-hdpi/ic_stats.png new file mode 100644 index 0000000000000000000000000000000000000000..4c74762b2dcc8d052dc7c6bb2d0cfcc25260dbf5 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB>O5T>Ln`9lPQA$4V8G*I-JX2I zGUo8YIV-J?a)df*%=6M%^!-6y)xui)++d}a3Dq4ZavuMFx58!P$J%m@mLJP)bH>=WKq9U|JMs|ZX!2a*@L9t0c;Eb2mk>?0G^I_v?cBJb=e3cBwTXI_ImHr*Y0h#`U?Qq z8h662>fS~Sco*(e_ckop(MfPr-7J`6Z`>O<@x3!%oCLIWQL~9YeG$xqiLMev11odQ zMdKBK-|MCH&&C$k#?f&|JkdGw?5rn_i0#z`?BmUGAgiiqb95wQ)CmZLU9i&J;iS3* z)H|W?T6F~wKB~#;6SyYY=dGFqMPEyR(4s+{2Gu2?ZV})879kw+C=ShC(B|k!#;6aO zMzn8Hs&39ToxDY@s+O?Y?F$HJkdKP|xy5`pSB+T#Vb~o|4m&RqZTYaHPhSL^3w&~1 mdw_p7?OrbhzWvMmX*>Y5%!hz{DLzyH0000mdKI;Vst0IGl{=>Px# literal 0 HcmV?d00001 diff --git a/wearos/src/main/res/drawable-xhdpi/ic_avatar.png b/wearos/src/main/res/drawable-xhdpi/ic_avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..d0546f19b52eacfcda7efb1b48c5312826f61572 GIT binary patch literal 370 zcmV-&0ge8NP)0jcz>#&_1J;WUlkIt9fba5!`H0>>i9Q1zP>0J*Lk+(Iz>R*^Biuh)7)_5WFM9xfhS(NxaYi4+mMl({uFPJ=bwX0#ryZ>eo!zvFf$H zFZ;4sjnqjF^Q&63=JjR+>G{4ya8}ot_l_WKmp-%DQuboSIVOSBc`e9`ENzcD?t~OM zXNr4y<~(Mk$SqUY%PZ$GlPT&d=P|3orl!zyM@{4gdpm02rVh00w{o7@!Q04!}-A|D1yPm1Egy(r}l5_l`Tq z`ci|fIJvr7v}n;;B_g+d@cdax3w%|+GQ4u!Y^24tM!`(WakG(8tO>`>LR#1z7uv%e z$6s7pRAUsHqT%>ar3tTj>yl`DE zNm*MQoAS1+K_7-uDeyRl&z|e+l?JR06EE*#^m&YR*Lc2{HG3u{>CTfQn*?)=I1gnV zNy;8fAY1%Vm}|uMv11RHx}rU4O#4zxJ zrE&89jIr(-&-aqOIe#SKNysLpoa;DU-l`?jIwz*CrHb!c=h)PLOO^0a&xTWSkRdPi zkfb{j{yRHkycBq(j@JIplahoFTeuT2#Ky)C;tyLj8y-dThb_EB#kq!m*n&FqhR0)d z$+^fB&m12Mxsa2`M^%@U3r*2*{KX|@ZMUv1jxD256ONmWxX=U#j+>3d_u#94Fijx| idm#zWU$kh^Fnt3l56+9HYRsho00006V>V z{;T=hW`0rYF`RN^na6|EN=C-ZW!gJBI{rw8md3sBEx&YIjD5{9#?^%fvbM<-h*oTs z+q>a4gV-+ly$>4HGen9Ggh;i@7)*6jWN-QP&;Nzl{@=npFIboA?7j1%wdjBX+3Z=S f4lXV(au1l}{Tyywx^!3-=zIoGS3j3^P6dr|X>@B>Lqh;9f$`{3ksLk;Lb3 zIVL1oEC?Zl5JCtcggg}@vQl5vgL+oKJMFW5XWLeIT=jGV^L{lTL)yO2F;E(`QQOQQ z3~9$S*j`m=z-=b@y>7AHDv&gDFl?y}wjUZvYfhU9T52mbtw|bYp9%S2_gE(+l4cKv z^D_P{(h$2$FfVslFB}@;mxBaYd5iVJAw0$U5iZjG z2!H1L5nd<`BmAq;kEB`jl?hp@wN=OLxgfmVF^uqr*)Wo3QpxFN$28bpl}K8X?pe5P z-@4YETj&PLu9NIy5+D26ced^M28Iwq2#JaQY_HXg`YP!Sjt}+o>L>o9eP`QjAKTZC zSz~+Q=?27JW3jL}2qm_X+Ojrd4w!XZeUtpm@YZTrt@#g@q|?A_rj%&4H`uR-Bk2$5 z6tm@4tuGDsb8@s3OG%3;c5p5p)Ft+N5+toNbDA}OX?>h_eX@e$`@YZEwld`)$+!;# z$8ws7jN)_K^ihs~yH<;wGKHgf!aVL|iiQ&NxPt|wiFw??g3-i0?qI=aVjg#}U^Fq0 uJ6JH9n8zI~7){JW2qA>4(|g%Lsk00004cT@QH72+JUcu(KQ7Gs)(3@-JIcn8^1$iI1uF?RTRxBR4&n^%OyiPWlBnU5=o z9~T*PYZ_!;Zb1KRZ%rREFBgLGy%KDz^6lvm%lfDU+Nwr)mi=J%qy*Wz_A<{^Ag!!h z#7!J;z<^i;DE`df9XF$;WIupIJnodn9%5I&*fwy?G*({kA$!>mCI`jXsyi8H36v=k z2N@@uU~)$z#eA&>86y>5tN2-zeWO$myYNpXK(5Rag3mjNH{8DddZkpJ6iZjTniQ# zZjPD8%IiI3KZ3#fijgXo>*M$9zb5f#{w}AKuaVn2v{%fxF2BtyVu?Q}LAEO9;$G@= zT8r9c-fpNM?-Z|AeagJtKwbx3s}?J#36v}Q=g^DH#~q}7SI?@)cU#Vp#9DD}WUQ30 zq{=^nN1!Lp^=a-Q&Jt@EJ?9?c)Z(4*ObDls0rSoca*PDAkJ2WdD|#&UP&j>8ajw2) zy#(;tmHX^|Yeh*oOVY17VB3+G+r!iXY}*8T_gy=%HNJigX05>1)19wW|0`f?SIV{t zH2~ZH8Ed=5A3@xSbFt1*`|D4q)9G|NopbUR`Fa9rSjZy=00000NkvXXu0mjfc<#U2 literal 0 HcmV?d00001 diff --git a/wearos/src/main/res/drawable-xxhdpi/ic_stats.png b/wearos/src/main/res/drawable-xxhdpi/ic_stats.png new file mode 100644 index 0000000000000000000000000000000000000000..4814ddc25651cb41eb82d1f4758b5a03d579b2b4 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!H#}V&Ln`9lUU$r5N)%`beE(!_ z(XBfx7o`|)ah~4IB2>#?^_<`I{<+hvK*bI7Cq1d!eZJ`W&v&^TA((Ja&4SxM`pZ6_ zz4-UBf76-Y*BhT5x4BbOT=M_N&)<`USIlvE%A%znVA*(zGsJH}5z|zt&~~;{-|P4N zeD;!ee-@wR?w`*znBG2Cx?rbAGPPcg1L)2N?|(AQEsxoJRH<+Ykjvod>gTe~DWM4f DFr0I+ literal 0 HcmV?d00001 diff --git a/wearos/src/main/res/drawable/row_background.xml b/wearos/src/main/res/drawable/row_background.xml index ded31b0b9..8d6f26e04 100644 --- a/wearos/src/main/res/drawable/row_background.xml +++ b/wearos/src/main/res/drawable/row_background.xml @@ -1,5 +1,5 @@ - + \ No newline at end of file diff --git a/wearos/src/main/res/layout/row_habit.xml b/wearos/src/main/res/layout/row_habit.xml index 3288f20d8..6862709d0 100644 --- a/wearos/src/main/res/layout/row_habit.xml +++ b/wearos/src/main/res/layout/row_habit.xml @@ -1,10 +1,11 @@ + android:paddingVertical="1dp"> + android:layout_height="wrap_content" + tools:text="Task Title"/> \ No newline at end of file