diff --git a/app/src/main/java/com/aurora/store/compose/ui/details/DetailsPermissionScreen.kt b/app/src/main/java/com/aurora/store/compose/ui/details/DetailsPermissionScreen.kt
index 0db568d2e..abcb85bcb 100644
--- a/app/src/main/java/com/aurora/store/compose/ui/details/DetailsPermissionScreen.kt
+++ b/app/src/main/java/com/aurora/store/compose/ui/details/DetailsPermissionScreen.kt
@@ -6,13 +6,12 @@
package com.aurora.store.compose.ui.details
import android.content.pm.PermissionInfo
+import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
-import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
-import androidx.compose.material3.Text
import androidx.compose.material3.adaptive.WindowAdaptiveInfo
import androidx.compose.material3.adaptive.currentWindowAdaptiveInfo
import androidx.compose.runtime.Composable
@@ -21,6 +20,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.hilt.navigation.compose.hiltViewModel
@@ -29,10 +29,12 @@ import androidx.window.core.layout.WindowWidthSizeClass
import com.aurora.extensions.adaptiveNavigationIcon
import com.aurora.gplayapi.data.models.App
import com.aurora.store.R
+import com.aurora.store.compose.composables.InfoComposable
import com.aurora.store.compose.composables.TopAppBarComposable
import com.aurora.store.compose.composables.preview.AppPreviewProvider
import com.aurora.store.viewmodel.details.AppDetailsViewModel
import com.aurora.store.viewmodel.details.DetailsPermissionViewModel
+import java.util.Locale
@Composable
fun DetailsPermissionScreen(
@@ -80,15 +82,29 @@ private fun ScreenContent(
modifier = Modifier
.padding(paddingValues)
.fillMaxSize()
- .padding(horizontal = dimensionResource(R.dimen.padding_medium))
+ .padding(horizontal = dimensionResource(R.dimen.padding_medium)),
+ verticalArrangement = Arrangement.spacedBy(dimensionResource(R.dimen.margin_medium))
) {
items(items = permissionsInfo.keys.toList(), key = { it }) { permission ->
// Bail out if this is not a known permission for the OS
val permissionInfo = permissionsInfo.getValue(permission) ?: return@items
- Text(
- text = permissionInfo.loadLabel(packageManager).toString(),
- style = MaterialTheme.typography.bodyMedium
+ InfoComposable(
+ title = AnnotatedString(
+ text = permissionInfo.loadLabel(packageManager)
+ .toString()
+ .replaceFirstChar {
+ if (it.isLowerCase()) {
+ it.titlecase(Locale.getDefault())
+ } else {
+ it.toString()
+ }
+ }
+ ),
+ description = AnnotatedString(
+ text = permissionInfo.loadDescription(packageManager)?.toString()
+ ?: stringResource(R.string.no_description)
+ )
)
}
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 474d9778e..2dfb1df01 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -485,6 +485,7 @@
Available
+ No description available
%1$d permissions
More info
Targets