Skip to content

Commit 63782ce

Browse files
Create android_wear_ongoing_activity_create_notification
1 parent e8e51b3 commit 63782ce

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ wear = "1.3.0"
7676
wearComposeFoundation = "1.5.0-rc02"
7777
wearComposeMaterial = "1.5.0-rc02"
7878
wearComposeMaterial3 = "1.5.0-rc02"
79-
wearOngoing = "1.0.0"
79+
wearOngoing = "1.1.0"
8080
wearToolingPreview = "1.0.0"
8181
webkit = "1.14.0"
8282

wear/src/main/java/com/example/wear/snippets/alwayson/AlwaysOnService.kt

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,15 @@ import android.app.NotificationManager
2222
import android.app.PendingIntent
2323
import android.content.Context
2424
import android.content.Intent
25+
import android.os.SystemClock
2526
import android.util.Log
2627
import androidx.core.app.NotificationCompat
2728
import androidx.core.content.getSystemService
2829
import androidx.lifecycle.LifecycleService
2930
import androidx.wear.ongoing.OngoingActivity
3031
import androidx.wear.ongoing.Status
3132
import com.example.wear.R
33+
import java.util.concurrent.TimeUnit
3234

3335
class AlwaysOnService : LifecycleService() {
3436

@@ -122,8 +124,7 @@ class AlwaysOnService : LifecycleService() {
122124
.setOngoing(true)
123125

124126
// [START_EXCLUDE]
125-
// Create an Ongoing Activity
126-
val ongoingActivityStatus = Status.Builder().addTemplate("Stopwatch running").build()
127+
val ongoingActivityStatus = createOngoingStatus()
127128
// [END_EXCLUDE]
128129

129130
val ongoingActivity =
@@ -142,4 +143,22 @@ class AlwaysOnService : LifecycleService() {
142143
return notificationBuilder.build()
143144
}
144145
// [END android_wear_ongoing_activity_create_notification]
146+
147+
private fun createOngoingStatus(): Status {
148+
// [START android_wear_ongoing_activity_create_status]
149+
val statusTemplate = "#type# for #time#"
150+
151+
// Creates a 5 minute timer.
152+
// Note the use of SystemClock.elapsedRealtime(), not System.currentTimeMillis().
153+
val runStartTime = SystemClock.elapsedRealtime() + TimeUnit.MINUTES.toMillis(5)
154+
155+
val ongoingActivityStatus = Status.Builder()
156+
.addTemplate(statusTemplate)
157+
.addPart("type", Status.TextPart("Run"))
158+
.addPart("time", Status.StopwatchPart(runStartTime))
159+
.build()
160+
// [END android_wear_ongoing_activity_create_status]
161+
162+
return ongoingActivityStatus
163+
}
145164
}

0 commit comments

Comments
 (0)