| author | Da Risk <da_risk@geekorum.com> |
| Wed, 07 May 2025 14:35:10 -0400 | |
| changeset 99 | d2a4e0ffd8e9 |
| parent 84 | f1e51fe391c2 |
| permissions | -rw-r--r-- |
|
84
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
1 |
Ui-Material3 |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
2 |
============ |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
3 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
4 |
Setup |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
5 |
===== |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
6 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
7 |
Add the dependency to your project |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
8 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
9 |
```kotlin title="build.gradle.kts" |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
10 |
dependencies {
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
11 |
implementation("com.geekorum.aboutoss:ui-material3:<latest-version>")
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
12 |
} |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
13 |
``` |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
14 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
15 |
Usage |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
16 |
===== |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
17 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
18 |
The [OpenSourceDependenciesNavHost](api/ui/material3/com.geekorum.aboutoss.ui.material3/-open-source-dependencies-nav-host.html) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
19 |
composable allows to display the licenses. |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
20 |
It takes an [OpenSourceLicensesViewModel](api/ui/common/com.geekorum.aboutoss.ui.common/-open-source-licenses-view-model/index.html) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
21 |
that you can create with the [LicenseInfoRepository](license-sources.md) of your choice. |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
22 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
23 |
```kotlin |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
24 |
val licenseInfoRepository = LicenseeLicenseInfoRepository() |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
25 |
val viewModel = viewModel<OpenSourceLicensesViewModel>(factory = OpenSourceLicensesViewModel.Factory(licenseInfoRepository)) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
26 |
OpenSourceDependenciesNavHost( |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
27 |
openSourceLicensesViewModel = viewModel, |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
28 |
navigateUp = {
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
29 |
// close screen |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
30 |
} |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
31 |
) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
32 |
``` |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
33 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
34 |
The [AdaptiveOpenSourceDependenciesScreen](api/ui/material3/com.geekorum.aboutoss.ui.material3/-adaptive-open-source-dependencies-screen.html) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
35 |
composable display the licenses in an adaptive screen. The User interface will adapt based on the available space. |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
36 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
37 |
```kotlin |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
38 |
val licenseInfoRepository = LicenseeLicenseInfoRepository() |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
39 |
val viewModel = viewModel<OpenSourceLicensesViewModel>(factory = OpenSourceLicensesViewModel.Factory(licenseInfoRepository)) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
40 |
AdaptiveOpenSourceDependenciesScreen( |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
41 |
openSourceLicensesViewModel = viewModel, |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
42 |
navigateUp = {
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
43 |
// close screen |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
44 |
} |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
45 |
) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
46 |
``` |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
47 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
48 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
49 |
Android |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
50 |
======= |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
51 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
52 |
The [OpenSourceLicensesActivity](api/ui/material3/com.geekorum.aboutoss.ui.material3/-open-source-licenses-activity/index.html) is configured to work with the [OSS Licenses Gradle Plugin](https://github.com/google/play-services-plugins/tree/main/oss-licenses-plugin) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
53 |
You can launch the activity like this: |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
54 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
55 |
```kotlin |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
56 |
val intent = Intent(this, OpenSourceLicensesActivity::class.java) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
57 |
startActivity(intent) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
58 |
``` |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
59 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
60 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
61 |
Desktop |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
62 |
======= |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
63 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
64 |
On Desktop the [OpenSourceLicensesWindow](api/ui/material3/com.geekorum.aboutoss.ui.material3/-open-source-licenses-window.html) is configured to work with [licensee](https://github.com/cashapp/licensee). |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
65 |
You can use it like this: |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
66 |
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
67 |
```kotlin |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
68 |
OpenSourceLicensesWindow(onCloseRequest = {
|
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
69 |
// close window |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
70 |
}) |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
71 |
``` |
|
f1e51fe391c2
docs: add documentation for different license sources and UI
Da Risk <da_risk@geekorum.com>
parents:
diff
changeset
|
72 |