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 000000000..f7130e058 Binary files /dev/null and b/wearos/src/main/res/drawable-hdpi/ic_avatar.png differ 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 000000000..ac9c9033e Binary files /dev/null and b/wearos/src/main/res/drawable-hdpi/ic_settings.png differ 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 000000000..4c74762b2 Binary files /dev/null and b/wearos/src/main/res/drawable-hdpi/ic_stats.png differ diff --git a/wearos/src/main/res/drawable-mdpi/ic_avatar.png b/wearos/src/main/res/drawable-mdpi/ic_avatar.png new file mode 100644 index 000000000..7990d00c4 Binary files /dev/null and b/wearos/src/main/res/drawable-mdpi/ic_avatar.png differ diff --git a/wearos/src/main/res/drawable-mdpi/ic_settings.png b/wearos/src/main/res/drawable-mdpi/ic_settings.png new file mode 100644 index 000000000..a3d2acfcb Binary files /dev/null and b/wearos/src/main/res/drawable-mdpi/ic_settings.png differ diff --git a/wearos/src/main/res/drawable-mdpi/ic_stats.png b/wearos/src/main/res/drawable-mdpi/ic_stats.png new file mode 100644 index 000000000..67e19e9d3 Binary files /dev/null and b/wearos/src/main/res/drawable-mdpi/ic_stats.png differ 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 000000000..d0546f19b Binary files /dev/null and b/wearos/src/main/res/drawable-xhdpi/ic_avatar.png differ diff --git a/wearos/src/main/res/drawable-xhdpi/ic_settings.png b/wearos/src/main/res/drawable-xhdpi/ic_settings.png new file mode 100644 index 000000000..f63467d9d Binary files /dev/null and b/wearos/src/main/res/drawable-xhdpi/ic_settings.png differ diff --git a/wearos/src/main/res/drawable-xhdpi/ic_stats.png b/wearos/src/main/res/drawable-xhdpi/ic_stats.png new file mode 100644 index 000000000..0438f1ab3 Binary files /dev/null and b/wearos/src/main/res/drawable-xhdpi/ic_stats.png differ diff --git a/wearos/src/main/res/drawable-xxhdpi/ic_avatar.png b/wearos/src/main/res/drawable-xxhdpi/ic_avatar.png new file mode 100644 index 000000000..fae507a4e Binary files /dev/null and b/wearos/src/main/res/drawable-xxhdpi/ic_avatar.png differ diff --git a/wearos/src/main/res/drawable-xxhdpi/ic_settings.png b/wearos/src/main/res/drawable-xxhdpi/ic_settings.png new file mode 100644 index 000000000..796403b6b Binary files /dev/null and b/wearos/src/main/res/drawable-xxhdpi/ic_settings.png differ 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 000000000..4814ddc25 Binary files /dev/null and b/wearos/src/main/res/drawable-xxhdpi/ic_stats.png differ 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