build variants

This commit is contained in:
moon 2026-06-17 11:21:52 +06:30
parent f173c974d0
commit d67e27593b
3 changed files with 53 additions and 2 deletions

View File

@ -24,6 +24,31 @@ android {
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 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 { buildTypes {
release { release {
isMinifyEnabled = false isMinifyEnabled = false

View File

@ -1,5 +1,9 @@
package com.mob.utsmyanmar.ui.dashboard 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.Handler
import android.os.Looper import android.os.Looper
import androidx.compose.animation.core.LinearEasing import androidx.compose.animation.core.LinearEasing
@ -64,9 +68,11 @@ import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableLongStateOf import androidx.compose.runtime.mutableLongStateOf
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip 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 confirmationMessage(action: String) = "Do you want to start ${action.lowercase()}?"
fun processingMessage(action: String) = "Sending ${action.lowercase()} request to host..." 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 @Composable
fun Item( fun Item(
onClick: () -> Unit, onClick: () -> Unit,

View File

@ -65,7 +65,7 @@ private fun PayDetail.toRecord(): TrnxRecord {
return TrnxRecord( return TrnxRecord(
pid = PID ?: 0L, pid = PID ?: 0L,
typeLabel = type, typeLabel = type,
amountDisplay = amount, amountDisplay= amount,
maskedCard = card, maskedCard = card,
dateTime = dt, dateTime = dt,
isVoided = isCanceled, isVoided = isCanceled,