mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-06-09 01:09:54 +00:00
Update: Abstract LaunchDialog
This commit is contained in:
parent
688ae0be1f
commit
62cb204390
@ -0,0 +1,36 @@
|
|||||||
|
package com.looker.droidify.ui.dialog
|
||||||
|
|
||||||
|
import android.os.Bundle
|
||||||
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import androidx.fragment.app.DialogFragment
|
||||||
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import com.looker.droidify.R
|
||||||
|
import com.looker.droidify.utility.startLauncherActivity
|
||||||
|
|
||||||
|
class LaunchDialog(val packageName: String) : DialogFragment() {
|
||||||
|
companion object {
|
||||||
|
private const val EXTRA_NAMES = "names"
|
||||||
|
private const val EXTRA_LABELS = "labels"
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(packageName: String, launcherActivities: List<Pair<String, String>>) : this(
|
||||||
|
packageName
|
||||||
|
) {
|
||||||
|
arguments = Bundle().apply {
|
||||||
|
putStringArrayList(EXTRA_NAMES, ArrayList(launcherActivities.map { it.first }))
|
||||||
|
putStringArrayList(EXTRA_LABELS, ArrayList(launcherActivities.map { it.second }))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateDialog(savedInstanceState: Bundle?): AlertDialog {
|
||||||
|
val names = requireArguments().getStringArrayList(EXTRA_NAMES)!!
|
||||||
|
val labels = requireArguments().getStringArrayList(EXTRA_LABELS)!!
|
||||||
|
return MaterialAlertDialogBuilder(requireContext())
|
||||||
|
.setTitle(R.string.launch)
|
||||||
|
.setItems(labels.toTypedArray()) { _, position ->
|
||||||
|
requireContext().startLauncherActivity(packageName, names[position])
|
||||||
|
}
|
||||||
|
.setNegativeButton(R.string.cancel, null)
|
||||||
|
.create()
|
||||||
|
}
|
||||||
|
}
|
@ -390,31 +390,4 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), AppDetailAdapter.Call
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class LaunchDialog() : DialogFragment() {
|
|
||||||
companion object {
|
|
||||||
private const val EXTRA_NAMES = "names"
|
|
||||||
private const val EXTRA_LABELS = "labels"
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor(launcherActivities: List<Pair<String, String>>) : this() {
|
|
||||||
arguments = Bundle().apply {
|
|
||||||
putStringArrayList(EXTRA_NAMES, ArrayList(launcherActivities.map { it.first }))
|
|
||||||
putStringArrayList(EXTRA_LABELS, ArrayList(launcherActivities.map { it.second }))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): AlertDialog {
|
|
||||||
val names = requireArguments().getStringArrayList(EXTRA_NAMES)!!
|
|
||||||
val labels = requireArguments().getStringArrayList(EXTRA_LABELS)!!
|
|
||||||
return MaterialAlertDialogBuilder(requireContext())
|
|
||||||
.setTitle(R.string.launch)
|
|
||||||
.setItems(labels.toTypedArray()) { _, position ->
|
|
||||||
(parentFragment as AppSheetX)
|
|
||||||
.startLauncherActivity(names[position])
|
|
||||||
}
|
|
||||||
.setNegativeButton(R.string.cancel, null)
|
|
||||||
.create()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ import com.looker.droidify.database.entity.Product
|
|||||||
import com.looker.droidify.database.entity.Repository
|
import com.looker.droidify.database.entity.Repository
|
||||||
import com.looker.droidify.service.Connection
|
import com.looker.droidify.service.Connection
|
||||||
import com.looker.droidify.service.DownloadService
|
import com.looker.droidify.service.DownloadService
|
||||||
|
import com.looker.droidify.ui.dialog.LaunchDialog
|
||||||
import com.looker.droidify.utility.extension.android.Android
|
import com.looker.droidify.utility.extension.android.Android
|
||||||
import com.looker.droidify.utility.extension.android.singleSignature
|
import com.looker.droidify.utility.extension.android.singleSignature
|
||||||
import com.looker.droidify.utility.extension.android.versionCodeCompat
|
import com.looker.droidify.utility.extension.android.versionCodeCompat
|
||||||
|
Loading…
x
Reference in New Issue
Block a user