Skip to content

Commit eb81249

Browse files
Fix import
1 parent 8970440 commit eb81249

File tree

6 files changed

+16
-9
lines changed

6 files changed

+16
-9
lines changed

app/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@ dependencies {
179179
implementation libs.kotlinx.coroutines.core
180180
implementation libs.kotlinx.coroutines.android
181181
implementation libs.kotlinx.serialization.json
182-
implementation libs.kotlinx.datetime
183182

184183
implementation libs.material
185184
implementation libs.appcompat

app/src/main/java/org/wikipedia/notifications/NotificationActivity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import androidx.recyclerview.widget.RecyclerView
3636
import com.google.android.material.appbar.AppBarLayout
3737
import com.google.android.material.tabs.TabLayout
3838
import kotlinx.coroutines.launch
39-
import kotlinx.datetime.toJavaInstant
4039
import org.wikipedia.Constants
4140
import org.wikipedia.R
4241
import org.wikipedia.WikipediaApp
@@ -65,6 +64,8 @@ import org.wikipedia.views.NotificationActionsOverflowView
6564
import org.wikipedia.views.SearchAndFilterActionProvider
6665
import org.wikipedia.views.SwipeableItemTouchHelperCallback
6766
import org.wikipedia.views.WikiCardView
67+
import kotlin.time.ExperimentalTime
68+
import kotlin.time.toJavaInstant
6869

6970
class NotificationActivity : BaseActivity() {
7071
private lateinit var binding: ActivityNotificationsBinding
@@ -391,6 +392,7 @@ class NotificationActivity : BaseActivity() {
391392
}
392393
}
393394

395+
@OptIn(ExperimentalTime::class)
394396
binding.notificationTime.text = DateUtil.formatRelativeTime(n.instant().toJavaInstant())
395397
binding.notificationTime.setTextColor(if (n.isUnread) primaryColor else inactiveColor)
396398
binding.notificationOverflowMenu.imageTintList = if (n.isUnread) primaryColor else inactiveColor

app/src/main/java/org/wikipedia/notifications/PollNotificationWorker.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,21 @@ import androidx.work.NetworkType
77
import androidx.work.OneTimeWorkRequestBuilder
88
import androidx.work.WorkManager
99
import androidx.work.WorkerParameters
10-
import kotlinx.datetime.Instant
1110
import org.wikipedia.WikipediaApp
1211
import org.wikipedia.csrf.CsrfTokenClient
1312
import org.wikipedia.dataclient.ServiceFactory
1413
import org.wikipedia.dataclient.WikiSite
1514
import org.wikipedia.dataclient.mwapi.MwException
1615
import org.wikipedia.settings.Prefs
1716
import org.wikipedia.util.log.L
17+
import kotlin.time.ExperimentalTime
18+
import kotlin.time.Instant
1819

1920
class PollNotificationWorker(
2021
private val appContext: Context,
2122
params: WorkerParameters
2223
) : CoroutineWorker(appContext, params) {
24+
@OptIn(ExperimentalTime::class)
2325
override suspend fun doWork(): Result {
2426
return try {
2527
val response = ServiceFactory.get(WikipediaApp.instance.wikiSite).lastUnreadNotification()

app/src/main/java/org/wikipedia/notifications/db/Notification.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package org.wikipedia.notifications.db
22

33
import androidx.room.Entity
4-
import kotlinx.datetime.Clock
5-
import kotlinx.datetime.Instant
64
import kotlinx.serialization.SerialName
75
import kotlinx.serialization.Serializable
86
import kotlinx.serialization.json.JsonElement
@@ -14,6 +12,9 @@ import org.wikipedia.dataclient.WikiSite
1412
import org.wikipedia.json.JsonUtil
1513
import org.wikipedia.page.Namespace
1614
import org.wikipedia.util.UriUtil
15+
import kotlin.time.Clock
16+
import kotlin.time.ExperimentalTime
17+
import kotlin.time.Instant
1718

1819
@Serializable
1920
@Entity(primaryKeys = ["id", "wiki"])
@@ -37,6 +38,7 @@ class Notification(var id: Long = 0,
3738
return id + wiki.hashCode()
3839
}
3940

41+
@OptIn(ExperimentalTime::class)
4042
fun instant(): Instant {
4143
return timestamp?.instant ?: Clock.System.now()
4244
}
@@ -66,6 +68,7 @@ class Notification(var id: Long = 0,
6668
}
6769

6870
@Serializable
71+
@OptIn(ExperimentalTime::class)
6972
class Timestamp(@SerialName("utciso8601") val instant: Instant)
7073

7174
@Serializable

app/src/main/java/org/wikipedia/settings/Prefs.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.wikipedia.settings
22

33
import android.location.Location
4-
import kotlinx.datetime.Instant
54
import okhttp3.Cookie
65
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
76
import okhttp3.logging.HttpLoggingInterceptor
@@ -29,6 +28,9 @@ import org.wikipedia.util.ReleaseUtil.isDevRelease
2928
import org.wikipedia.util.StringUtil
3029
import org.wikipedia.watchlist.WatchlistFilterTypes
3130
import java.util.Date
31+
import kotlin.time.Clock
32+
import kotlin.time.ExperimentalTime
33+
import kotlin.time.Instant
3234

3335
/** Shared preferences utility for convenient POJO access. */
3436
object Prefs {
@@ -374,10 +376,11 @@ object Prefs {
374376
get() = PrefsIoUtil.getBoolean(R.string.preference_key_reading_lists_first_time_sync, true)
375377
set(value) = PrefsIoUtil.setBoolean(R.string.preference_key_reading_lists_first_time_sync, value)
376378

379+
@OptIn(ExperimentalTime::class)
377380
var remoteNotificationsSeenTime: Instant
378381
get() {
379382
val timestamp = PrefsIoUtil.getString(R.string.preference_key_remote_notifications_seen_time, "")!!
380-
return if (timestamp.isEmpty()) Instant.fromEpochMilliseconds(0) else Instant.parse(timestamp)
383+
return Instant.parseOrNull(timestamp) ?: Clock.System.now()
381384
}
382385
set(seenTime) = PrefsIoUtil.setString(R.string.preference_key_remote_notifications_seen_time, seenTime.toString())
383386

gradle/libs.versions.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ swiperefreshlayout = "1.1.0"
4646
uiautomator = "2.3.0"
4747
viewpager2 = "1.1.0"
4848
workRuntimeKtx = "2.10.2"
49-
kotlinxDatetime = "0.7.1"
5049
composeBom = "2025.07.00"
5150
composeActivity = "1.10.1"
5251
composeViewModel = "2.9.2"
@@ -91,7 +90,6 @@ junit = { module = "junit:junit", version.ref = "junit" }
9190
kotlin-stdlib-jdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlinStdlibJdk8" }
9291
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinCoroutinesVersion" }
9392
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutinesVersion" }
94-
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime" }
9593
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
9694
leakcanary-android = { module = "com.squareup.leakcanary:leakcanary-android", version.ref = "leakCanaryVersion" }
9795
material = { module = "com.google.android.material:material", version.ref = "material" }

0 commit comments

Comments
 (0)