import android.content.Context
import android.content.DialogInterface
import android.content.Intent
-import android.content.res.Configuration
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.view.WindowManager
import android.widget.Button
import android.widget.EditText
+
import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
import androidx.preference.PreferenceManager
+
import com.stoutner.privacybrowser.R
-// Declare the class constants.
+// Define the class constants.
private const val SAVE_TYPE = "save_type"
class SaveDialog : DialogFragment() {
}
companion object {
- // Declare the companion object constants. These can be moved to class constants once all of the code has transitioned to Kotlin.
+ // Define the companion object constants. These can be moved to class constants once all of the code has transitioned to Kotlin.
const val SAVE_LOGCAT = 0
const val SAVE_ABOUT_VERSION_TEXT = 1
const val SAVE_ABOUT_VERSION_IMAGE = 2
// Create a new instance of the save dialog.
val saveDialog = SaveDialog()
- // Add the arguments bundle to the dialog.
+ // Add the arguments bundle to the new dialog.
saveDialog.arguments = argumentsBundle
// Return the new dialog.
// Use an alert dialog builder to create the alert dialog.
val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
- // Get the current theme status.
- val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
-
// Set the title and the icon according to the save type.
when (saveType) {
SAVE_LOGCAT -> {
dialogBuilder.setTitle(R.string.save_logcat)
// Set the icon according to the theme.
- if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
- dialogBuilder.setIcon(R.drawable.save_dialog_day)
- } else {
- dialogBuilder.setIcon(R.drawable.save_dialog_night)
- }
+ dialogBuilder.setIconAttribute(R.attr.saveBlueIcon)
}
SAVE_ABOUT_VERSION_TEXT -> {
dialogBuilder.setTitle(R.string.save_text)
// Set the icon according to the theme.
- if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
- dialogBuilder.setIcon(R.drawable.save_text_blue_day)
- } else {
- dialogBuilder.setIcon(R.drawable.save_text_blue_night)
- }
+ dialogBuilder.setIconAttribute(R.attr.saveTextBlueIcon)
}
SAVE_ABOUT_VERSION_IMAGE -> {
dialogBuilder.setTitle(R.string.save_image)
// Set the icon according to the theme.
- if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
- dialogBuilder.setIcon(R.drawable.images_enabled_day)
- } else {
- dialogBuilder.setIcon(R.drawable.images_enabled_night)
- }
+ dialogBuilder.setIconAttribute(R.attr.imagesBlueIcon)
}
}
// Set the view. The parent view is null because it will be assigned by the alert dialog.
- dialogBuilder.setView(requireActivity().layoutInflater.inflate(R.layout.save_dialog, null))
+ dialogBuilder.setView(layoutInflater.inflate(R.layout.save_dialog, null))
// Set the cancel button listener. Using `null` as the listener closes the dialog without doing anything else.
dialogBuilder.setNegativeButton(R.string.cancel, null)