From d67e27593b89bb916a2a5682219e2908977851f2 Mon Sep 17 00:00:00 2001 From: moon <56061215+MgKyawLay@users.noreply.github.com> Date: Wed, 17 Jun 2026 11:21:52 +0630 Subject: [PATCH] build variants --- app/build.gradle.kts | 25 +++++++++++++++++ .../ui/dashboard/DashboardScreen.kt | 28 ++++++++++++++++++- .../ui/dashboard/DashboardViewModel.kt | 2 +- 3 files changed, 53 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4a75db1..55dd540 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -24,6 +24,31 @@ android { testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } + flavorDimensions += "env" + + productFlavors { + create("sit"){ + dimension = "env" + applicationIdSuffix = ".sit" + versionNameSuffix = "-SIT" + versionCode = 1 + versionName = "1.0" + buildConfigField("String", "ENV", "\"SIT\"") + } + create("uat"){ + dimension = "env" + applicationIdSuffix = ".uat" + versionNameSuffix = "-SIT" + versionCode = 1 + versionName = "1.0" + buildConfigField("String", "ENV", "\"UAT\"") + } + create("production"){ + dimension = "env" + buildConfigField("String", "ENV", "\"PROD\"") + } + } + buildTypes { release { isMinifyEnabled = false diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen.kt b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen.kt index ba393b6..e6be3ae 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardScreen.kt @@ -1,5 +1,9 @@ package com.mob.utsmyanmar.ui.dashboard +import android.content.Context +import android.net.ConnectivityManager +import android.net.Network +import android.net.NetworkCapabilities import android.os.Handler import android.os.Looper import androidx.compose.animation.core.LinearEasing @@ -64,9 +68,11 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableLongStateOf import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -123,7 +129,7 @@ fun DashboardScreen2( ) } - val isOnline = true + val isOnline by rememberIsOnline() fun confirmationMessage(action: String) = "Do you want to start ${action.lowercase()}?" fun processingMessage(action: String) = "Sending ${action.lowercase()} request to host..." @@ -1072,6 +1078,26 @@ fun PreviewItem() { } +@Composable +private fun rememberIsOnline() = run { + val context = LocalContext.current + val cm = remember(context) { + context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager + } + produceState( + initialValue = cm.activeNetwork + ?.let { cm.getNetworkCapabilities(it)?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) } + ?: false + ) { + val callback = object : ConnectivityManager.NetworkCallback() { + override fun onAvailable(network: Network) { value = true } + override fun onLost(network: Network) { value = false } + } + cm.registerDefaultNetworkCallback(callback) + awaitDispose { cm.unregisterNetworkCallback(callback) } + } +} + @Composable fun Item( onClick: () -> Unit, diff --git a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardViewModel.kt b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardViewModel.kt index 2494231..f77384c 100644 --- a/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardViewModel.kt +++ b/app/src/main/java/com/mob/utsmyanmar/ui/dashboard/DashboardViewModel.kt @@ -65,7 +65,7 @@ private fun PayDetail.toRecord(): TrnxRecord { return TrnxRecord( pid = PID ?: 0L, typeLabel = type, - amountDisplay = amount, + amountDisplay= amount, maskedCard = card, dateTime = dt, isVoided = isCanceled,