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