From 22618607297d6da3efcb4fddfd4136298d6bbf00 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Tue, 24 Jun 2025 09:46:31 +0100 Subject: [PATCH 1/6] Add OSS dialog to app --- app/build.gradle.kts | 5 ++++ app/src/main/AndroidManifest.xml | 7 +++++ .../androidify/navigation/MainNavigation.kt | 8 ++++++ build.gradle.kts | 12 ++++++++- feature/home/build.gradle.kts | 3 +++ .../developers/androidify/home/AboutScreen.kt | 27 ++++++++++++++----- feature/home/src/main/res/values/strings.xml | 1 + gradle/libs.versions.toml | 5 +++- 8 files changed, 59 insertions(+), 9 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 12247e54..01a07bbc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -25,6 +25,7 @@ plugins { alias(libs.plugins.google.services) alias(libs.plugins.crashlytics) alias(libs.plugins.baselineprofile) + id("com.google.android.gms.oss-licenses-plugin") } android { @@ -111,6 +112,10 @@ dependencies { implementation(libs.firebase.appcheck.debug) implementation(libs.androidx.window) + implementation(libs.androidx.appcompat) + implementation(libs.google.oss.licenses) { + exclude(group = "androidx.appcompat") + } implementation(projects.feature.camera) implementation(projects.feature.creation) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9703a00c..52c19e4b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -78,6 +78,13 @@ + + + \ No newline at end of file diff --git a/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt b/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt index 1ff5936b..7327d87d 100644 --- a/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt +++ b/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt @@ -17,6 +17,7 @@ package com.android.developers.androidify.navigation +import android.content.Intent import androidx.compose.animation.ContentTransform import androidx.compose.animation.ExperimentalSharedTransitionApi import androidx.compose.animation.fadeIn @@ -29,6 +30,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.IntOffset import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator import androidx.navigation3.runtime.entry @@ -40,6 +42,8 @@ import com.android.developers.androidify.creation.CreationScreen import com.android.developers.androidify.home.AboutScreen import com.android.developers.androidify.home.HomeScreen import com.android.developers.androidify.theme.transitions.ColorSplashTransitionScreen +import com.google.android.gms.oss.licenses.OssLicensesActivity +import com.google.android.gms.oss.licenses.OssLicensesMenuActivity @ExperimentalMaterial3ExpressiveApi @Composable @@ -110,10 +114,14 @@ fun MainNavigation() { ) } entry { + val context = LocalContext.current AboutScreen( onBackPressed = { backStack.removeLastOrNull() }, + onLicensesClicked = { + context.startActivity(Intent(context, OssLicensesMenuActivity::class.java)) + } ) } }, diff --git a/build.gradle.kts b/build.gradle.kts index 97047974..a62d0799 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.internal.impldep.org.junit.experimental.categories.Categories.CategoryFilter.exclude + // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.android.application) apply false @@ -13,7 +15,15 @@ plugins { alias(libs.plugins.baselineprofile) apply false alias(libs.plugins.spotless) apply false } - +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath(libs.google.oss.licenses.plugin) + } +} subprojects { apply(plugin = "com.diffplug.spotless") diff --git a/feature/home/build.gradle.kts b/feature/home/build.gradle.kts index 857cb716..61ff0d12 100644 --- a/feature/home/build.gradle.kts +++ b/feature/home/build.gradle.kts @@ -59,6 +59,9 @@ dependencies { implementation(libs.androidx.hilt.navigation.compose) implementation(libs.androidx.media3.exoplayer) implementation(libs.androidx.media3.ui.compose) + implementation(libs.google.oss.licenses) { + exclude(group = "androidx.appcompat") + } ksp(libs.hilt.compiler) implementation(libs.ai.edge) { diff --git a/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt b/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt index 393d7b17..a82899b4 100644 --- a/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt +++ b/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt @@ -17,11 +17,13 @@ package com.android.developers.androidify.home +import android.content.Intent import androidx.compose.animation.ExperimentalSharedTransitionApi import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -47,6 +49,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource @@ -64,12 +67,14 @@ import com.android.developers.androidify.theme.sharedBoundsReveal import com.android.developers.androidify.util.LargeScreensPreview import com.android.developers.androidify.util.PhonePreview import com.android.developers.androidify.util.isAtLeastMedium +import com.google.android.gms.oss.licenses.OssLicensesMenuActivity +import kotlin.jvm.java @PhonePreview @Composable private fun AboutPreviewCompact() { SharedElementContextPreview { - AboutScreen(isMediumWindowSize = false) {} + AboutScreen(isMediumWindowSize = false, {}, {}) } } @@ -77,7 +82,7 @@ private fun AboutPreviewCompact() { @Composable private fun AboutPreviewLargeScreens() { SharedElementContextPreview { - AboutScreen(isMediumWindowSize = true) {} + AboutScreen(isMediumWindowSize = true, {}, {}) } } @@ -85,6 +90,7 @@ private fun AboutPreviewLargeScreens() { fun AboutScreen( isMediumWindowSize: Boolean = isAtLeastMedium(), onBackPressed: () -> Unit, + onLicensesClicked: () -> Unit ) { val sharedElementScope = LocalSharedTransitionScope.current val navScope = LocalNavAnimatedContentScope.current @@ -163,7 +169,8 @@ fun AboutScreen( ) } Spacer(Modifier.size(48.dp)) - FooterButtons(modifier = Modifier.padding(bottom = 8.dp)) + FooterButtons(modifier = Modifier.padding(bottom = 8.dp), + onLicensesClicked) } } } else { @@ -197,7 +204,7 @@ fun AboutScreen( stringResource(R.string.about_step3_label), ) Spacer(modifier = Modifier.size(24.dp)) - FooterButtons(modifier = Modifier.padding(bottom = 8.dp)) + FooterButtons(modifier = Modifier.padding(bottom = 8.dp), onLicensesClicked) } } } @@ -205,22 +212,28 @@ fun AboutScreen( } @Composable -private fun FooterButtons(modifier: Modifier = Modifier) { +private fun FooterButtons(modifier: Modifier = Modifier, + onLicensesClicked: () -> Unit) { val uriHandler = LocalUriHandler.current - Row(modifier) { + FlowRow(modifier, horizontalArrangement = Arrangement.spacedBy(16.dp)) { SecondaryOutlinedButton( onClick = { uriHandler.openUri("https://policies.google.com/terms") }, buttonText = stringResource(R.string.terms), ) - Spacer(modifier = Modifier.size(16.dp)) SecondaryOutlinedButton( onClick = { uriHandler.openUri("https://policies.google.com/privacy") }, buttonText = stringResource(R.string.privacy), ) + SecondaryOutlinedButton( + onClick = { + onLicensesClicked() + }, + buttonText = stringResource(R.string.oss_license), + ) } } diff --git a/feature/home/src/main/res/values/strings.xml b/feature/home/src/main/res/values/strings.xml index dfc502a0..cdb99eed 100644 --- a/feature/home/src/main/res/values/strings.xml +++ b/feature/home/src/main/res/values/strings.xml @@ -36,4 +36,5 @@ Pause Terms Privacy + Licenses diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cfc0f5f5..8a0135d0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,6 +28,8 @@ espressoCore = "3.6.1" firebaseBom = "33.14.0" firebaseConfigKtx = "22.1.1" googleServices = "4.4.2" +googleOss = "17.1.0" +googleOssPlugin = "0.10.6" hiltAndroid = "2.56.2" hiltLifecycleViewmodel = "1.0.0-alpha03" hiltNavigationCompose = "1.2.0" @@ -130,7 +132,8 @@ androidx-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomato androidx-benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "benchmarkMacroJunit4" } androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "profileinstaller" } ai-edge = { group = "com.google.ai.edge.aicore", name = "aicore", version.ref = "aiEdge" } - +google-oss-licenses = { group = "com.google.android.gms", name = "play-services-oss-licenses", version.ref = "googleOss" } +google-oss-licenses-plugin = { group = "com.google.android.gms", name = "oss-licenses-plugin", version.ref = "googleOssPlugin" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } From 9729d2f061ba7cabb30ab44d5fa26ccb163dd3f4 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Tue, 24 Jun 2025 09:46:31 +0100 Subject: [PATCH 2/6] Add OSS dialog to app --- app/build.gradle.kts | 7 ++++- app/src/main/AndroidManifest.xml | 9 +++++++ .../androidify/navigation/MainNavigation.kt | 8 ++++++ build.gradle.kts | 12 ++++++++- feature/home/build.gradle.kts | 3 +++ .../developers/androidify/home/AboutScreen.kt | 27 ++++++++++++++----- feature/home/src/main/res/values/strings.xml | 1 + gradle/libs.versions.toml | 5 +++- 8 files changed, 62 insertions(+), 10 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 12247e54..f18919cb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -25,6 +25,7 @@ plugins { alias(libs.plugins.google.services) alias(libs.plugins.crashlytics) alias(libs.plugins.baselineprofile) + id("com.google.android.gms.oss-licenses-plugin") } android { @@ -60,7 +61,7 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) - baselineProfile.automaticGenerationDuringBuild = true + //baselineProfile.automaticGenerationDuringBuild = true configure { mappingFileUploadEnabled = true } @@ -111,6 +112,10 @@ dependencies { implementation(libs.firebase.appcheck.debug) implementation(libs.androidx.window) + implementation(libs.androidx.appcompat) + implementation(libs.google.oss.licenses) { + exclude(group = "androidx.appcompat") + } implementation(projects.feature.camera) implementation(projects.feature.creation) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9703a00c..57297aab 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -78,6 +78,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt b/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt index 1ff5936b..7327d87d 100644 --- a/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt +++ b/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt @@ -17,6 +17,7 @@ package com.android.developers.androidify.navigation +import android.content.Intent import androidx.compose.animation.ContentTransform import androidx.compose.animation.ExperimentalSharedTransitionApi import androidx.compose.animation.fadeIn @@ -29,6 +30,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.IntOffset import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator import androidx.navigation3.runtime.entry @@ -40,6 +42,8 @@ import com.android.developers.androidify.creation.CreationScreen import com.android.developers.androidify.home.AboutScreen import com.android.developers.androidify.home.HomeScreen import com.android.developers.androidify.theme.transitions.ColorSplashTransitionScreen +import com.google.android.gms.oss.licenses.OssLicensesActivity +import com.google.android.gms.oss.licenses.OssLicensesMenuActivity @ExperimentalMaterial3ExpressiveApi @Composable @@ -110,10 +114,14 @@ fun MainNavigation() { ) } entry { + val context = LocalContext.current AboutScreen( onBackPressed = { backStack.removeLastOrNull() }, + onLicensesClicked = { + context.startActivity(Intent(context, OssLicensesMenuActivity::class.java)) + } ) } }, diff --git a/build.gradle.kts b/build.gradle.kts index 97047974..a62d0799 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,3 +1,5 @@ +import org.gradle.internal.impldep.org.junit.experimental.categories.Categories.CategoryFilter.exclude + // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.android.application) apply false @@ -13,7 +15,15 @@ plugins { alias(libs.plugins.baselineprofile) apply false alias(libs.plugins.spotless) apply false } - +buildscript { + repositories { + google() + mavenCentral() + } + dependencies { + classpath(libs.google.oss.licenses.plugin) + } +} subprojects { apply(plugin = "com.diffplug.spotless") diff --git a/feature/home/build.gradle.kts b/feature/home/build.gradle.kts index 857cb716..61ff0d12 100644 --- a/feature/home/build.gradle.kts +++ b/feature/home/build.gradle.kts @@ -59,6 +59,9 @@ dependencies { implementation(libs.androidx.hilt.navigation.compose) implementation(libs.androidx.media3.exoplayer) implementation(libs.androidx.media3.ui.compose) + implementation(libs.google.oss.licenses) { + exclude(group = "androidx.appcompat") + } ksp(libs.hilt.compiler) implementation(libs.ai.edge) { diff --git a/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt b/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt index 393d7b17..a82899b4 100644 --- a/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt +++ b/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt @@ -17,11 +17,13 @@ package com.android.developers.androidify.home +import android.content.Intent import androidx.compose.animation.ExperimentalSharedTransitionApi import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer @@ -47,6 +49,7 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.rememberVectorPainter +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource @@ -64,12 +67,14 @@ import com.android.developers.androidify.theme.sharedBoundsReveal import com.android.developers.androidify.util.LargeScreensPreview import com.android.developers.androidify.util.PhonePreview import com.android.developers.androidify.util.isAtLeastMedium +import com.google.android.gms.oss.licenses.OssLicensesMenuActivity +import kotlin.jvm.java @PhonePreview @Composable private fun AboutPreviewCompact() { SharedElementContextPreview { - AboutScreen(isMediumWindowSize = false) {} + AboutScreen(isMediumWindowSize = false, {}, {}) } } @@ -77,7 +82,7 @@ private fun AboutPreviewCompact() { @Composable private fun AboutPreviewLargeScreens() { SharedElementContextPreview { - AboutScreen(isMediumWindowSize = true) {} + AboutScreen(isMediumWindowSize = true, {}, {}) } } @@ -85,6 +90,7 @@ private fun AboutPreviewLargeScreens() { fun AboutScreen( isMediumWindowSize: Boolean = isAtLeastMedium(), onBackPressed: () -> Unit, + onLicensesClicked: () -> Unit ) { val sharedElementScope = LocalSharedTransitionScope.current val navScope = LocalNavAnimatedContentScope.current @@ -163,7 +169,8 @@ fun AboutScreen( ) } Spacer(Modifier.size(48.dp)) - FooterButtons(modifier = Modifier.padding(bottom = 8.dp)) + FooterButtons(modifier = Modifier.padding(bottom = 8.dp), + onLicensesClicked) } } } else { @@ -197,7 +204,7 @@ fun AboutScreen( stringResource(R.string.about_step3_label), ) Spacer(modifier = Modifier.size(24.dp)) - FooterButtons(modifier = Modifier.padding(bottom = 8.dp)) + FooterButtons(modifier = Modifier.padding(bottom = 8.dp), onLicensesClicked) } } } @@ -205,22 +212,28 @@ fun AboutScreen( } @Composable -private fun FooterButtons(modifier: Modifier = Modifier) { +private fun FooterButtons(modifier: Modifier = Modifier, + onLicensesClicked: () -> Unit) { val uriHandler = LocalUriHandler.current - Row(modifier) { + FlowRow(modifier, horizontalArrangement = Arrangement.spacedBy(16.dp)) { SecondaryOutlinedButton( onClick = { uriHandler.openUri("https://policies.google.com/terms") }, buttonText = stringResource(R.string.terms), ) - Spacer(modifier = Modifier.size(16.dp)) SecondaryOutlinedButton( onClick = { uriHandler.openUri("https://policies.google.com/privacy") }, buttonText = stringResource(R.string.privacy), ) + SecondaryOutlinedButton( + onClick = { + onLicensesClicked() + }, + buttonText = stringResource(R.string.oss_license), + ) } } diff --git a/feature/home/src/main/res/values/strings.xml b/feature/home/src/main/res/values/strings.xml index dfc502a0..cdb99eed 100644 --- a/feature/home/src/main/res/values/strings.xml +++ b/feature/home/src/main/res/values/strings.xml @@ -36,4 +36,5 @@ Pause Terms Privacy + Licenses diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index cfc0f5f5..8a0135d0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,6 +28,8 @@ espressoCore = "3.6.1" firebaseBom = "33.14.0" firebaseConfigKtx = "22.1.1" googleServices = "4.4.2" +googleOss = "17.1.0" +googleOssPlugin = "0.10.6" hiltAndroid = "2.56.2" hiltLifecycleViewmodel = "1.0.0-alpha03" hiltNavigationCompose = "1.2.0" @@ -130,7 +132,8 @@ androidx-uiautomator = { group = "androidx.test.uiautomator", name = "uiautomato androidx-benchmark-macro-junit4 = { group = "androidx.benchmark", name = "benchmark-macro-junit4", version.ref = "benchmarkMacroJunit4" } androidx-profileinstaller = { group = "androidx.profileinstaller", name = "profileinstaller", version.ref = "profileinstaller" } ai-edge = { group = "com.google.ai.edge.aicore", name = "aicore", version.ref = "aiEdge" } - +google-oss-licenses = { group = "com.google.android.gms", name = "play-services-oss-licenses", version.ref = "googleOss" } +google-oss-licenses-plugin = { group = "com.google.android.gms", name = "oss-licenses-plugin", version.ref = "googleOssPlugin" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } From 74006b67902f68ddc5b4d09c71f8441a775fa981 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Tue, 24 Jun 2025 11:18:54 +0100 Subject: [PATCH 3/6] Add OSS dialog to app --- app/src/main/AndroidManifest.xml | 4 ++-- app/src/main/res/values-v35/themes.xml | 28 ++++++++++++++++++++++++++ app/src/main/res/values/themes.xml | 8 ++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/values-v35/themes.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 57297aab..800707ec 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -81,12 +81,12 @@ + android:theme="@style/AppCompatAndroidify" /> + android:theme="@style/AppCompatAndroidify" /> \ No newline at end of file diff --git a/app/src/main/res/values-v35/themes.xml b/app/src/main/res/values-v35/themes.xml new file mode 100644 index 00000000..4aea359f --- /dev/null +++ b/app/src/main/res/values-v35/themes.xml @@ -0,0 +1,28 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 6e62f6c0..76d828e1 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -17,4 +17,12 @@ \ No newline at end of file From 72fe3075c754c790c479c6f1452333991d54a317 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Tue, 24 Jun 2025 11:20:36 +0100 Subject: [PATCH 4/6] Put baseline profiles back --- app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f18919cb..01a07bbc 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -61,7 +61,7 @@ android { getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) - //baselineProfile.automaticGenerationDuringBuild = true + baselineProfile.automaticGenerationDuringBuild = true configure { mappingFileUploadEnabled = true } From 410365fb8683d997288dae06c94a1d4db3953c9b Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Tue, 24 Jun 2025 11:21:27 +0100 Subject: [PATCH 5/6] Cleanup --- build.gradle.kts | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index a62d0799..a6d51dc2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,3 @@ -import org.gradle.internal.impldep.org.junit.experimental.categories.Categories.CategoryFilter.exclude - // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.android.application) apply false From 7b6e9046b0a0b39528c7d3131d7feca2f7692405 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Tue, 24 Jun 2025 11:23:15 +0100 Subject: [PATCH 6/6] Cleanup --- .../com/android/developers/androidify/home/AboutScreen.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt b/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt index a82899b4..30ab9028 100644 --- a/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt +++ b/feature/home/src/main/java/com/android/developers/androidify/home/AboutScreen.kt @@ -17,7 +17,6 @@ package com.android.developers.androidify.home -import android.content.Intent import androidx.compose.animation.ExperimentalSharedTransitionApi import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement @@ -49,7 +48,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.rememberVectorPainter -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource @@ -67,8 +65,6 @@ import com.android.developers.androidify.theme.sharedBoundsReveal import com.android.developers.androidify.util.LargeScreensPreview import com.android.developers.androidify.util.PhonePreview import com.android.developers.androidify.util.isAtLeastMedium -import com.google.android.gms.oss.licenses.OssLicensesMenuActivity -import kotlin.jvm.java @PhonePreview @Composable