mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 11:22:12 +00:00
Add: Developer to AppSheets arguments
This commit is contained in:
parent
150f949f5e
commit
9272e7e748
@ -221,7 +221,7 @@ class MainActivityX : AppCompatActivity() {
|
||||
Intent.ACTION_VIEW -> {
|
||||
val packageName = intent.packageName
|
||||
if (!packageName.isNullOrEmpty()) {
|
||||
navigateProduct(packageName)
|
||||
navigateProduct(packageName, "")
|
||||
}
|
||||
}
|
||||
ACTION_UPDATES -> handleSpecialIntent(SpecialIntent.Updates)
|
||||
@ -238,8 +238,8 @@ class MainActivityX : AppCompatActivity() {
|
||||
super.attachBaseContext(ContextWrapperX.wrap(newBase))
|
||||
}
|
||||
|
||||
internal fun navigateProduct(packageName: String) {
|
||||
AppSheetX(packageName)
|
||||
internal fun navigateProduct(packageName: String, developer: String) {
|
||||
AppSheetX(packageName, developer)
|
||||
.showNow(supportFragmentManager, "Product $packageName")
|
||||
}
|
||||
|
||||
|
@ -107,22 +107,26 @@ import kotlinx.coroutines.withContext
|
||||
class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks {
|
||||
companion object {
|
||||
private const val EXTRA_PACKAGE_NAME = "packageName"
|
||||
private const val EXTRA_DEVELOPER = "developer"
|
||||
}
|
||||
|
||||
constructor(packageName: String) : this() {
|
||||
constructor(packageName: String, developer: String) : this() {
|
||||
arguments = Bundle().apply {
|
||||
putString(EXTRA_PACKAGE_NAME, packageName)
|
||||
putString(EXTRA_DEVELOPER, developer)
|
||||
}
|
||||
}
|
||||
|
||||
val viewModel: AppViewModelX by viewModels {
|
||||
AppViewModelX.Factory(mainActivityX.db, packageName)
|
||||
AppViewModelX.Factory(mainActivityX.db, packageName, developer)
|
||||
}
|
||||
|
||||
val mainActivityX: MainActivityX
|
||||
get() = requireActivity() as MainActivityX
|
||||
val packageName: String
|
||||
get() = requireArguments().getString(EXTRA_PACKAGE_NAME)!!
|
||||
val developer: String
|
||||
get() = requireArguments().getString(EXTRA_DEVELOPER)!!
|
||||
|
||||
private val downloadConnection = Connection(DownloadService::class.java, onBind = { _, binder ->
|
||||
binder.stateSubject
|
||||
|
@ -109,7 +109,7 @@ fun ExplorePage(viewModel: MainNavFragmentViewModelX) {
|
||||
.fillMaxWidth()
|
||||
.weight(1f),
|
||||
onUserClick = { item ->
|
||||
mainActivityX.navigateProduct(item.packageName)
|
||||
mainActivityX.navigateProduct(item.packageName, item.developer)
|
||||
},
|
||||
onFavouriteClick = { item ->
|
||||
viewModel.setFavorite(
|
||||
|
@ -131,7 +131,7 @@ fun InstalledPage(viewModel: MainNavFragmentViewModelX) {
|
||||
}
|
||||
AnimatedVisibility(visible = updatesVisible) {
|
||||
ProductsHorizontalRecycler(secondaryList, repositoriesMap) { item ->
|
||||
mainActivityX.navigateProduct(item.packageName)
|
||||
mainActivityX.navigateProduct(item.packageName, item.developer)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -157,7 +157,7 @@ fun InstalledPage(viewModel: MainNavFragmentViewModelX) {
|
||||
.fillMaxWidth()
|
||||
.weight(1f),
|
||||
onUserClick = { item ->
|
||||
mainActivityX.navigateProduct(item.packageName)
|
||||
mainActivityX.navigateProduct(item.packageName, item.developer)
|
||||
},
|
||||
onFavouriteClick = { item ->
|
||||
viewModel.setFavorite(
|
||||
|
@ -82,7 +82,7 @@ fun LatestPage(viewModel: MainNavFragmentViewModelX) {
|
||||
modifier = Modifier.padding(8.dp)
|
||||
)
|
||||
ProductsHorizontalRecycler(secondaryList, repositoriesMap) { item ->
|
||||
mainActivityX.navigateProduct(item.packageName)
|
||||
mainActivityX.navigateProduct(item.packageName, item.developer)
|
||||
}
|
||||
}
|
||||
item {
|
||||
@ -107,7 +107,7 @@ fun LatestPage(viewModel: MainNavFragmentViewModelX) {
|
||||
item = item,
|
||||
repo = repositoriesMap[item.repositoryId],
|
||||
isFavorite = favorites.contains(item.packageName),
|
||||
onUserClick = { mainActivityX.navigateProduct(it.packageName) },
|
||||
onUserClick = { mainActivityX.navigateProduct(it.packageName, item.developer) },
|
||||
onFavouriteClick = {
|
||||
viewModel.setFavorite(
|
||||
it.packageName,
|
||||
|
@ -17,7 +17,7 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
class AppViewModelX(val db: DatabaseX, val packageName: String) : ViewModel() {
|
||||
class AppViewModelX(val db: DatabaseX, val packageName: String, developer: String) : ViewModel() {
|
||||
|
||||
val products: MediatorLiveData<List<Product>> = MediatorLiveData()
|
||||
val repositories: MediatorLiveData<List<Repository>> = MediatorLiveData()
|
||||
@ -151,11 +151,12 @@ class AppViewModelX(val db: DatabaseX, val packageName: String) : ViewModel() {
|
||||
}
|
||||
}
|
||||
|
||||
class Factory(val db: DatabaseX, val packageName: String) : ViewModelProvider.Factory {
|
||||
class Factory(val db: DatabaseX, val packageName: String, val developer: String) :
|
||||
ViewModelProvider.Factory {
|
||||
@Suppress("unchecked_cast")
|
||||
override fun <T : ViewModel> create(modelClass: Class<T>): T {
|
||||
if (modelClass.isAssignableFrom(AppViewModelX::class.java)) {
|
||||
return AppViewModelX(db, packageName) as T
|
||||
return AppViewModelX(db, packageName, developer) as T
|
||||
}
|
||||
throw IllegalArgumentException("Unknown ViewModel class")
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user