From a129bcd0a4963aa38062334af989f3a1294e0b4a Mon Sep 17 00:00:00 2001 From: Pitsanu Kittipittayakorn Date: Tue, 24 Dec 2024 19:47:36 +0700 Subject: [PATCH 1/9] Add lib about libraries --- gradle/libs.versions.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9d950eb..99b66ed 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,6 +19,7 @@ ksp = "1.9.22-1.0.18" oss = "17.0.1" robolectric = "4.11.1" roborazzi = "1.11.0" +aboutLibraries = "11.2.3" [libraries] androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" } @@ -51,9 +52,15 @@ robolectric = { group = "org.robolectric", name = "robolectric", version.ref = " roborazzi = { group = "io.github.takahirom.roborazzi", name = "roborazzi", version.ref = "roborazzi" } roborazzi-compose = { group = "io.github.takahirom.roborazzi", name = "roborazzi-compose", version.ref = "roborazzi" } roborazzi-rule = { group = "io.github.takahirom.roborazzi", name = "roborazzi-junit-rule", version.ref = "roborazzi" } +aboutLibraries-core = { group = "com.mikepenz", name = "aboutlibraries-core", version.ref = "aboutLibraries" } +aboutLibraries-composeM3 = { group = "com.mikepenz", name = "aboutlibraries-compose-m3", version.ref = "aboutLibraries" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } devToolsKsp = { id = "com.google.devtools.ksp", version.ref = "ksp" } roborazzi = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" } +aboutLibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutLibraries" } + +[bundles] +aboutLibraries-all = ["aboutLibraries-core", "aboutLibraries-composeM3"] \ No newline at end of file From bc8e7478fa715cc97d6e397e91325179217315aa Mon Sep 17 00:00:00 2001 From: Pitsanu Kittipittayakorn Date: Tue, 24 Dec 2024 19:48:08 +0700 Subject: [PATCH 2/9] Apply about libraries to app --- app/build.gradle.kts | 9 +++++++++ build.gradle.kts | 1 + 2 files changed, 10 insertions(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bd28ee1..39d1e8f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -3,6 +3,14 @@ plugins { alias(libs.plugins.jetbrainsKotlinAndroid) alias(libs.plugins.devToolsKsp) alias(libs.plugins.roborazzi) + alias(libs.plugins.aboutLibraries) +} + +aboutLibraries { + registerAndroidTasks = true + includePlatform = false + offlineMode = true + outputFileName = "aboutlibraries.json" } android { @@ -91,6 +99,7 @@ dependencies { implementation(libs.androidx.ui.tooling.preview) implementation(libs.koin.androidx.compose) implementation(libs.koin.androidx.compose.navigation) + implementation(libs.bundles.aboutLibraries.all) implementation(platform(libs.androidx.compose.bom)) implementation(platform(libs.koin.bom)) diff --git a/build.gradle.kts b/build.gradle.kts index 93f7390..43e3a53 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,4 +3,5 @@ plugins { alias(libs.plugins.androidApplication) apply false alias(libs.plugins.jetbrainsKotlinAndroid) apply false alias(libs.plugins.devToolsKsp) apply false + alias(libs.plugins.aboutLibraries) apply false } \ No newline at end of file From 500a6510c1852ba4a0f2eda8c161b81f60791d43 Mon Sep 17 00:00:00 2001 From: Pitsanu Kittipittayakorn Date: Tue, 24 Dec 2024 20:25:38 +0700 Subject: [PATCH 3/9] Add OpensourceLicenseActivity and OpensourceLicenseScreen --- app/src/main/AndroidManifest.xml | 4 ++ .../osslicense/OpensourceLicenseActivity.kt | 20 +++++++ .../ui/osslicense/OpensourceLicenseScreen.kt | 56 +++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpensourceLicenseActivity.kt create mode 100644 app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpensourceLicenseScreen.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f7d8b7f..0495408 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -36,6 +36,10 @@ android:name="com.google.android.gms.oss.licenses.OssLicensesActivity" android:theme="@style/Theme.AppCompat.DayNight" /> + + + LibrariesContainer( + modifier = Modifier.fillMaxSize(), + contentPadding = paddingValues, + librariesBlock = { ctx -> + Libs.Builder() + .withJson(ctx, R.raw.aboutlibraries) + .build() + }, + ) + } +} \ No newline at end of file From 40c092baf90a961b4c1d687b27d321e4fe8a9791 Mon Sep 17 00:00:00 2001 From: Pitsanu Kittipittayakorn Date: Tue, 24 Dec 2024 20:26:58 +0700 Subject: [PATCH 4/9] - Uncomment menu item for Open Source License section - Implement onOpenSourceLicenseClick intent to OpensourceLicenseActivity --- .../ruammij/ui/aboutapp/AboutAppScreen.kt | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt b/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt index c506931..a608259 100644 --- a/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt +++ b/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt @@ -53,6 +53,7 @@ import com.akexorcist.ruammij.ui.component.BodyText import com.akexorcist.ruammij.ui.component.BoldBodyText import com.akexorcist.ruammij.ui.component.DescriptionText import com.akexorcist.ruammij.ui.component.HeadlineText +import com.akexorcist.ruammij.ui.osslicense.OpensourceLicenseActivity import com.akexorcist.ruammij.ui.theme.Buttons import com.akexorcist.ruammij.ui.theme.RuamMijTheme @@ -81,7 +82,8 @@ fun AboutAppRoute() { showContributor = true }, onOpenSourceLicenseClick = { - // TODO navigate to open source license screen + val intent = Intent(activity, OpensourceLicenseActivity::class.java) + activity.startActivity(intent) }, onSourceCodeClick = { val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/akexorcist/ruam-mij-android")) @@ -133,13 +135,12 @@ private fun AboutAppScreen( onClick = onContributorClick, ) Spacer(modifier = Modifier.height(16.dp)) - // TODO Add Open Source License section -// MenuItem( -// label = stringResource(R.string.about_app_menu_open_source_licenses), -// icon = painterResource(R.drawable.ic_about_app_source_code), -// onClick = onOpenSourceLicenseClick, -// ) -// Spacer(modifier = Modifier.height(16.dp)) + MenuItem( + label = stringResource(R.string.about_app_menu_open_source_licenses), + icon = painterResource(R.drawable.ic_about_app_source_code), + onClick = onOpenSourceLicenseClick, + ) + Spacer(modifier = Modifier.height(16.dp)) MenuItem( label = stringResource(R.string.about_app_menu_source_code), icon = painterResource(R.drawable.ic_about_app_source_code), From 5fc2528f1e0ec8ad99b7a930bb92dace3feac6db Mon Sep 17 00:00:00 2001 From: Pitsanu Kittipittayakorn Date: Tue, 24 Dec 2024 20:38:10 +0700 Subject: [PATCH 5/9] Rename classes --- app/src/main/AndroidManifest.xml | 2 +- .../java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt | 4 ++-- ...nsourceLicenseActivity.kt => OpenSourceLicenseActivity.kt} | 4 ++-- ...{OpensourceLicenseScreen.kt => OpenSourceLicenseScreen.kt} | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) rename app/src/main/java/com/akexorcist/ruammij/ui/osslicense/{OpensourceLicenseActivity.kt => OpenSourceLicenseActivity.kt} (82%) rename app/src/main/java/com/akexorcist/ruammij/ui/osslicense/{OpensourceLicenseScreen.kt => OpenSourceLicenseScreen.kt} (97%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0495408..45e0d95 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -37,7 +37,7 @@ android:theme="@style/Theme.AppCompat.DayNight" /> Date: Thu, 26 Dec 2024 21:50:50 +0700 Subject: [PATCH 6/9] Remove OpenSourceLicenseActivity --- app/src/main/AndroidManifest.xml | 4 ---- .../osslicense/OpenSourceLicenseActivity.kt | 20 ------------------- 2 files changed, 24 deletions(-) delete mode 100644 app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseActivity.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 45e0d95..f7d8b7f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -36,10 +36,6 @@ android:name="com.google.android.gms.oss.licenses.OssLicensesActivity" android:theme="@style/Theme.AppCompat.DayNight" /> - - Date: Thu, 26 Dec 2024 21:52:20 +0700 Subject: [PATCH 7/9] Create new navigation for app and open source licenses screen --- .../ruammij/ui/RuamMijAppNavigation.kt | 16 ++++++++++ .../osslicense/OpenSourceLicenseNavigation.kt | 32 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 app/src/main/java/com/akexorcist/ruammij/ui/RuamMijAppNavigation.kt create mode 100644 app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseNavigation.kt diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijAppNavigation.kt b/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijAppNavigation.kt new file mode 100644 index 0000000..8cf6d3d --- /dev/null +++ b/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijAppNavigation.kt @@ -0,0 +1,16 @@ +package com.akexorcist.ruammij.ui + +import androidx.navigation.NavGraphBuilder +import androidx.navigation.compose.composable + +const val RUAM_MIJ_APP_ROUTE = "ruam_mij_app_route" + +fun NavGraphBuilder.ruamMijApp( + appState: AppState, +) { + composable(route = RUAM_MIJ_APP_ROUTE) { + RuamMijApp( + appState = appState, + ) + } +} diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseNavigation.kt b/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseNavigation.kt new file mode 100644 index 0000000..589d9a6 --- /dev/null +++ b/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseNavigation.kt @@ -0,0 +1,32 @@ +package com.akexorcist.ruammij.ui.osslicense + +import androidx.compose.animation.AnimatedContentTransitionScope +import androidx.compose.animation.core.tween +import androidx.navigation.NavController +import androidx.navigation.NavGraphBuilder +import androidx.navigation.compose.composable + +const val OPEN_SOURCE_LICENSES_ROUTE = "open_source_licenses_route" + +fun NavController.navigateToOpenSourceLicense() = navigate(route = OPEN_SOURCE_LICENSES_ROUTE) { + popUpTo(graph.startDestinationId) + launchSingleTop = true +} + +fun NavGraphBuilder.openSourceLicenseScreen( + navController: NavController, +) { + composable( + route = OPEN_SOURCE_LICENSES_ROUTE, + enterTransition = { + slideIntoContainer(AnimatedContentTransitionScope.SlideDirection.Start, tween(350)) + }, + exitTransition = { + slideOutOfContainer(AnimatedContentTransitionScope.SlideDirection.End, tween(350)) + }, + ) { + OpenSourceLicenseRoute( + navController = navController, + ) + } +} From 60cb3b9518e059855688ee7d9748c6ee4dcf495f Mon Sep 17 00:00:00 2001 From: Pitsanu Kittipittayakorn Date: Thu, 26 Dec 2024 21:54:50 +0700 Subject: [PATCH 8/9] - Create new nav host for app level - Use main nav controller for navigate to open source licenses screen --- .../com/akexorcist/ruammij/MainActivity.kt | 14 +++++++++++-- .../com/akexorcist/ruammij/ui/RuamMijApp.kt | 21 +++++++++++-------- .../ruammij/ui/aboutapp/AboutAppNavigation.kt | 9 ++++++-- .../ruammij/ui/aboutapp/AboutAppScreen.kt | 10 +++++---- .../ui/osslicense/OpenSourceLicenseScreen.kt | 16 ++++++++++---- 5 files changed, 49 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/com/akexorcist/ruammij/MainActivity.kt b/app/src/main/java/com/akexorcist/ruammij/MainActivity.kt index 3e8e6a1..bdc60a9 100644 --- a/app/src/main/java/com/akexorcist/ruammij/MainActivity.kt +++ b/app/src/main/java/com/akexorcist/ruammij/MainActivity.kt @@ -5,8 +5,11 @@ import android.os.Bundle import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import com.akexorcist.ruammij.ui.RuamMijApp +import androidx.navigation.compose.NavHost +import com.akexorcist.ruammij.ui.RUAM_MIJ_APP_ROUTE +import com.akexorcist.ruammij.ui.osslicense.openSourceLicenseScreen import com.akexorcist.ruammij.ui.rememberAppState +import com.akexorcist.ruammij.ui.ruamMijApp import com.akexorcist.ruammij.ui.theme.RuamMijTheme import com.akexorcist.ruammij.utility.getOwnerPackageName import org.koin.androidx.viewmodel.ext.android.viewModel @@ -26,7 +29,14 @@ class MainActivity : AppCompatActivity() { setContent { RuamMijTheme { val appState = rememberAppState() - RuamMijApp(appState = appState) + + NavHost( + navController = appState.mainNavController, + startDestination = RUAM_MIJ_APP_ROUTE, + ) { + ruamMijApp(appState = appState) + openSourceLicenseScreen(navController = appState.mainNavController) + } } } displayManager.registerDisplayListener(displayListener, null) diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt b/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt index 85bd43d..488a06a 100644 --- a/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt +++ b/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt @@ -17,13 +17,14 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.Stable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.navigation.NavDestination +import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost +import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import com.akexorcist.ruammij.R @@ -45,7 +46,7 @@ import com.akexorcist.ruammij.ui.theme.RuamMijTheme fun RuamMijApp( appState: AppState, ) { - val navController = appState.navController + val navController = appState.bottomBarNavController Scaffold( bottomBar = { @@ -66,13 +67,13 @@ fun RuamMijApp( modifier = Modifier .fillMaxSize() .padding(padding), - navController = appState.navController, + navController = appState.bottomBarNavController, startDestination = OVERVIEW_ROUTE, ) { overviewScreen(navController = navController) accessibilityScreen() installedAppScreen() - aboutAppScreen() + aboutAppScreen(appState = appState) } }, ) @@ -109,18 +110,20 @@ private fun DownloadButton(onClick: () -> Unit) { @Stable class AppState( - val navController: NavHostController, + val mainNavController: NavHostController, + val bottomBarNavController: NavHostController, ) { val currentDestination: NavDestination? - @Composable get() = navController.currentBackStackEntryAsState().value?.destination + @Composable get() = bottomBarNavController.currentBackStackEntryAsState().value?.destination } @Composable fun rememberAppState( - navController: NavHostController = rememberNavController(), + mainNavController: NavHostController = rememberNavController(), + bottomBarNavController: NavHostController = rememberNavController(), ): AppState { - return remember(navController) { - AppState(navController) + return remember(mainNavController, bottomBarNavController) { + AppState(mainNavController, bottomBarNavController) } } diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppNavigation.kt b/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppNavigation.kt index c16f83c..253615f 100644 --- a/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppNavigation.kt +++ b/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppNavigation.kt @@ -3,6 +3,7 @@ package com.akexorcist.ruammij.ui.aboutapp import androidx.navigation.NavController import androidx.navigation.NavGraphBuilder import androidx.navigation.compose.composable +import com.akexorcist.ruammij.ui.AppState const val ABOUT_APP_ROUTE = "about_app_route" @@ -11,8 +12,12 @@ fun NavController.navigateToAboutApp() = navigate(ABOUT_APP_ROUTE) { launchSingleTop = true } -fun NavGraphBuilder.aboutAppScreen() { +fun NavGraphBuilder.aboutAppScreen( + appState: AppState, +) { composable(route = ABOUT_APP_ROUTE) { - AboutAppRoute() + AboutAppRoute( + appState = appState, + ) } } diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt b/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt index 511e505..be106e9 100644 --- a/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt +++ b/app/src/main/java/com/akexorcist/ruammij/ui/aboutapp/AboutAppScreen.kt @@ -49,16 +49,19 @@ import androidx.compose.ui.unit.dp import com.akexorcist.ruammij.BuildConfig import com.akexorcist.ruammij.R import com.akexorcist.ruammij.common.Contributors +import com.akexorcist.ruammij.ui.AppState import com.akexorcist.ruammij.ui.component.BodyText import com.akexorcist.ruammij.ui.component.BoldBodyText import com.akexorcist.ruammij.ui.component.DescriptionText import com.akexorcist.ruammij.ui.component.HeadlineText -import com.akexorcist.ruammij.ui.osslicense.OpenSourceLicenseActivity +import com.akexorcist.ruammij.ui.osslicense.navigateToOpenSourceLicense import com.akexorcist.ruammij.ui.theme.Buttons import com.akexorcist.ruammij.ui.theme.RuamMijTheme @Composable -fun AboutAppRoute() { +fun AboutAppRoute( + appState: AppState, +) { val activity = LocalContext.current as Activity var showPrivacyPolicy by remember { mutableStateOf(false) } var showContributor by remember { mutableStateOf(false) } @@ -82,8 +85,7 @@ fun AboutAppRoute() { showContributor = true }, onOpenSourceLicenseClick = { - val intent = Intent(activity, OpenSourceLicenseActivity::class.java) - activity.startActivity(intent) + appState.mainNavController.navigateToOpenSourceLicense() }, onSourceCodeClick = { val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/akexorcist/ruam-mij-android")) diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt b/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt index 13f433e..dfdb6b6 100644 --- a/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt +++ b/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt @@ -14,16 +14,24 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.navigation.NavController import com.akexorcist.ruammij.R import com.mikepenz.aboutlibraries.Libs import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer import com.mikepenz.aboutlibraries.util.withJson -@OptIn(ExperimentalMaterial3Api::class) @Composable -internal fun OpenSourceLicenseScreen() { - val activity = LocalContext.current as Activity +fun OpenSourceLicenseRoute( + navController: NavController, +) { + OpenSourceLicenseScreen(navController = navController) +} +@OptIn(ExperimentalMaterial3Api::class) +@Composable +private fun OpenSourceLicenseScreen( + navController: NavController, +) { Scaffold( topBar = { TopAppBar( @@ -33,7 +41,7 @@ internal fun OpenSourceLicenseScreen() { ) }, navigationIcon = { - IconButton(onClick = { activity.finish() }) { + IconButton(onClick = { navController.popBackStack() }) { Icon( imageVector = Icons.AutoMirrored.Filled.ArrowBack, contentDescription = "Back" From a647e35e1cb7750191ec3ccaa7bb1337bf3da79b Mon Sep 17 00:00:00 2001 From: Pitsanu Kittipittayakorn Date: Thu, 26 Dec 2024 21:56:10 +0700 Subject: [PATCH 9/9] Remove unused import --- app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt | 2 -- .../akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt | 2 -- 2 files changed, 4 deletions(-) diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt b/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt index 488a06a..5ab8425 100644 --- a/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt +++ b/app/src/main/java/com/akexorcist/ruammij/ui/RuamMijApp.kt @@ -21,10 +21,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.navigation.NavDestination -import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.compose.NavHost -import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import com.akexorcist.ruammij.R diff --git a/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt b/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt index dfdb6b6..834b322 100644 --- a/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt +++ b/app/src/main/java/com/akexorcist/ruammij/ui/osslicense/OpenSourceLicenseScreen.kt @@ -1,6 +1,5 @@ package com.akexorcist.ruammij.ui.osslicense -import android.app.Activity import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack @@ -12,7 +11,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.navigation.NavController import com.akexorcist.ruammij.R