From 9c6cae1ce854ee973e58f9b3d39cb4ddb439f8c7 Mon Sep 17 00:00:00 2001 From: ksw4015 Date: Sat, 5 Oct 2024 14:26:56 +0900 Subject: [PATCH] refactor: AreaCodeWorker & SplashActivity refactoring --- .../data/local/entity/AreaCodeEntity.kt | 2 +- .../data/local/entity/SigunguCodeEntity.kt | 2 +- .../data/workmanager/AreaCodeWorker.kt | 23 ------------------- .../presentation/splash/SplashActivity.kt | 2 +- .../presentation/splash/SplashViewModel.kt | 8 ++----- 5 files changed, 5 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/kr/ksw/visitkorea/data/local/entity/AreaCodeEntity.kt b/app/src/main/java/kr/ksw/visitkorea/data/local/entity/AreaCodeEntity.kt index 9518790..e616a73 100644 --- a/app/src/main/java/kr/ksw/visitkorea/data/local/entity/AreaCodeEntity.kt +++ b/app/src/main/java/kr/ksw/visitkorea/data/local/entity/AreaCodeEntity.kt @@ -8,5 +8,5 @@ data class AreaCodeEntity( @PrimaryKey(autoGenerate = true) val id: Int? = null, val code: String, - val name: String + val name: String, ) \ No newline at end of file diff --git a/app/src/main/java/kr/ksw/visitkorea/data/local/entity/SigunguCodeEntity.kt b/app/src/main/java/kr/ksw/visitkorea/data/local/entity/SigunguCodeEntity.kt index acb3c10..ed76965 100644 --- a/app/src/main/java/kr/ksw/visitkorea/data/local/entity/SigunguCodeEntity.kt +++ b/app/src/main/java/kr/ksw/visitkorea/data/local/entity/SigunguCodeEntity.kt @@ -9,5 +9,5 @@ data class SigunguCodeEntity( val id: Int? = null, val areaCode: String, val code: String, - val name: String + val name: String, ) \ No newline at end of file diff --git a/app/src/main/java/kr/ksw/visitkorea/data/workmanager/AreaCodeWorker.kt b/app/src/main/java/kr/ksw/visitkorea/data/workmanager/AreaCodeWorker.kt index e923dd1..24a5955 100644 --- a/app/src/main/java/kr/ksw/visitkorea/data/workmanager/AreaCodeWorker.kt +++ b/app/src/main/java/kr/ksw/visitkorea/data/workmanager/AreaCodeWorker.kt @@ -1,15 +1,11 @@ package kr.ksw.visitkorea.data.workmanager -import android.app.Notification import android.content.Context -import androidx.core.app.NotificationCompat import androidx.hilt.work.HiltWorker import androidx.work.CoroutineWorker -import androidx.work.ForegroundInfo import androidx.work.WorkerParameters import dagger.assisted.Assisted import dagger.assisted.AssistedInject -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kr.ksw.visitkorea.data.local.databases.AreaCodeDatabase @@ -48,23 +44,4 @@ class AreaCodeWorker @AssistedInject constructor( return Result.success() } - override suspend fun getForegroundInfo(): ForegroundInfo { - return ForegroundInfo( - NOTIFICATION_ID, - createNotification() - ) - } - - private fun createNotification(): Notification { - return NotificationCompat.Builder( - appContext, - NOTIFICATION_CHANNEL - ).build() - } - - companion object { - private const val NOTIFICATION_ID = 1000 - private const val NOTIFICATION_CHANNEL = "Save AreaCode" - } - } \ No newline at end of file diff --git a/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashActivity.kt b/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashActivity.kt index dfaf90f..660eac6 100644 --- a/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashActivity.kt +++ b/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashActivity.kt @@ -29,7 +29,6 @@ class SplashActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - viewModel.initAreaCode(applicationContext) setContent { VisitKoreaTheme { Surface { @@ -48,6 +47,7 @@ class SplashActivity : ComponentActivity() { } observeSideEffect() viewModel.checkPermission(this) + viewModel.initAreaCode(applicationContext) } private fun observeSideEffect() { diff --git a/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashViewModel.kt b/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashViewModel.kt index de17583..afd3e7e 100644 --- a/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashViewModel.kt +++ b/app/src/main/java/kr/ksw/visitkorea/presentation/splash/SplashViewModel.kt @@ -9,6 +9,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.core.content.ContextCompat import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import androidx.work.OneTimeWorkRequest import androidx.work.OneTimeWorkRequestBuilder import androidx.work.WorkManager import dagger.hilt.android.lifecycle.HiltViewModel @@ -58,15 +59,10 @@ class SplashViewModel @Inject constructor( viewModelScope.launch { val areaCodeItems = areaCodeDatabase.areaCodeDao.getAllAreaCodeEntities() if(areaCodeItems.isEmpty()) { - val workRequest = OneTimeWorkRequestBuilder().build() + val workRequest = OneTimeWorkRequest.Companion.from(AreaCodeWorker::class.java) WorkManager .getInstance(context) .enqueue(workRequest) - } else { - Log.d("SplashViewModel", areaCodeItems.toString()) - areaCodeItems.forEach { - Log.d("SplashViewModel", areaCodeDatabase.areaCodeDao.getSigunguCodeByAreaCode(it.code).toString()) - } } } }