1
0
Fork 0

Fixes #5030: Modified Dialog to match the others. (#6022)

I changed the Dialog from permissions exceptions and used AlertDialog
instead of Context.alert extension function.
master
ValentinTimisica 2019-10-21 19:59:04 +03:00 committed by Jeff Boek
parent e23528291a
commit ef42d3e4dc
3 changed files with 30 additions and 28 deletions

View File

@ -4,7 +4,9 @@
package org.mozilla.fenix.settings.sitepermissions package org.mozilla.fenix.settings.sitepermissions
import android.content.DialogInterface
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.Navigation import androidx.navigation.Navigation
@ -14,9 +16,6 @@ import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.Dispatchers.Main
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.sitepermissions.SitePermissions
import org.jetbrains.anko.alert
import org.jetbrains.anko.noButton
import org.jetbrains.anko.yesButton
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.getPreferenceKey
@ -89,14 +88,16 @@ class SitePermissionsDetailsExceptionsFragment : PreferenceFragmentCompat() {
val button: Preference = requireNotNull(findPreference(keyPreference)) val button: Preference = requireNotNull(findPreference(keyPreference))
button.onPreferenceClickListener = Preference.OnPreferenceClickListener { button.onPreferenceClickListener = Preference.OnPreferenceClickListener {
requireContext().alert( AlertDialog.Builder(requireContext()).apply {
R.string.confirm_clear_permissions_site, setMessage(R.string.confirm_clear_permissions_site)
R.string.clear_permissions setTitle(R.string.clear_permissions)
) { setPositiveButton(android.R.string.yes) { dialog: DialogInterface, _ ->
yesButton {
clearSitePermissions() clearSitePermissions()
dialog.dismiss()
}
setNegativeButton(android.R.string.no) { dialog: DialogInterface, _ ->
dialog.cancel()
} }
noButton { }
}.show() }.show()
true true

View File

@ -4,6 +4,7 @@
package org.mozilla.fenix.settings.sitepermissions package org.mozilla.fenix.settings.sitepermissions
import android.content.DialogInterface
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
@ -13,6 +14,7 @@ import android.view.ViewGroup
import android.widget.Button import android.widget.Button
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer import androidx.lifecycle.Observer
@ -27,9 +29,6 @@ import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.Dispatchers.Main
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.sitepermissions.SitePermissions
import org.jetbrains.anko.alert
import org.jetbrains.anko.noButton
import org.jetbrains.anko.yesButton
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.loadIntoView import org.mozilla.fenix.ext.loadIntoView
@ -94,14 +93,16 @@ class SitePermissionsExceptionsFragment :
private fun bindClearButton(rootView: View) { private fun bindClearButton(rootView: View) {
clearButton = rootView.findViewById(R.id.delete_all_site_permissions_button) clearButton = rootView.findViewById(R.id.delete_all_site_permissions_button)
clearButton.setOnClickListener { clearButton.setOnClickListener {
requireContext().alert( AlertDialog.Builder(requireContext()).apply {
R.string.confirm_clear_permissions_on_all_sites, setMessage(R.string.confirm_clear_permissions_on_all_sites)
R.string.clear_permissions setTitle(R.string.clear_permissions)
) { setPositiveButton(android.R.string.yes) { dialog: DialogInterface, _ ->
yesButton {
deleteAllSitePermissions() deleteAllSitePermissions()
dialog.dismiss()
}
setNegativeButton(android.R.string.no) { dialog: DialogInterface, _ ->
dialog.cancel()
} }
noButton { }
}.show() }.show()
} }
} }

View File

@ -4,6 +4,7 @@
package org.mozilla.fenix.settings.sitepermissions package org.mozilla.fenix.settings.sitepermissions
import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
@ -13,6 +14,7 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Button import android.widget.Button
import android.widget.RadioButton import android.widget.RadioButton
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
@ -21,9 +23,6 @@ import kotlinx.coroutines.launch
import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.sitepermissions.SitePermissions
import mozilla.components.feature.sitepermissions.SitePermissions.Status.ALLOWED import mozilla.components.feature.sitepermissions.SitePermissions.Status.ALLOWED
import mozilla.components.feature.sitepermissions.SitePermissions.Status.BLOCKED import mozilla.components.feature.sitepermissions.SitePermissions.Status.BLOCKED
import org.jetbrains.anko.alert
import org.jetbrains.anko.noButton
import org.jetbrains.anko.yesButton
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.settings
@ -107,17 +106,18 @@ class SitePermissionsManageExceptionsPhoneFeatureFragment : Fragment() {
val button = rootView.findViewById<Button>(R.id.reset_permission) val button = rootView.findViewById<Button>(R.id.reset_permission)
button.setText(R.string.clear_permission) button.setText(R.string.clear_permission)
button.setOnClickListener { button.setOnClickListener {
AlertDialog.Builder(requireContext()).apply {
requireContext().alert( setMessage(R.string.confirm_clear_permission_site)
R.string.confirm_clear_permission_site, setTitle(R.string.clear_permission)
R.string.clear_permission setPositiveButton(android.R.string.yes) { dialog: DialogInterface, _ ->
) {
yesButton {
val defaultStatus = phoneFeature.getStatus(settings = settings) val defaultStatus = phoneFeature.getStatus(settings = settings)
updatedSitePermissions(defaultStatus) updatedSitePermissions(defaultStatus)
resetRadioButtonsStatus(defaultStatus) resetRadioButtonsStatus(defaultStatus)
dialog.dismiss()
}
setNegativeButton(android.R.string.no) { dialog: DialogInterface, _ ->
dialog.cancel()
} }
noButton { }
}.show() }.show()
} }
} }