From fdfaa74e17ce6d469dc65d17a33bee78ef41c49d Mon Sep 17 00:00:00 2001 From: PranshulGG Date: Sat, 20 Jun 2026 15:12:23 +0530 Subject: [PATCH] refactor WeatherWidgetStateDefinition to use DataStoreFactory and dynamic fileKey --- .../widgets/WeatherWidgetStateDefinition.kt | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/WeatherWidgetStateDefinition.kt b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/WeatherWidgetStateDefinition.kt index 7b2f9d8a4..397999877 100644 --- a/app/src/main/java/com/pranshulgg/weather_master_app/widgets/WeatherWidgetStateDefinition.kt +++ b/app/src/main/java/com/pranshulgg/weather_master_app/widgets/WeatherWidgetStateDefinition.kt @@ -2,6 +2,7 @@ package com.pranshulgg.weather_master_app.widgets import android.content.Context import androidx.datastore.core.DataStore +import androidx.datastore.core.DataStoreFactory import androidx.datastore.core.Serializer import androidx.datastore.dataStore import androidx.datastore.dataStoreFile @@ -16,20 +17,15 @@ import java.io.OutputStream object WeatherWidgetStateDefinition : GlanceStateDefinition { - private const val FILE_NAME = - "weather_widget_state" - - private val Context.datastore by dataStore( - fileName = FILE_NAME, - serializer = WeatherWidgetSerializer - ) - override suspend fun getDataStore( context: Context, fileKey: String ): DataStore { - return context.datastore + return DataStoreFactory.create( + serializer = WeatherWidgetSerializer, + produceFile = { context.dataStoreFile(fileKey) } + ) } override fun getLocation( @@ -37,7 +33,7 @@ object WeatherWidgetStateDefinition : fileKey: String ): File { - return context.dataStoreFile(FILE_NAME) + return context.dataStoreFile(fileKey) } object WeatherWidgetSerializer :