5
5
*/
6
6
package com.example.util.simpletimetracker.data
7
7
8
- import android.content.ComponentName
9
- import android.content.Context
10
- import androidx.wear.watchface.complications.datasource.ComplicationDataSourceUpdateRequester
11
- import com.example.util.simpletimetracker.complication.WearComplicationService
8
+ import com.example.util.simpletimetracker.complication.WearComplicationManager
9
+ import com.example.util.simpletimetracker.notification.WearNotificationManager
12
10
import com.example.util.simpletimetracker.wear_api.WearActivity
13
11
import com.example.util.simpletimetracker.wear_api.WearCurrentActivity
14
12
import com.example.util.simpletimetracker.wear_api.WearSettings
15
13
import com.example.util.simpletimetracker.wear_api.WearTag
16
- import dagger.hilt.android.qualifiers.ApplicationContext
14
+ import dagger.Lazy
17
15
import kotlinx.coroutines.Deferred
18
16
import kotlinx.coroutines.async
19
17
import kotlinx.coroutines.awaitAll
@@ -29,8 +27,9 @@ import javax.inject.Singleton
29
27
30
28
@Singleton
31
29
class WearDataRepo @Inject constructor(
32
- @ApplicationContext private val context : Context ,
33
30
private val wearRPCClient : WearRPCClient ,
31
+ private val wearComplicationManager : WearComplicationManager ,
32
+ private val wearNotificationManager : Lazy <WearNotificationManager >,
34
33
) {
35
34
36
35
val dataUpdated: SharedFlow <Unit > get() = _dataUpdated .asSharedFlow()
@@ -51,7 +50,8 @@ class WearDataRepo @Inject constructor(
51
50
deferred + = async { loadActivities(forceReload = true ) }
52
51
deferred + = async { loadCurrentActivities(forceReload = true ) }
53
52
deferred.awaitAll()
54
- updateComplications()
53
+ wearComplicationManager.updateComplications()
54
+ wearNotificationManager.get().updateNotifications()
55
55
_dataUpdated .emit(Unit )
56
56
}
57
57
}
@@ -92,14 +92,4 @@ class WearDataRepo @Inject constructor(
92
92
suspend fun openAppPhone (): Result <Unit > = mutex.withLock {
93
93
return runCatching { wearRPCClient.openPhoneApp() }
94
94
}
95
-
96
- fun updateComplications () {
97
- ComplicationDataSourceUpdateRequester .create(
98
- context = context,
99
- complicationDataSourceComponent = ComponentName (
100
- context,
101
- WearComplicationService ::class .java,
102
- ),
103
- ).requestUpdateAll()
104
- }
105
95
}
0 commit comments