|
1 | 1 | package me.nya_n.notificationnotifier.ui.screen.license |
2 | 2 |
|
3 | | -import android.webkit.WebView |
4 | | -import android.webkit.WebViewClient |
| 3 | +import androidx.compose.foundation.background |
| 4 | +import androidx.compose.foundation.layout.Box |
| 5 | +import androidx.compose.foundation.layout.fillMaxWidth |
| 6 | +import androidx.compose.foundation.layout.height |
5 | 7 | import androidx.compose.foundation.layout.padding |
| 8 | +import androidx.compose.material3.AlertDialogDefaults |
| 9 | +import androidx.compose.material3.MaterialTheme |
6 | 10 | import androidx.compose.material3.SnackbarHostState |
7 | 11 | import androidx.compose.runtime.Composable |
| 12 | +import androidx.compose.runtime.getValue |
8 | 13 | import androidx.compose.runtime.remember |
9 | 14 | import androidx.compose.ui.Modifier |
| 15 | +import androidx.compose.ui.graphics.Color |
10 | 16 | import androidx.compose.ui.tooling.preview.Preview |
11 | | -import androidx.compose.ui.viewinterop.AndroidView |
| 17 | +import androidx.compose.ui.unit.dp |
12 | 18 | import androidx.navigation.NavController |
13 | 19 | import androidx.navigation.compose.rememberNavController |
| 20 | +import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults |
| 21 | +import com.mikepenz.aboutlibraries.ui.compose.android.produceLibraries |
| 22 | +import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer |
| 23 | +import com.mikepenz.aboutlibraries.ui.compose.m3.libraryColors |
14 | 24 | import me.nya_n.notificationnotifier.ui.common.AppScaffold |
15 | 25 | import me.nya_n.notificationnotifier.ui.theme.AppTheme |
16 | 26 |
|
17 | 27 | @Composable |
18 | 28 | fun LicenseScreen(navController: NavController) { |
19 | 29 | val snackbarHostState = remember { SnackbarHostState() } |
| 30 | + val libraries by produceLibraries() |
20 | 31 | AppScaffold( |
21 | 32 | snackbarHostState = snackbarHostState, |
22 | 33 | onBack = { |
23 | 34 | navController.popBackStack() |
24 | 35 | } |
25 | 36 | ) { |
26 | | - AndroidView( |
27 | | - modifier = Modifier.padding(it), |
28 | | - factory = { context -> |
29 | | - WebView(context).apply { |
30 | | - webViewClient = WebViewClient() |
31 | | - loadUrl("file:///android_asset/open_source_licenses.html") |
32 | | - } |
33 | | - }, |
| 37 | + LibrariesContainer( |
| 38 | + libraries, |
| 39 | + Modifier.padding(it), |
| 40 | + colors = LibraryDefaults.libraryColors( |
| 41 | + libraryBackgroundColor = Color.Transparent, |
| 42 | + dialogBackgroundColor = AlertDialogDefaults.containerColor, |
| 43 | + dialogConfirmButtonColor = AlertDialogDefaults.textContentColor |
| 44 | + ), |
| 45 | + divider = { |
| 46 | + Box( |
| 47 | + Modifier |
| 48 | + .fillMaxWidth() |
| 49 | + .height(1.dp) |
| 50 | + .padding(horizontal = 16.dp) |
| 51 | + .background(MaterialTheme.colorScheme.secondaryContainer) |
| 52 | + ) |
| 53 | + } |
34 | 54 | ) |
35 | 55 | } |
36 | 56 | } |
|
0 commit comments