11package com.dox.fpoweroff.ui.screen
22
3+ import android.content.Intent
4+ import android.net.Uri
35import androidx.compose.foundation.background
6+ import androidx.compose.foundation.clickable
47import androidx.compose.foundation.layout.Arrangement
58import androidx.compose.foundation.layout.Column
69import androidx.compose.foundation.layout.Spacer
@@ -19,15 +22,19 @@ import androidx.compose.material3.Text
1922import androidx.compose.runtime.Composable
2023import androidx.compose.ui.Alignment
2124import androidx.compose.ui.Modifier
25+ import androidx.compose.ui.platform.LocalContext
2226import androidx.compose.ui.res.stringResource
27+ import androidx.compose.ui.text.SpanStyle
28+ import androidx.compose.ui.text.buildAnnotatedString
29+ import androidx.compose.ui.text.style.TextDecoration
30+ import androidx.compose.ui.text.withStyle
2331import androidx.compose.ui.unit.dp
2432import androidx.navigation.NavController
2533import com.dox.fpoweroff.ui.component.TopBar
2634import com.dox.fpoweroff.R
2735
2836@Composable
2937fun HomeScreen (navController : NavController ) {
30- val internalFieldSpacing = 8 .dp
3138 val interFieldSpacing = 16 .dp
3239
3340 Scaffold (
@@ -73,39 +80,34 @@ fun HomeScreen(navController: NavController) {
7380
7481 Spacer (modifier = Modifier .height(interFieldSpacing))
7582
76- Text (
77- text = " Source code at: https://github.com/BinitDOX/fpoweroff" ,
78- style = MaterialTheme .typography.bodySmall
79- )
83+ SourceCodeLink ()
84+ }
85+ }
86+ }
87+ }
8088
81- /* Row {
82- Icon(
83- imageVector = Icons.Outlined.DoDisturb,
84- contentDescription = "Accessibility Permission",
85- tint = MaterialTheme.colorScheme.primary
86- )
87- Spacer(modifier = Modifier.width(internalFieldSpacing))
88- Text(
89- text = "Accessibility Permission",
90- style = MaterialTheme.typography.bodySmall
91- )
92- }
89+ @Composable
90+ fun SourceCodeLink () {
91+ val context = LocalContext .current
92+ val url = " https://github.com/BinitDOX/FakePowerOff"
9393
94- Spacer(modifier = Modifier.height(interFieldSpacing))
94+ val annotatedString = buildAnnotatedString {
95+ append(" Source code at: " )
96+ pushStringAnnotation(tag = " URL" , annotation = url)
97+ withStyle(style = SpanStyle (color = MaterialTheme .colorScheme.primary, textDecoration = TextDecoration .Underline )) {
98+ append(url)
99+ }
100+ pop()
101+ }
95102
96- Row {
97- Icon(
98- imageVector = Icons.Outlined.DoDisturb,
99- contentDescription = "DND Permission",
100- tint = MaterialTheme.colorScheme.primary
101- )
102- Spacer(modifier = Modifier.width(internalFieldSpacing))
103- Text(
104- text = "Accessibility Permission",
105- style = MaterialTheme.typography.bodySmall
106- )
107- }*/
103+ Column (modifier = Modifier .padding(16 .dp)) {
104+ Text (
105+ text = annotatedString,
106+ style = MaterialTheme .typography.bodySmall,
107+ modifier = Modifier .clickable {
108+ val intent = Intent (Intent .ACTION_VIEW , Uri .parse(url))
109+ context.startActivity(intent)
108110 }
109- }
111+ )
110112 }
111113}
0 commit comments