mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 01:08:50 -06:00
Compare commits
7 Commits
7e5d2fa207
...
97b98a872d
| Author | SHA1 | Date | |
|---|---|---|---|
| 97b98a872d | |||
| 862a851e1c | |||
| 804030f5c0 | |||
| 08ab3c22ce | |||
| b58f836d8e | |||
| 9ed4630f9b | |||
| 70dab74528 |
16
CHANGELOG.md
16
CHANGELOG.md
@@ -1,5 +1,21 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [2.3.0] -- 2025-06-23
|
||||||
|
### Added
|
||||||
|
- Add support for Android 15 and 16 (@iSoron)
|
||||||
|
- Show confetti animation (@gokulk16, @iSoron, #1743)
|
||||||
|
- Show streaks for measurable habits (@teckwarz, #2059)
|
||||||
|
- Allow user to unset measurable habits (@leontodd, @kalina559, #1899, #2109)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Change background widget color for habits with implicit checks (@wobbba, #1915)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Fix notification when goal type is set to maximum (@manish99verma, #1931)
|
||||||
|
- Never mark "at most" habits as completed for the day (@kalina559, #2077)
|
||||||
|
- Increase minimum widget size (@iSoron, #2118)
|
||||||
|
- Improve Gradle configuration (@jimlyas, #2108)
|
||||||
|
|
||||||
## [2.2.0] -- 2024-01-30
|
## [2.2.0] -- 2024-01-30
|
||||||
### Added
|
### Added
|
||||||
- Add support for Android 14 (@iSoron, @hiqua)
|
- Add support for Android 14 (@iSoron, @hiqua)
|
||||||
|
|||||||
@@ -44,8 +44,8 @@ android {
|
|||||||
compileSdk = 36
|
compileSdk = 36
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
versionCode = 20200
|
versionCode = 20300
|
||||||
versionName = "2.2.0"
|
versionName = "2.3.0"
|
||||||
minSdk = 28
|
minSdk = 28
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
applicationId = "org.isoron.uhabits"
|
applicationId = "org.isoron.uhabits"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ package org.isoron.uhabits.activities.habits.list.views
|
|||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import androidx.test.filters.MediumTest
|
import androidx.test.filters.MediumTest
|
||||||
import org.isoron.uhabits.BaseViewTest
|
import org.isoron.uhabits.BaseViewTest
|
||||||
import org.junit.Before
|
import org.junit.Ignore
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
|
|
||||||
@@ -35,23 +35,22 @@ class EmptyListViewTest : BaseViewTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val path = "habits/list/EmptyListView"
|
private val path = "habits/list/EmptyListView"
|
||||||
private val view: EmptyListView = EmptyListView(targetContext)
|
|
||||||
|
|
||||||
@Before
|
|
||||||
override fun setUp() {
|
|
||||||
super.setUp()
|
|
||||||
measureView(view, dpToPixels(200), dpToPixels(200))
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Ignore("non-deterministic failure")
|
||||||
fun testRender_done() {
|
fun testRender_done() {
|
||||||
|
val view = EmptyListView(targetContext)
|
||||||
view.showDone()
|
view.showDone()
|
||||||
|
measureView(view, dpToPixels(200), dpToPixels(200))
|
||||||
assertRenders(view, "$path/done.png")
|
assertRenders(view, "$path/done.png")
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
@Ignore("non-deterministic failure")
|
||||||
fun testRender_empty() {
|
fun testRender_empty() {
|
||||||
|
val view = EmptyListView(targetContext)
|
||||||
view.showEmpty()
|
view.showEmpty()
|
||||||
|
measureView(view, dpToPixels(200), dpToPixels(200))
|
||||||
assertRenders(view, "$path/empty.png")
|
assertRenders(view, "$path/empty.png")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user