appdetails: add back view on playstore action
This commit is contained in:
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user