Loading packages/SystemUI/src/com/android/systemui/education/data/repository/UserContextualEducationRepository.kt +14 −10 Original line number Diff line number Diff line Loading @@ -20,10 +20,12 @@ import android.content.Context import android.hardware.input.InputManager import android.hardware.input.KeyGestureEvent import androidx.datastore.core.DataStore import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler import androidx.datastore.preferences.core.MutablePreferences import androidx.datastore.preferences.core.PreferenceDataStoreFactory import androidx.datastore.preferences.core.Preferences import androidx.datastore.preferences.core.edit import androidx.datastore.preferences.core.emptyPreferences import androidx.datastore.preferences.core.intPreferencesKey import androidx.datastore.preferences.core.longPreferencesKey import androidx.datastore.preferences.preferencesDataStoreFile Loading Loading @@ -68,7 +70,7 @@ interface ContextualEducationRepository { suspend fun updateGestureEduModel( gestureType: GestureType, transform: (GestureEduModel) -> GestureEduModel transform: (GestureEduModel) -> GestureEduModel, ) suspend fun updateEduDeviceConnectionTime( Loading Loading @@ -149,6 +151,8 @@ constructor( String.format(DATASTORE_DIR, userId) ) }, corruptionHandler = ReplaceFileCorruptionHandler(produceNewData = { emptyPreferences() }), scope = newDsScope, ) dataStoreScope = newDsScope Loading @@ -159,7 +163,7 @@ constructor( private fun getGestureEduModel( gestureType: GestureType, preferences: Preferences preferences: Preferences, ): GestureEduModel { return GestureEduModel( signalCount = preferences[getSignalCountKey(gestureType)] ?: 0, Loading @@ -183,7 +187,7 @@ constructor( override suspend fun updateGestureEduModel( gestureType: GestureType, transform: (GestureEduModel) -> GestureEduModel transform: (GestureEduModel) -> GestureEduModel, ) { datastore.filterNotNull().first().edit { preferences -> val currentModel = getGestureEduModel(gestureType, preferences) Loading @@ -193,17 +197,17 @@ constructor( setInstant( preferences, updatedModel.lastShortcutTriggeredTime, getLastShortcutTriggeredTimeKey(gestureType) getLastShortcutTriggeredTimeKey(gestureType), ) setInstant( preferences, updatedModel.usageSessionStartTime, getUsageSessionStartTimeKey(gestureType) getUsageSessionStartTimeKey(gestureType), ) setInstant( preferences, updatedModel.lastEducationTime, getLastEducationTimeKey(gestureType) getLastEducationTimeKey(gestureType), ) } } Loading @@ -220,12 +224,12 @@ constructor( setInstant( preferences, updatedModel.keyboardFirstConnectionTime, getKeyboardFirstConnectionTimeKey() getKeyboardFirstConnectionTimeKey(), ) setInstant( preferences, updatedModel.touchpadFirstConnectionTime, getTouchpadFirstConnectionTimeKey() getTouchpadFirstConnectionTimeKey(), ) } } Loading @@ -235,7 +239,7 @@ constructor( keyboardFirstConnectionTime = preferences[getKeyboardFirstConnectionTimeKey()]?.let { Instant.ofEpochSecond(it) }, touchpadFirstConnectionTime = preferences[getTouchpadFirstConnectionTimeKey()]?.let { Instant.ofEpochSecond(it) } preferences[getTouchpadFirstConnectionTimeKey()]?.let { Instant.ofEpochSecond(it) }, ) } Loading Loading @@ -263,7 +267,7 @@ constructor( private fun setInstant( preferences: MutablePreferences, instant: Instant?, key: Preferences.Key<Long> key: Preferences.Key<Long>, ) { if (instant != null) { // Use epochSecond because an instant is defined as a signed long (64bit number) of Loading Loading
packages/SystemUI/src/com/android/systemui/education/data/repository/UserContextualEducationRepository.kt +14 −10 Original line number Diff line number Diff line Loading @@ -20,10 +20,12 @@ import android.content.Context import android.hardware.input.InputManager import android.hardware.input.KeyGestureEvent import androidx.datastore.core.DataStore import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler import androidx.datastore.preferences.core.MutablePreferences import androidx.datastore.preferences.core.PreferenceDataStoreFactory import androidx.datastore.preferences.core.Preferences import androidx.datastore.preferences.core.edit import androidx.datastore.preferences.core.emptyPreferences import androidx.datastore.preferences.core.intPreferencesKey import androidx.datastore.preferences.core.longPreferencesKey import androidx.datastore.preferences.preferencesDataStoreFile Loading Loading @@ -68,7 +70,7 @@ interface ContextualEducationRepository { suspend fun updateGestureEduModel( gestureType: GestureType, transform: (GestureEduModel) -> GestureEduModel transform: (GestureEduModel) -> GestureEduModel, ) suspend fun updateEduDeviceConnectionTime( Loading Loading @@ -149,6 +151,8 @@ constructor( String.format(DATASTORE_DIR, userId) ) }, corruptionHandler = ReplaceFileCorruptionHandler(produceNewData = { emptyPreferences() }), scope = newDsScope, ) dataStoreScope = newDsScope Loading @@ -159,7 +163,7 @@ constructor( private fun getGestureEduModel( gestureType: GestureType, preferences: Preferences preferences: Preferences, ): GestureEduModel { return GestureEduModel( signalCount = preferences[getSignalCountKey(gestureType)] ?: 0, Loading @@ -183,7 +187,7 @@ constructor( override suspend fun updateGestureEduModel( gestureType: GestureType, transform: (GestureEduModel) -> GestureEduModel transform: (GestureEduModel) -> GestureEduModel, ) { datastore.filterNotNull().first().edit { preferences -> val currentModel = getGestureEduModel(gestureType, preferences) Loading @@ -193,17 +197,17 @@ constructor( setInstant( preferences, updatedModel.lastShortcutTriggeredTime, getLastShortcutTriggeredTimeKey(gestureType) getLastShortcutTriggeredTimeKey(gestureType), ) setInstant( preferences, updatedModel.usageSessionStartTime, getUsageSessionStartTimeKey(gestureType) getUsageSessionStartTimeKey(gestureType), ) setInstant( preferences, updatedModel.lastEducationTime, getLastEducationTimeKey(gestureType) getLastEducationTimeKey(gestureType), ) } } Loading @@ -220,12 +224,12 @@ constructor( setInstant( preferences, updatedModel.keyboardFirstConnectionTime, getKeyboardFirstConnectionTimeKey() getKeyboardFirstConnectionTimeKey(), ) setInstant( preferences, updatedModel.touchpadFirstConnectionTime, getTouchpadFirstConnectionTimeKey() getTouchpadFirstConnectionTimeKey(), ) } } Loading @@ -235,7 +239,7 @@ constructor( keyboardFirstConnectionTime = preferences[getKeyboardFirstConnectionTimeKey()]?.let { Instant.ofEpochSecond(it) }, touchpadFirstConnectionTime = preferences[getTouchpadFirstConnectionTimeKey()]?.let { Instant.ofEpochSecond(it) } preferences[getTouchpadFirstConnectionTimeKey()]?.let { Instant.ofEpochSecond(it) }, ) } Loading Loading @@ -263,7 +267,7 @@ constructor( private fun setInstant( preferences: MutablePreferences, instant: Instant?, key: Preferences.Key<Long> key: Preferences.Key<Long>, ) { if (instant != null) { // Use epochSecond because an instant is defined as a signed long (64bit number) of Loading