appdetails: add back view on playstore action

This commit is contained in:
Rahul Patel
2026-05-06 14:08:36 +05:30
parent fba6c4a8df
commit ec3427c785
4 changed files with 29 additions and 1 deletions

View File

@@ -51,9 +51,11 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.tooling.preview.PreviewScreenSizes import androidx.compose.ui.tooling.preview.PreviewScreenSizes
import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.tooling.preview.PreviewWrapper
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.navigation3.runtime.NavKey import androidx.navigation3.runtime.NavKey
import com.aurora.Constants
import com.aurora.extensions.appInfo import com.aurora.extensions.appInfo
import com.aurora.extensions.requiresGMS import com.aurora.extensions.requiresGMS
import com.aurora.extensions.requiresObbDir import com.aurora.extensions.requiresObbDir
@@ -316,6 +318,21 @@ private fun ScreenContentApp(
MenuItem.ADD_TO_HOME -> { MenuItem.ADD_TO_HOME -> {
ShortcutManagerUtil.requestPinShortcut(context, app.packageName) ShortcutManagerUtil.requestPinShortcut(context, app.packageName)
} }
MenuItem.PLAY_STORE -> {
val uri = "${Constants.SHARE_URL}${app.packageName}".toUri()
val intent = Intent(Intent.ACTION_VIEW).apply { data = uri }
if (intent.resolveActivity(context.packageManager) != null) {
context.startActivity(
intent.apply {
setPackage(Constants.PACKAGE_NAME_PLAY_STORE)
}
)
} else {
context.startActivity(intent)
}
}
} }
} }
} }

View File

@@ -17,14 +17,17 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.tooling.preview.PreviewWrapper
import com.aurora.Constants
import com.aurora.store.R import com.aurora.store.R
import com.aurora.store.compose.composable.TopAppBar import com.aurora.store.compose.composable.TopAppBar
import com.aurora.store.compose.preview.ThemePreviewProvider import com.aurora.store.compose.preview.ThemePreviewProvider
import com.aurora.store.data.model.AppState import com.aurora.store.data.model.AppState
import com.aurora.store.util.PackageUtil
/** /**
* Menu for the app details screen * Menu for the app details screen
@@ -40,6 +43,7 @@ fun AppDetailsMenu(
isExpanded: Boolean = false, isExpanded: Boolean = false,
onMenuItemClicked: (menuItem: MenuItem) -> Unit = {} onMenuItemClicked: (menuItem: MenuItem) -> Unit = {}
) { ) {
val context = LocalContext.current
var expanded by remember { mutableStateOf(isExpanded) } var expanded by remember { mutableStateOf(isExpanded) }
fun onClick(menuItem: MenuItem) { fun onClick(menuItem: MenuItem) {
onMenuItemClicked(menuItem) onMenuItemClicked(menuItem)
@@ -87,6 +91,11 @@ fun AppDetailsMenu(
onClick = { onClick(MenuItem.ADD_TO_HOME) }, onClick = { onClick(MenuItem.ADD_TO_HOME) },
enabled = state is AppState.Installed || state is AppState.Updatable enabled = state is AppState.Installed || state is AppState.Updatable
) )
DropdownMenuItem(
text = { Text(text = stringResource(R.string.action_view_on_play)) },
onClick = { onClick(MenuItem.PLAY_STORE) },
enabled = PackageUtil.isInstalled(context, Constants.PACKAGE_NAME_PLAY_STORE)
)
} }
} }
} }

View File

@@ -13,5 +13,6 @@ enum class MenuItem {
SHARE, SHARE,
MANUAL_DOWNLOAD, MANUAL_DOWNLOAD,
APP_INFO, APP_INFO,
ADD_TO_HOME ADD_TO_HOME,
PLAY_STORE
} }

View File

@@ -102,6 +102,7 @@
<string name="action_info">"App info"</string> <string name="action_info">"App info"</string>
<string name="action_update">"Update"</string> <string name="action_update">"Update"</string>
<string name="action_update_all">"Update all"</string> <string name="action_update_all">"Update all"</string>
<string name="action_view_on_play">"View on Play Store"</string>
<string name="action_whitelist">"Whitelist"</string> <string name="action_whitelist">"Whitelist"</string>
<string name="details_beta">"Beta program"</string> <string name="details_beta">"Beta program"</string>
<string name="details_beta_subscribed">"You're a beta tester"</string> <string name="details_beta_subscribed">"You're a beta tester"</string>