Skip to content

Commit d6c677d

Browse files
committed
feat: Update License screen and increment version code
1 parent 283ce21 commit d6c677d

2 files changed

Lines changed: 61 additions & 4 deletions

File tree

app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ android {
1919
applicationId = "com.matrix.multigpt"
2020
minSdk = 31
2121
targetSdk = 36
22-
versionCode = 17
22+
versionCode = 18
2323
versionName = "1.26.02"
2424

2525
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"

app/src/main/kotlin/com/matrix/multigpt/presentation/ui/setting/LicenseScreen.kt

Lines changed: 60 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ package com.matrix.multigpt.presentation.ui.setting
22

33
import androidx.compose.foundation.layout.Column
44
import androidx.compose.foundation.layout.fillMaxSize
5+
import androidx.compose.foundation.layout.height
56
import androidx.compose.foundation.layout.padding
7+
import androidx.compose.foundation.rememberScrollState
8+
import androidx.compose.foundation.verticalScroll
69
import androidx.compose.material.icons.Icons
710
import androidx.compose.material.icons.automirrored.filled.ArrowBack
811
import androidx.compose.material3.ExperimentalMaterial3Api
@@ -16,19 +19,24 @@ import androidx.compose.material3.TopAppBarDefaults
1619
import androidx.compose.material3.TopAppBarScrollBehavior
1720
import androidx.compose.runtime.Composable
1821
import androidx.compose.ui.Modifier
22+
import androidx.compose.ui.graphics.vector.ImageVector
1923
import androidx.compose.ui.input.nestedscroll.nestedScroll
24+
import androidx.compose.ui.platform.LocalUriHandler
2025
import androidx.compose.ui.res.stringResource
26+
import androidx.compose.ui.res.vectorResource
2127
import androidx.compose.ui.text.style.TextOverflow
2228
import androidx.compose.ui.unit.dp
23-
import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer
2429
import com.matrix.multigpt.R
30+
import com.matrix.multigpt.presentation.common.SettingItem
2531

2632
@OptIn(ExperimentalMaterial3Api::class)
2733
@Composable
2834
fun LicenseScreen(
2935
onNavigationClick: () -> Unit
3036
) {
3137
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior()
38+
val scrollState = rememberScrollState()
39+
val uriHandler = LocalUriHandler.current
3240

3341
Scaffold(
3442
modifier = Modifier
@@ -38,9 +46,58 @@ fun LicenseScreen(
3846
}
3947
) { innerPadding ->
4048
Column(
41-
modifier = Modifier.padding(innerPadding)
49+
modifier = Modifier
50+
.padding(innerPadding)
51+
.verticalScroll(scrollState)
52+
.fillMaxSize()
4253
) {
43-
LibrariesContainer(modifier = Modifier.fillMaxSize())
54+
// MultiGPT License
55+
SettingItem(
56+
modifier = Modifier.height(80.dp),
57+
title = "MultiGPT",
58+
description = "GNU General Public License v3.0",
59+
onItemClick = {
60+
uriHandler.openUri("https://www.gnu.org/licenses/gpl-3.0.html")
61+
},
62+
showTrailingIcon = false,
63+
showLeadingIcon = true,
64+
leadingIcon = {
65+
Icon(
66+
ImageVector.vectorResource(id = R.drawable.ic_license),
67+
contentDescription = "License Icon"
68+
)
69+
}
70+
)
71+
72+
// GPT Mobile Attribution
73+
SettingItem(
74+
modifier = Modifier.height(80.dp),
75+
title = "GPT Mobile",
76+
description = "Based on GPT Mobile by Taewan Park (GPL-3.0)",
77+
onItemClick = {
78+
uriHandler.openUri("https://github.com/Taewan-P/gpt_mobile")
79+
},
80+
showTrailingIcon = false,
81+
showLeadingIcon = true,
82+
leadingIcon = {
83+
Icon(
84+
ImageVector.vectorResource(id = R.drawable.ic_github),
85+
contentDescription = "GitHub Icon"
86+
)
87+
}
88+
)
89+
90+
// License Info Text
91+
Text(
92+
text = "This application is free software licensed under the GNU General Public License v3.0. " +
93+
"You can redistribute it and/or modify it under the terms of the GPL-3.0 license.\n\n" +
94+
"This project is inspired by and builds upon concepts from GPT Mobile, " +
95+
"including multi-model chat interface design, API integration patterns, " +
96+
"and modern Android development practices.",
97+
style = MaterialTheme.typography.bodyMedium,
98+
color = MaterialTheme.colorScheme.onSurfaceVariant,
99+
modifier = Modifier.padding(16.dp)
100+
)
44101
}
45102
}
46103
}

0 commit comments

Comments
 (0)