diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
index da5ae7d00..b8dc0229d 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
+++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt
@@ -102,6 +102,7 @@ class ListHabitsActivity : AppCompatActivity() {
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ invalidateOptionsMenu()
return menu.onItemSelected(item)
}
diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
index 8760fb4db..6d223c288 100644
--- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
+++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsMenu.kt
@@ -25,11 +25,13 @@ import android.view.MenuInflater
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity
import org.isoron.uhabits.R
+import org.isoron.uhabits.core.models.HabitList
import org.isoron.uhabits.core.preferences.Preferences
import org.isoron.uhabits.core.ui.ThemeSwitcher
import org.isoron.uhabits.core.ui.screens.habits.list.ListHabitsMenuBehavior
import org.isoron.uhabits.inject.ActivityContext
import org.isoron.uhabits.inject.ActivityScope
+import org.isoron.uhabits.utils.StyledResources
import javax.inject.Inject
@ActivityScope
@@ -50,6 +52,29 @@ class ListHabitsMenu @Inject constructor(
nightModeItem.isChecked = themeSwitcher.isNightMode
hideArchivedItem.isChecked = !preferences.showArchived
hideCompletedItem.isChecked = !preferences.showCompleted
+ updateArrows(menu)
+ }
+
+ private fun updateArrows(menu: Menu) {
+ val styledResources = StyledResources(activity)
+ val sortManual = menu.findItem(R.id.actionSortManual)
+ val sortName = menu.findItem(R.id.actionSortName)
+ val sortColor = menu.findItem(R.id.actionSortColor)
+ val sortScore = menu.findItem(R.id.actionSortScore)
+ val sortStatus = menu.findItem(R.id.actionSortStatus)
+ val arrowUp = styledResources.getDrawable(R.attr.iconArrowUp)
+ val arrowDown = styledResources.getDrawable(R.attr.iconArrowDown)
+ when (preferences.defaultPrimaryOrder) {
+ HabitList.Order.BY_NAME_ASC -> sortName.icon = arrowDown
+ HabitList.Order.BY_NAME_DESC -> sortName.icon = arrowUp
+ HabitList.Order.BY_COLOR_ASC -> sortColor.icon = arrowDown
+ HabitList.Order.BY_COLOR_DESC -> sortColor.icon = arrowUp
+ HabitList.Order.BY_SCORE_ASC -> sortScore.icon = arrowDown
+ HabitList.Order.BY_SCORE_DESC -> sortScore.icon = arrowUp
+ HabitList.Order.BY_STATUS_ASC -> sortStatus.icon = arrowDown
+ HabitList.Order.BY_STATUS_DESC -> sortStatus.icon = arrowUp
+ HabitList.Order.BY_POSITION -> sortManual.icon = arrowUp
+ }
}
fun onItemSelected(item: MenuItem): Boolean {
diff --git a/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_down_dark.xml b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_down_dark.xml
new file mode 100644
index 000000000..665d5d593
--- /dev/null
+++ b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_down_dark.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_down_light.xml b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_down_light.xml
new file mode 100644
index 000000000..856e1d1e0
--- /dev/null
+++ b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_down_light.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_up_dark.xml b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_up_dark.xml
new file mode 100644
index 000000000..088d70f19
--- /dev/null
+++ b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_up_dark.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_up_light.xml b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_up_light.xml
new file mode 100644
index 000000000..5703c0c96
--- /dev/null
+++ b/uhabits-android/src/main/res/drawable-anydpi/ic_arrow_up_light.xml
@@ -0,0 +1,11 @@
+
+
+
diff --git a/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_down_dark.png b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_down_dark.png
new file mode 100644
index 000000000..193b429a3
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_down_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_down_light.png b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_down_light.png
new file mode 100644
index 000000000..3eee81705
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_down_light.png differ
diff --git a/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_up_dark.png b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_up_dark.png
new file mode 100644
index 000000000..ecaca87de
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_up_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_up_light.png b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_up_light.png
new file mode 100644
index 000000000..a7f677ab3
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-hdpi/ic_arrow_up_light.png differ
diff --git a/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_down_dark.png b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_down_dark.png
new file mode 100644
index 000000000..8609f3dd0
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_down_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_down_light.png b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_down_light.png
new file mode 100644
index 000000000..16535149d
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_down_light.png differ
diff --git a/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_up_dark.png b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_up_dark.png
new file mode 100644
index 000000000..55245b753
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_up_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_up_light.png b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_up_light.png
new file mode 100644
index 000000000..9b95c85b1
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-mdpi/ic_arrow_up_light.png differ
diff --git a/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_down_dark.png b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_down_dark.png
new file mode 100644
index 000000000..7bd939f54
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_down_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_down_light.png b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_down_light.png
new file mode 100644
index 000000000..e9253415f
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_down_light.png differ
diff --git a/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_up_dark.png b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_up_dark.png
new file mode 100644
index 000000000..f07abec9e
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_up_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_up_light.png b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_up_light.png
new file mode 100644
index 000000000..277b1e6f6
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xhdpi/ic_arrow_up_light.png differ
diff --git a/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_down_dark.png b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_down_dark.png
new file mode 100644
index 000000000..50e2e2754
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_down_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_down_light.png b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_down_light.png
new file mode 100644
index 000000000..6bf117145
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_down_light.png differ
diff --git a/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_up_dark.png b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_up_dark.png
new file mode 100644
index 000000000..1e4054c40
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_up_dark.png differ
diff --git a/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_up_light.png b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_up_light.png
new file mode 100644
index 000000000..dd4a46c6f
Binary files /dev/null and b/uhabits-android/src/main/res/drawable-xxhdpi/ic_arrow_up_light.png differ
diff --git a/uhabits-android/src/main/res/values/attrs.xml b/uhabits-android/src/main/res/values/attrs.xml
index 596c76ebd..081878e5b 100644
--- a/uhabits-android/src/main/res/values/attrs.xml
+++ b/uhabits-android/src/main/res/values/attrs.xml
@@ -41,6 +41,8 @@
+
+
diff --git a/uhabits-android/src/main/res/values/styles.xml b/uhabits-android/src/main/res/values/styles.xml
index e42da7511..45daaeb62 100644
--- a/uhabits-android/src/main/res/values/styles.xml
+++ b/uhabits-android/src/main/res/values/styles.xml
@@ -43,6 +43,8 @@
- @drawable/ic_action_edit_dark
- @drawable/ic_action_filter_dark
- @drawable/ic_action_unarchive_dark
+ - @drawable/ic_arrow_up_light
+ - @drawable/ic_arrow_down_light
- @color/white
- @color/grey_300
- @color/grey_350
@@ -84,6 +86,8 @@
- @drawable/ic_action_edit_dark
- @drawable/ic_action_filter_dark
- @drawable/ic_action_unarchive_dark
+ - @drawable/ic_arrow_up_dark
+ - @drawable/ic_arrow_down_dark
- @color/grey_900
- @color/grey_800
- @color/grey_750