Loading install-app-lib/installappdemo/build.gradle.kts +0 −5 Original line number Diff line number Diff line Loading @@ -58,11 +58,6 @@ dependencies { implementation(libs.ui.graphics) implementation(libs.compose.ui.tooling.preview) implementation(libs.compose.material3) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) androidTestImplementation(platform(libs.compose.bom)) androidTestImplementation(libs.compose.ui.test.junit4) debugImplementation(libs.compose.ui.tooling) debugImplementation(libs.compose.ui.test.manifest) } install-app-lib/installappdemo/src/main/AndroidManifest.xml +2 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,8 @@ <application android:allowBackup="true" android:label="InstallAppDemo" android:supportsRtl="true"> android:supportsRtl="true" android:icon="@drawable/app_icon"> <activity android:name=".MainActivity" android:exported="true" Loading install-app-lib/installappdemo/src/main/java/foundation/e/apps/installapp/demo/MainActivity.kt +31 −37 Original line number Diff line number Diff line package foundation.e.apps.installapp.demo import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge Loading Loading @@ -41,7 +40,6 @@ class MainActivity : ComponentActivity() { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { //AppLoungeTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> InstallAppScreen( modifier = Modifier.padding(innerPadding), Loading @@ -51,26 +49,15 @@ class MainActivity : ComponentActivity() { ::stopInstallApp ) } //} } } private fun installApp(packageName: String) { installStatus.value = null val appInstaller = AppInstaller(this) // installJob = appInstaller.installByPackageName(packageName, installSource) // .map { status.value = it.name } // .launchIn(lifecycleScope) installJob = lifecycleScope.launch { appInstaller.status.map { Log.d("DebugGJ", "install ${packageName} status: $it ") //lastStatus = it status.value = it.name }.launchIn(lifecycleScope) appInstaller.status.map { status.value = it.name }.launchIn(lifecycleScope) installStatus.value = appInstaller.installByPackageName(packageName).name } } Loading @@ -82,12 +69,13 @@ class MainActivity : ComponentActivity() { } @Composable() private fun InstallAppScreen( fun InstallAppScreen( modifier: Modifier, statusFlow: Flow<String>, installStatusFlow: Flow<String?>, installApp: (String) -> Unit, stopInstallApp: () -> Unit) { stopInstallApp: () -> Unit ) { var packageName by remember { mutableStateOf("") } val status by statusFlow.collectAsState("not connected") Loading @@ -105,27 +93,33 @@ private fun InstallAppScreen( modifier = Modifier.fillMaxWidth() ) Button(onClick = { Button( onClick = { installApp(packageName) }, modifier = Modifier .fillMaxWidth() .padding(top = 12.dp)) { .padding(top = 12.dp) ) { Text("Install") } Button(onClick = { Button( onClick = { stopInstallApp() }, modifier = Modifier .fillMaxWidth() .padding(top = 12.dp)) { .padding(top = 12.dp) ) { Text("STOP") } Row(modifier = Modifier Row( modifier = Modifier .fillMaxWidth() .padding(top = 12.dp)) { .padding(top = 12.dp) ) { Text("Status: ") Text(status) } Loading install-app-lib/installappdemo/src/main/res/drawable/app_icon.xml 0 → 100644 +9 −0 Original line number Diff line number Diff line <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="100dp" android:height="100dp" android:viewportWidth="100" android:viewportHeight="100"> <path android:fillColor="#FF000000" android:pathData="M50,5c24.85,0 45,20.15 45,45c0,24.85 -20.15,45 -45,45C25.15,95 5,74.85 5,50C5,25.15 25.15,5 50,5zM36.48,32.42c-0.16,1.33 -0.05,34.42 0,35.42c0.08,1.75 2.6,3.42 5.28,1.95c2.31,-1.26 27.83,-15.85 28.92,-16.83c1.98,-1.78 1.9,-4.37 -0.1,-5.7c-1.5,-1 -28.42,-16.74 -28.92,-17.08C40.08,29.08 36.83,29.5 36.48,32.42z"/> </vector> Loading
install-app-lib/installappdemo/build.gradle.kts +0 −5 Original line number Diff line number Diff line Loading @@ -58,11 +58,6 @@ dependencies { implementation(libs.ui.graphics) implementation(libs.compose.ui.tooling.preview) implementation(libs.compose.material3) testImplementation(libs.junit) androidTestImplementation(libs.ext.junit) androidTestImplementation(libs.espresso.core) androidTestImplementation(platform(libs.compose.bom)) androidTestImplementation(libs.compose.ui.test.junit4) debugImplementation(libs.compose.ui.tooling) debugImplementation(libs.compose.ui.test.manifest) }
install-app-lib/installappdemo/src/main/AndroidManifest.xml +2 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,8 @@ <application android:allowBackup="true" android:label="InstallAppDemo" android:supportsRtl="true"> android:supportsRtl="true" android:icon="@drawable/app_icon"> <activity android:name=".MainActivity" android:exported="true" Loading
install-app-lib/installappdemo/src/main/java/foundation/e/apps/installapp/demo/MainActivity.kt +31 −37 Original line number Diff line number Diff line package foundation.e.apps.installapp.demo import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge Loading Loading @@ -41,7 +40,6 @@ class MainActivity : ComponentActivity() { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { //AppLoungeTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> InstallAppScreen( modifier = Modifier.padding(innerPadding), Loading @@ -51,26 +49,15 @@ class MainActivity : ComponentActivity() { ::stopInstallApp ) } //} } } private fun installApp(packageName: String) { installStatus.value = null val appInstaller = AppInstaller(this) // installJob = appInstaller.installByPackageName(packageName, installSource) // .map { status.value = it.name } // .launchIn(lifecycleScope) installJob = lifecycleScope.launch { appInstaller.status.map { Log.d("DebugGJ", "install ${packageName} status: $it ") //lastStatus = it status.value = it.name }.launchIn(lifecycleScope) appInstaller.status.map { status.value = it.name }.launchIn(lifecycleScope) installStatus.value = appInstaller.installByPackageName(packageName).name } } Loading @@ -82,12 +69,13 @@ class MainActivity : ComponentActivity() { } @Composable() private fun InstallAppScreen( fun InstallAppScreen( modifier: Modifier, statusFlow: Flow<String>, installStatusFlow: Flow<String?>, installApp: (String) -> Unit, stopInstallApp: () -> Unit) { stopInstallApp: () -> Unit ) { var packageName by remember { mutableStateOf("") } val status by statusFlow.collectAsState("not connected") Loading @@ -105,27 +93,33 @@ private fun InstallAppScreen( modifier = Modifier.fillMaxWidth() ) Button(onClick = { Button( onClick = { installApp(packageName) }, modifier = Modifier .fillMaxWidth() .padding(top = 12.dp)) { .padding(top = 12.dp) ) { Text("Install") } Button(onClick = { Button( onClick = { stopInstallApp() }, modifier = Modifier .fillMaxWidth() .padding(top = 12.dp)) { .padding(top = 12.dp) ) { Text("STOP") } Row(modifier = Modifier Row( modifier = Modifier .fillMaxWidth() .padding(top = 12.dp)) { .padding(top = 12.dp) ) { Text("Status: ") Text(status) } Loading
install-app-lib/installappdemo/src/main/res/drawable/app_icon.xml 0 → 100644 +9 −0 Original line number Diff line number Diff line <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="100dp" android:height="100dp" android:viewportWidth="100" android:viewportHeight="100"> <path android:fillColor="#FF000000" android:pathData="M50,5c24.85,0 45,20.15 45,45c0,24.85 -20.15,45 -45,45C25.15,95 5,74.85 5,50C5,25.15 25.15,5 50,5zM36.48,32.42c-0.16,1.33 -0.05,34.42 0,35.42c0.08,1.75 2.6,3.42 5.28,1.95c2.31,-1.26 27.83,-15.85 28.92,-16.83c1.98,-1.78 1.9,-4.37 -0.1,-5.7c-1.5,-1 -28.42,-16.74 -28.92,-17.08C40.08,29.08 36.83,29.5 36.48,32.42z"/> </vector>