From 5de0fc86e542d409af68eeaf0f596ff15468236a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 03:01:48 +0000 Subject: [PATCH 01/13] Bump ktorVersion from 1.6.4 to 1.6.6 Bumps `ktorVersion` from 1.6.4 to 1.6.6. Updates `ktor-client-mock` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-jackson` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-client-android` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-client-core` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-client-jackson` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-client-json` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-server-netty` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-server-core` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-html-builder` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) Updates `ktor-server-tests` from 1.6.4 to 1.6.6 - [Release notes](https://github.com/ktorio/ktor/releases) - [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md) - [Commits](https://github.com/ktorio/ktor/compare/1.6.4...1.6.6) --- updated-dependencies: - dependency-name: io.ktor:ktor-client-mock dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-jackson dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-client-android dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-client-core dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-client-jackson dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-client-json dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-server-netty dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-server-core dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-html-builder dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: io.ktor:ktor-server-tests dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- uhabits-android/build.gradle.kts | 2 +- uhabits-server/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index 3d97312e4..1caad46f7 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -89,7 +89,7 @@ dependencies { val daggerVersion = "2.40" val kotlinVersion = "1.5.31" val kxCoroutinesVersion = "1.5.2" - val ktorVersion = "1.6.4" + val ktorVersion = "1.6.6" val espressoVersion = "3.4.0" androidTestImplementation("androidx.test.espresso:espresso-contrib:$espressoVersion") diff --git a/uhabits-server/build.gradle.kts b/uhabits-server/build.gradle.kts index 2dd787bb4..81326f2bf 100644 --- a/uhabits-server/build.gradle.kts +++ b/uhabits-server/build.gradle.kts @@ -33,7 +33,7 @@ application { } dependencies { - val ktorVersion = "1.6.4" + val ktorVersion = "1.6.6" val kotlinVersion = "1.5.31" val logbackVersion = "1.2.6" implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion") From 4e1d01d8d1e945c03beaba16bb89922eb1105270 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 03:02:19 +0000 Subject: [PATCH 02/13] Bump daggerVersion from 2.40 to 2.40.3 Bumps `daggerVersion` from 2.40 to 2.40.3. Updates `dagger` from 2.40 to 2.40.3 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.40...dagger-2.40.3) Updates `dagger-compiler` from 2.40 to 2.40.3 - [Release notes](https://github.com/google/dagger/releases) - [Changelog](https://github.com/google/dagger/blob/master/CHANGELOG.md) - [Commits](https://github.com/google/dagger/compare/dagger-2.40...dagger-2.40.3) --- updated-dependencies: - dependency-name: com.google.dagger:dagger dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: com.google.dagger:dagger-compiler dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- uhabits-android/build.gradle.kts | 2 +- uhabits-core/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index 1caad46f7..51ba3adc4 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -86,7 +86,7 @@ android { } dependencies { - val daggerVersion = "2.40" + val daggerVersion = "2.40.3" val kotlinVersion = "1.5.31" val kxCoroutinesVersion = "1.5.2" val ktorVersion = "1.6.6" diff --git a/uhabits-core/build.gradle.kts b/uhabits-core/build.gradle.kts index c846a8888..6d471b2fd 100644 --- a/uhabits-core/build.gradle.kts +++ b/uhabits-core/build.gradle.kts @@ -43,7 +43,7 @@ kotlin { val jvmMain by getting { dependencies { implementation(kotlin("stdlib-jdk8")) - compileOnly("com.google.dagger:dagger:2.40") + compileOnly("com.google.dagger:dagger:2.40.3") implementation("com.google.guava:guava:31.0.1-android") implementation("org.jetbrains.kotlin:kotlin-stdlib:1.5.31") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2") From e82994c76bbea30ccbb907aa3535c9e1556b4795 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 03:02:48 +0000 Subject: [PATCH 03/13] Bump annotation from 1.2.0 to 1.3.0 Bumps annotation from 1.2.0 to 1.3.0. --- updated-dependencies: - dependency-name: androidx.annotation:annotation dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- uhabits-android/build.gradle.kts | 2 +- uhabits-core/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index 51ba3adc4..afa591624 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -98,7 +98,7 @@ dependencies { androidTestImplementation("com.linkedin.dexmaker:dexmaker-mockito:2.28.1") androidTestImplementation("io.ktor:ktor-client-mock:$ktorVersion") androidTestImplementation("io.ktor:ktor-jackson:$ktorVersion") - androidTestImplementation("androidx.annotation:annotation:1.2.0") + androidTestImplementation("androidx.annotation:annotation:1.3.0") androidTestImplementation("androidx.test.ext:junit:1.1.3") androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0") androidTestImplementation("androidx.test:rules:1.4.0") diff --git a/uhabits-core/build.gradle.kts b/uhabits-core/build.gradle.kts index 6d471b2fd..b296177e0 100644 --- a/uhabits-core/build.gradle.kts +++ b/uhabits-core/build.gradle.kts @@ -47,7 +47,7 @@ kotlin { implementation("com.google.guava:guava:31.0.1-android") implementation("org.jetbrains.kotlin:kotlin-stdlib:1.5.31") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2") - implementation("androidx.annotation:annotation:1.2.0") + implementation("androidx.annotation:annotation:1.3.0") implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.opencsv:opencsv:5.5.2") implementation("commons-codec:commons-codec:1.15") From 779ef5dbeeeae04009c74848072266096da462c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 03:01:51 +0000 Subject: [PATCH 04/13] Bump com.github.triplet.play from 3.6.0 to 3.7.0 Bumps com.github.triplet.play from 3.6.0 to 3.7.0. --- updated-dependencies: - dependency-name: com.github.triplet.play dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- uhabits-android/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index afa591624..3dccc9dbb 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -18,7 +18,7 @@ */ plugins { - id("com.github.triplet.play") version "3.6.0" + id("com.github.triplet.play") version "3.7.0" id("com.android.application") id("org.jetbrains.kotlin.android") id("org.jetbrains.kotlin.kapt") From 35365bbdf354e2b889c6fa64386a86b5931526b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:20:10 +0000 Subject: [PATCH 05/13] Bump logback-classic from 1.2.6 to 1.2.7 Bumps logback-classic from 1.2.6 to 1.2.7. --- updated-dependencies: - dependency-name: ch.qos.logback:logback-classic dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- uhabits-server/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uhabits-server/build.gradle.kts b/uhabits-server/build.gradle.kts index 81326f2bf..612d878ff 100644 --- a/uhabits-server/build.gradle.kts +++ b/uhabits-server/build.gradle.kts @@ -35,7 +35,7 @@ application { dependencies { val ktorVersion = "1.6.6" val kotlinVersion = "1.5.31" - val logbackVersion = "1.2.6" + val logbackVersion = "1.2.7" implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion") implementation("io.ktor:ktor-server-netty:$ktorVersion") implementation("ch.qos.logback:logback-classic:$logbackVersion") From fc645a81bc5b0c2ae380d81dc4f82467829bd55a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:19:18 +0000 Subject: [PATCH 06/13] Bump kotlin-stdlib from 1.5.31 to 1.6.0 Bumps [kotlin-stdlib](https://github.com/JetBrains/kotlin) from 1.5.31 to 1.6.0. - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.0) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-stdlib dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- uhabits-core/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uhabits-core/build.gradle.kts b/uhabits-core/build.gradle.kts index b296177e0..6002df223 100644 --- a/uhabits-core/build.gradle.kts +++ b/uhabits-core/build.gradle.kts @@ -45,7 +45,7 @@ kotlin { implementation(kotlin("stdlib-jdk8")) compileOnly("com.google.dagger:dagger:2.40.3") implementation("com.google.guava:guava:31.0.1-android") - implementation("org.jetbrains.kotlin:kotlin-stdlib:1.5.31") + implementation("org.jetbrains.kotlin:kotlin-stdlib:1.6.0") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2") implementation("androidx.annotation:annotation:1.3.0") implementation("com.google.code.findbugs:jsr305:3.0.2") From 7bf74634bb7a0e90875886dacd00f7b2b9b247bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 1 Dec 2021 20:58:26 +0000 Subject: [PATCH 07/13] Bump kotlin-stdlib-jdk8 from 1.5.31 to 1.6.0 Bumps [kotlin-stdlib-jdk8](https://github.com/JetBrains/kotlin) from 1.5.31 to 1.6.0. - [Release notes](https://github.com/JetBrains/kotlin/releases) - [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md) - [Commits](https://github.com/JetBrains/kotlin/compare/v1.5.31...v1.6.0) --- updated-dependencies: - dependency-name: org.jetbrains.kotlin:kotlin-stdlib-jdk8 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- uhabits-android/build.gradle.kts | 2 +- uhabits-server/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index 3dccc9dbb..f4ee9b9cf 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -87,7 +87,7 @@ android { dependencies { val daggerVersion = "2.40.3" - val kotlinVersion = "1.5.31" + val kotlinVersion = "1.6.0" val kxCoroutinesVersion = "1.5.2" val ktorVersion = "1.6.6" val espressoVersion = "3.4.0" diff --git a/uhabits-server/build.gradle.kts b/uhabits-server/build.gradle.kts index 612d878ff..197fd4c30 100644 --- a/uhabits-server/build.gradle.kts +++ b/uhabits-server/build.gradle.kts @@ -34,7 +34,7 @@ application { dependencies { val ktorVersion = "1.6.6" - val kotlinVersion = "1.5.31" + val kotlinVersion = "1.6.0" val logbackVersion = "1.2.7" implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion") implementation("io.ktor:ktor-server-netty:$ktorVersion") From 3dfa376f59ab579886a5730f18330d4d497f026c Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Sat, 11 Dec 2021 11:41:45 +0100 Subject: [PATCH 08/13] Remove deprecated bintray repositories --- build.gradle.kts | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 675df891e..a96be9f96 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,8 +18,6 @@ allprojects { mavenCentral() maven(url = "https://plugins.gradle.org/m2/") maven(url = "https://oss.sonatype.org/content/repositories/snapshots/") - maven(url = "https://kotlin.bintray.com/ktor") - maven(url = "https://kotlin.bintray.com/kotlin-js-wrappers") maven(url = "https://jitpack.io") } } From 5a5ed3d631e8b0f897b9e452e7bab15c11d8c00b Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Thu, 2 Dec 2021 10:22:36 +0100 Subject: [PATCH 09/13] Bump SDK from 30 to 31 --- uhabits-android/build.gradle.kts | 4 +-- uhabits-android/src/main/AndroidManifest.xml | 29 ++++++++++++++------ 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts index f4ee9b9cf..8e7103475 100644 --- a/uhabits-android/build.gradle.kts +++ b/uhabits-android/build.gradle.kts @@ -32,13 +32,13 @@ tasks.compileLint { android { - compileSdk = 30 + compileSdk = 31 defaultConfig { versionCode = 20003 versionName = "2.0.3" minSdk = 23 - targetSdk = 30 + targetSdk = 31 applicationId = "org.isoron.uhabits" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/uhabits-android/src/main/AndroidManifest.xml b/uhabits-android/src/main/AndroidManifest.xml index b5d06f181..5d4547550 100644 --- a/uhabits-android/src/main/AndroidManifest.xml +++ b/uhabits-android/src/main/AndroidManifest.xml @@ -17,7 +17,6 @@ ~ with this program. If not, see . --> @@ -48,11 +47,11 @@ android:name=".activities.habits.list.ListHabitsActivity" android:exported="true" android:label="@string/main_activity_title" - android:launchMode="singleTop"> - + android:launchMode="singleTop" /> @@ -85,6 +84,7 @@ @@ -93,6 +93,7 @@ @@ -101,6 +102,7 @@ @@ -117,9 +119,10 @@ @@ -128,13 +131,14 @@ @@ -152,6 +156,7 @@ @@ -164,6 +169,7 @@ @@ -176,6 +182,7 @@ @@ -188,6 +195,7 @@ @@ -200,6 +208,7 @@ @@ -210,13 +219,17 @@ android:resource="@xml/widget_target_info" /> - + - + @@ -267,7 +280,7 @@ + android:exported="false"> From 0fa0daa058c77cbe99b2588976326af1999a1ee3 Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Sat, 11 Dec 2021 11:49:26 +0100 Subject: [PATCH 10/13] Ask for SCHEDULE_EXACT_ALARM permission --- uhabits-android/src/main/AndroidManifest.xml | 1 + .../java/org/isoron/uhabits/intents/IntentScheduler.kt | 7 +------ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/uhabits-android/src/main/AndroidManifest.xml b/uhabits-android/src/main/AndroidManifest.xml index 5d4547550..4c2616ecf 100644 --- a/uhabits-android/src/main/AndroidManifest.xml +++ b/uhabits-android/src/main/AndroidManifest.xml @@ -19,6 +19,7 @@ + diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt b/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt index 5a4c79f1d..089af4af2 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentScheduler.kt @@ -25,8 +25,6 @@ import android.app.AlarmManager.RTC_WAKEUP import android.app.PendingIntent import android.content.Context import android.content.Context.ALARM_SERVICE -import android.os.Build.VERSION.SDK_INT -import android.os.Build.VERSION_CODES.M import android.util.Log import org.isoron.uhabits.core.AppScope import org.isoron.uhabits.core.models.Habit @@ -58,10 +56,7 @@ class IntentScheduler ) return SchedulerResult.IGNORED } - if (SDK_INT >= M) - manager.setExactAndAllowWhileIdle(alarmType, timestamp, intent) - else - manager.setExact(alarmType, timestamp, intent) + manager.setExactAndAllowWhileIdle(alarmType, timestamp, intent) return SchedulerResult.OK } From 072ba63789e2f2457feb3777aa9ffe75c9b7bc86 Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Sat, 11 Dec 2021 11:49:56 +0100 Subject: [PATCH 11/13] Add immutable flag to pending intents --- .../uhabits/intents/PendingIntentFactory.kt | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt b/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt index 5df329a95..841fa55e6 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/intents/PendingIntentFactory.kt @@ -20,6 +20,7 @@ package org.isoron.uhabits.intents import android.app.PendingIntent +import android.app.PendingIntent.FLAG_IMMUTABLE import android.app.PendingIntent.FLAG_UPDATE_CURRENT import android.app.PendingIntent.getBroadcast import android.content.Context @@ -49,7 +50,7 @@ class PendingIntentFactory action = WidgetReceiver.ACTION_ADD_REPETITION if (timestamp != null) putExtra("timestamp", timestamp.unixTime) }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) fun dismissNotification(habit: Habit): PendingIntent = @@ -60,7 +61,7 @@ class PendingIntentFactory action = WidgetReceiver.ACTION_DISMISS_REMINDER data = Uri.parse(habit.uriString) }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) fun removeRepetition(habit: Habit, timestamp: Timestamp?): PendingIntent = @@ -72,7 +73,7 @@ class PendingIntentFactory data = Uri.parse(habit.uriString) if (timestamp != null) putExtra("timestamp", timestamp.unixTime) }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) fun showHabit(habit: Habit): PendingIntent = @@ -84,7 +85,7 @@ class PendingIntentFactory habit ) ) - .getPendingIntent(0, FLAG_UPDATE_CURRENT)!! + .getPendingIntent(0, FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT)!! fun showReminder( habit: Habit, @@ -100,7 +101,7 @@ class PendingIntentFactory putExtra("timestamp", timestamp) putExtra("reminderTime", reminderTime) }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) fun snoozeNotification(habit: Habit): PendingIntent = @@ -111,7 +112,7 @@ class PendingIntentFactory data = Uri.parse(habit.uriString) action = ReminderReceiver.ACTION_SNOOZE_REMINDER }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) fun toggleCheckmark(habit: Habit, timestamp: Long?): PendingIntent = @@ -123,7 +124,7 @@ class PendingIntentFactory action = WidgetReceiver.ACTION_TOGGLE_REPETITION if (timestamp != null) putExtra("timestamp", timestamp) }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) fun setNumericalValue( @@ -142,7 +143,7 @@ class PendingIntentFactory putExtra("numericalValue", numericalValue) if (timestamp != null) putExtra("timestamp", timestamp) }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) fun updateWidgets(): PendingIntent = @@ -152,6 +153,6 @@ class PendingIntentFactory Intent(context, WidgetReceiver::class.java).apply { action = WidgetReceiver.ACTION_UPDATE_WIDGETS_VALUE }, - FLAG_UPDATE_CURRENT + FLAG_IMMUTABLE or FLAG_UPDATE_CURRENT ) } From 1c15e7742ec9722235e790e8a2ae661072cf56c7 Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Sat, 11 Dec 2021 15:14:18 +0100 Subject: [PATCH 12/13] Disable custom snoozing for recent Android --- uhabits-android/src/main/AndroidManifest.xml | 1 + .../notifications/AndroidNotificationTray.kt | 16 +++++++++------- .../uhabits/receivers/ReminderReceiver.kt | 19 +++++++++++++++++-- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/uhabits-android/src/main/AndroidManifest.xml b/uhabits-android/src/main/AndroidManifest.xml index 4c2616ecf..3b0851207 100644 --- a/uhabits-android/src/main/AndroidManifest.xml +++ b/uhabits-android/src/main/AndroidManifest.xml @@ -19,6 +19,7 @@ + diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt b/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt index 04f3d8d92..3721f04d5 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/notifications/AndroidNotificationTray.kt @@ -153,13 +153,15 @@ class AndroidNotificationTray if (preferences.shouldMakeNotificationsLed()) builder.setLights(Color.RED, 1000, 1000) - val snoozeAction = Action( - R.drawable.ic_action_snooze, - context.getString(R.string.snooze), - pendingIntents.snoozeNotification(habit) - ) - wearableExtender.addAction(snoozeAction) - builder.addAction(snoozeAction) + if (SDK_INT < Build.VERSION_CODES.S) { + val snoozeAction = Action( + R.drawable.ic_action_snooze, + context.getString(R.string.snooze), + pendingIntents.snoozeNotification(habit) + ) + wearableExtender.addAction(snoozeAction) + builder.addAction(snoozeAction) + } builder.extend(wearableExtender) return builder.build() diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.kt b/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.kt index 951b46ae8..6eb10dc7e 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderReceiver.kt @@ -22,6 +22,8 @@ import android.content.BroadcastReceiver import android.content.ContentUris import android.content.Context import android.content.Intent +import android.os.Build +import android.os.Build.VERSION.SDK_INT import android.util.Log import org.isoron.uhabits.HabitsApplication import org.isoron.uhabits.core.models.Habit @@ -76,8 +78,21 @@ class ReminderReceiver : BroadcastReceiver() { } ACTION_SNOOZE_REMINDER -> { if (habit == null) return - Log.d("ReminderReceiver", String.format("onSnoozePressed habit=%d", habit.id)) - reminderController.onSnoozePressed(habit, context) + if (SDK_INT < Build.VERSION_CODES.S) { + Log.d( + "ReminderReceiver", + String.format("onSnoozePressed habit=%d", habit.id) + ) + reminderController.onSnoozePressed(habit, context) + } else { + Log.w( + "ReminderReceiver", + String.format( + "onSnoozePressed habit=%d, should be deactivated in recent versions.", + habit.id + ) + ) + } } Intent.ACTION_BOOT_COMPLETED -> { Log.d("ReminderReceiver", "onBootCompleted") From e6167baab154f5114d8526bf2890bbb7656de37d Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Wed, 29 Dec 2021 08:13:54 -0600 Subject: [PATCH 13/13] NotificationTray: Use isCompletedToday instead of value != UNKNOWN --- .../org/isoron/uhabits/core/ui/NotificationTray.kt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/NotificationTray.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/NotificationTray.kt index 4d6c87fbe..5239ed44b 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/NotificationTray.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/NotificationTray.kt @@ -23,13 +23,11 @@ import org.isoron.uhabits.core.commands.Command import org.isoron.uhabits.core.commands.CommandRunner import org.isoron.uhabits.core.commands.CreateRepetitionCommand import org.isoron.uhabits.core.commands.DeleteHabitsCommand -import org.isoron.uhabits.core.models.Entry import org.isoron.uhabits.core.models.Habit import org.isoron.uhabits.core.models.Timestamp import org.isoron.uhabits.core.preferences.Preferences import org.isoron.uhabits.core.tasks.Task import org.isoron.uhabits.core.tasks.TaskRunner -import org.isoron.uhabits.core.utils.DateUtils.Companion.getTodayWithOffset import java.util.HashMap import java.util.Locale import java.util.Objects @@ -106,17 +104,17 @@ class NotificationTray @Inject constructor( internal class NotificationData(val timestamp: Timestamp, val reminderTime: Long) private inner class ShowNotificationTask(private val habit: Habit, data: NotificationData) : Task { - var todayValue = 0 + var isCompleted = false private val timestamp: Timestamp = data.timestamp private val reminderTime: Long = data.reminderTime + override fun doInBackground() { - val today = getTodayWithOffset() - todayValue = habit.computedEntries.get(today).value + isCompleted = habit.isCompletedToday() } override fun onPostExecute() { systemTray.log("Showing notification for habit=" + habit.id) - if (todayValue != Entry.UNKNOWN) { + if (isCompleted) { systemTray.log( String.format( Locale.US,