Skip to content

Commit

Permalink
fix: only show single application select dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
ViscousPot committed Nov 19, 2024
1 parent 1235f32 commit fa6fc3c
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions app/src/main/java/com/viscouspot/gitsync/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ class MainActivity : AppCompatActivity() {
private var requestStoragePermission: ActivityResultLauncher<Intent>? = null

private var prominentDisclosure: Dialog? = null
private var applicationSelectDialog: Dialog? = null

private var requestedPermission = false

Expand Down Expand Up @@ -764,28 +765,30 @@ class MainActivity : AppCompatActivity() {
}

private fun showApplicationSelectDialog() {
val builderSingle = AlertDialog.Builder(this@MainActivity, R.style.AlertDialogTheme)
if (applicationSelectDialog?.isShowing == true) applicationSelectDialog?.dismiss()

val applicationSelectDialogBuilder = AlertDialog.Builder(this@MainActivity, R.style.AlertDialogTheme)
val selectedPackageNames = mutableListOf<String>()

builderSingle.setTitle(getString(R.string.select_application))
builderSingle.setPositiveButton(getString(R.string.save_application)) { dialog, _ ->
applicationSelectDialogBuilder.setTitle(getString(R.string.select_application))
applicationSelectDialogBuilder.setPositiveButton(getString(R.string.save_application)) { dialog, _ ->
dialog.cancel()
settingsManager.setApplicationPackages(selectedPackageNames)
refreshSelectedApplications()
}
builderSingle.setNegativeButton(getString(android.R.string.cancel)) { dialog, _ -> dialog.dismiss() }
applicationSelectDialogBuilder.setNegativeButton(getString(android.R.string.cancel)) { dialog, _ -> dialog.dismiss() }

val applicationSelectDialog = layoutInflater.inflate(R.layout.application_select_dialog, null)
builderSingle.setView(applicationSelectDialog)
val dialog = builderSingle.create()
val applicationSelectDialogView = layoutInflater.inflate(R.layout.application_select_dialog, null)
applicationSelectDialogBuilder.setView(applicationSelectDialogView)
applicationSelectDialog = applicationSelectDialogBuilder.create()

val devicePackageNames = getDeviceApps()
val filteredDevicePackageNames = devicePackageNames.toMutableList()

val recyclerView = applicationSelectDialog.findViewById<RecyclerView>(R.id.recyclerView)
val recyclerView = applicationSelectDialogView.findViewById<RecyclerView>(R.id.recyclerView)
val adapter = ApplicationGridAdapter(packageManager, filteredDevicePackageNames, selectedPackageNames)

val searchView = applicationSelectDialog.findViewById<SearchView>(R.id.searchView)
val searchView = applicationSelectDialogView.findViewById<SearchView>(R.id.searchView)
searchView.setOnQueryTextListener(object: SearchView.OnQueryTextListener{
override fun onQueryTextSubmit(query: String?): Boolean {
return false
Expand Down Expand Up @@ -817,7 +820,7 @@ class MainActivity : AppCompatActivity() {
})

recyclerView.adapter = adapter
dialog.show()
applicationSelectDialog?.show()
searchView.requestFocus()
}

Expand Down

0 comments on commit fa6fc3c

Please sign in to comment.