mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-07 17:48:52 -06:00
Compare commits
9 Commits
feature/de
...
hiqua-patc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a96b7f0fba | ||
|
|
f1a003fabf | ||
|
|
856a0726f7 | ||
|
|
df97b1fd4f | ||
| dc678e59df | |||
|
|
d95084500f | ||
|
6f7215b46f
|
|||
|
|
c423d2b3ca | ||
|
|
758fc56277 |
1
.github/workflows/main.yml
vendored
1
.github/workflows/main.yml
vendored
@@ -9,6 +9,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
Test:
|
Test:
|
||||||
runs-on: self-hosted
|
runs-on: self-hosted
|
||||||
|
timeout-minutes: 30
|
||||||
steps:
|
steps:
|
||||||
- name: Check out source code
|
- name: Check out source code
|
||||||
uses: actions/checkout@v1
|
uses: actions/checkout@v1
|
||||||
|
|||||||
@@ -80,11 +80,11 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
val daggerVersion = "2.43.2"
|
val daggerVersion = "2.44.2"
|
||||||
val kotlinVersion = "1.7.21"
|
val kotlinVersion = "1.7.21"
|
||||||
val kxCoroutinesVersion = "1.6.4"
|
val kxCoroutinesVersion = "1.6.4"
|
||||||
val ktorVersion = "1.6.8"
|
val ktorVersion = "1.6.8"
|
||||||
val espressoVersion = "3.4.0"
|
val espressoVersion = "3.5.0"
|
||||||
|
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-contrib:$espressoVersion")
|
androidTestImplementation("androidx.test.espresso:espresso-contrib:$espressoVersion")
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-core:$espressoVersion")
|
androidTestImplementation("androidx.test.espresso:espresso-core:$espressoVersion")
|
||||||
@@ -113,7 +113,7 @@ dependencies {
|
|||||||
implementation("androidx.appcompat:appcompat:1.5.1")
|
implementation("androidx.appcompat:appcompat:1.5.1")
|
||||||
implementation("androidx.legacy:legacy-preference-v14:1.0.0")
|
implementation("androidx.legacy:legacy-preference-v14:1.0.0")
|
||||||
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
||||||
implementation("com.google.android.material:material:1.7.0")
|
implementation("com.google.android.material:material:1.8.0")
|
||||||
implementation("com.opencsv:opencsv:5.7.1")
|
implementation("com.opencsv:opencsv:5.7.1")
|
||||||
implementation(project(":uhabits-core"))
|
implementation(project(":uhabits-core"))
|
||||||
kapt("com.google.dagger:dagger-compiler:$daggerVersion")
|
kapt("com.google.dagger:dagger-compiler:$daggerVersion")
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ import org.isoron.uhabits.HabitsApplication
|
|||||||
import org.isoron.uhabits.R
|
import org.isoron.uhabits.R
|
||||||
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
import org.isoron.uhabits.activities.AndroidThemeSwitcher
|
||||||
import org.isoron.uhabits.core.models.Habit
|
import org.isoron.uhabits.core.models.Habit
|
||||||
import org.isoron.uhabits.core.ui.ThemeSwitcher.Companion.THEME_LIGHT
|
import org.isoron.uhabits.core.ui.views.DarkTheme
|
||||||
|
import org.isoron.uhabits.core.ui.views.LightTheme
|
||||||
import org.isoron.uhabits.receivers.ReminderController
|
import org.isoron.uhabits.receivers.ReminderController
|
||||||
import org.isoron.uhabits.utils.SystemUtils
|
import org.isoron.uhabits.utils.SystemUtils
|
||||||
import java.util.Calendar
|
import java.util.Calendar
|
||||||
@@ -51,11 +52,8 @@ class SnoozeDelayPickerActivity : FragmentActivity(), OnItemClickListener {
|
|||||||
val app = applicationContext as HabitsApplication
|
val app = applicationContext as HabitsApplication
|
||||||
val appComponent = app.component
|
val appComponent = app.component
|
||||||
val themeSwitcher = AndroidThemeSwitcher(this, appComponent.preferences)
|
val themeSwitcher = AndroidThemeSwitcher(this, appComponent.preferences)
|
||||||
if (themeSwitcher.getSystemTheme() == THEME_LIGHT) {
|
themeSwitcher.setTheme()
|
||||||
setTheme(R.style.BaseDialog)
|
|
||||||
} else {
|
|
||||||
setTheme(R.style.BaseDialogDark)
|
|
||||||
}
|
|
||||||
val data = intent.data
|
val data = intent.data
|
||||||
if (data == null) {
|
if (data == null) {
|
||||||
finish()
|
finish()
|
||||||
@@ -75,6 +73,16 @@ class SnoozeDelayPickerActivity : FragmentActivity(), OnItemClickListener {
|
|||||||
SystemUtils.unlockScreen(this)
|
SystemUtils.unlockScreen(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun AndroidThemeSwitcher.setTheme() {
|
||||||
|
if (this.isNightMode) {
|
||||||
|
setTheme(R.style.BaseDialogDark)
|
||||||
|
this.currentTheme = DarkTheme()
|
||||||
|
} else {
|
||||||
|
setTheme(R.style.BaseDialog)
|
||||||
|
this.currentTheme = LightTheme()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun showTimePicker() {
|
private fun showTimePicker() {
|
||||||
val calendar = Calendar.getInstance()
|
val calendar = Calendar.getInstance()
|
||||||
val dialog = TimePickerDialog.newInstance(
|
val dialog = TimePickerDialog.newInstance(
|
||||||
|
|||||||
3
uhabits-core/assets/test/habitbull4.csv
Normal file
3
uhabits-core/assets/test/habitbull4.csv
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
HabitName,HabitDescription,HabitCategory,CalendarDate,Value,CommentText
|
||||||
|
Caffeine,,Coffee Consumption,2022-11-21,80,
|
||||||
|
Caffeine,,Coffee Consumption,2022-11-22,80,
|
||||||
|
@@ -43,9 +43,8 @@ kotlin {
|
|||||||
val jvmMain by getting {
|
val jvmMain by getting {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(kotlin("stdlib-jdk8"))
|
implementation(kotlin("stdlib-jdk8"))
|
||||||
compileOnly("com.google.dagger:dagger:2.43.2")
|
compileOnly("com.google.dagger:dagger:2.44.2")
|
||||||
implementation("com.google.guava:guava:31.1-android")
|
implementation("com.google.guava:guava:31.1-android")
|
||||||
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.7.21")
|
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4")
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4")
|
||||||
implementation("androidx.annotation:annotation:1.5.0")
|
implementation("androidx.annotation:annotation:1.5.0")
|
||||||
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
implementation("com.google.code.findbugs:jsr305:3.0.2")
|
||||||
|
|||||||
@@ -86,10 +86,12 @@ class HabitBullCSVImporter
|
|||||||
logger.info("Found a value of $value, considering this habit as numerical.")
|
logger.info("Found a value of $value, considering this habit as numerical.")
|
||||||
h.type = HabitType.NUMERICAL
|
h.type = HabitType.NUMERICAL
|
||||||
}
|
}
|
||||||
h.originalEntries.add(Entry(timestamp, value, notes))
|
h.originalEntries.add(Entry(timestamp, value * 1000, notes))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
map.forEach { (_, habit) -> habit.recompute() }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun parseTimestamp(rawValue: String): Timestamp {
|
private fun parseTimestamp(rawValue: String): Timestamp {
|
||||||
|
|||||||
@@ -85,8 +85,8 @@ class ImportTest : BaseUnitTest() {
|
|||||||
assertThat(habit.type, equalTo(HabitType.NUMERICAL))
|
assertThat(habit.type, equalTo(HabitType.NUMERICAL))
|
||||||
assertThat(habit.description, equalTo(""))
|
assertThat(habit.description, equalTo(""))
|
||||||
assertThat(habit.frequency, equalTo(Frequency.DAILY))
|
assertThat(habit.frequency, equalTo(Frequency.DAILY))
|
||||||
assertThat(getValue(habit, 2021, 9, 1), equalTo(30))
|
assertThat(getValue(habit, 2021, 9, 1), equalTo(30000))
|
||||||
assertThat(getValue(habit, 2022, 1, 8), equalTo(100))
|
assertThat(getValue(habit, 2022, 1, 8), equalTo(100000))
|
||||||
|
|
||||||
val habit2 = habitList.getByPosition(1)
|
val habit2 = habitList.getByPosition(1)
|
||||||
assertThat(habit2.name, equalTo("run"))
|
assertThat(habit2.name, equalTo("run"))
|
||||||
@@ -98,6 +98,21 @@ class ImportTest : BaseUnitTest() {
|
|||||||
assertTrue(isChecked(habit2, 2022, 1, 19))
|
assertTrue(isChecked(habit2, 2022, 1, 19))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Throws(IOException::class)
|
||||||
|
fun testHabitBullCSV4() {
|
||||||
|
importFromFile("habitbull4.csv")
|
||||||
|
assertThat(habitList.size(), equalTo(1))
|
||||||
|
|
||||||
|
val habit = habitList.getByPosition(0)
|
||||||
|
assertThat(habit.name, equalTo("Caffeine"))
|
||||||
|
assertThat(habit.type, equalTo(HabitType.NUMERICAL))
|
||||||
|
assertThat(habit.description, equalTo(""))
|
||||||
|
assertThat(habit.frequency, equalTo(Frequency.DAILY))
|
||||||
|
assertThat(getValue(habit, 2022, 11, 21), equalTo(80000))
|
||||||
|
assertThat(getValue(habit, 2022, 11, 22), equalTo(80000))
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Throws(IOException::class)
|
@Throws(IOException::class)
|
||||||
fun testLoopDB() {
|
fun testLoopDB() {
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ application {
|
|||||||
dependencies {
|
dependencies {
|
||||||
val ktorVersion = "1.6.8"
|
val ktorVersion = "1.6.8"
|
||||||
val kotlinVersion = "1.7.21"
|
val kotlinVersion = "1.7.21"
|
||||||
val logbackVersion = "1.4.4"
|
val logbackVersion = "1.4.5"
|
||||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion")
|
||||||
implementation("io.ktor:ktor-server-netty:$ktorVersion")
|
implementation("io.ktor:ktor-server-netty:$ktorVersion")
|
||||||
implementation("ch.qos.logback:logback-classic:$logbackVersion")
|
implementation("ch.qos.logback:logback-classic:$logbackVersion")
|
||||||
|
|||||||
Reference in New Issue
Block a user