X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fdialogs%2FSaveDialog.kt;h=4c8b75a3e62dbf9a934dcdf1d6954596ae891f2c;hp=d643aa7c4a23915efa9a1ae9c9c06f6c342dc32c;hb=1d656c562831f535aa33903d44198dd890393f4f;hpb=91154b307513e7bc6958b27fba518e4f9b564cf9 diff --git a/app/src/main/java/com/stoutner/privacybrowser/dialogs/SaveDialog.kt b/app/src/main/java/com/stoutner/privacybrowser/dialogs/SaveDialog.kt index d643aa7c..4c8b75a3 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/dialogs/SaveDialog.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/dialogs/SaveDialog.kt @@ -19,34 +19,24 @@ package com.stoutner.privacybrowser.dialogs -import android.Manifest -import android.annotation.SuppressLint -import android.os.Bundle import android.app.Dialog import android.content.Context import android.content.DialogInterface import android.content.Intent -import android.content.pm.PackageManager -import android.content.res.Configuration -import android.view.View +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 android.widget.TextView -import android.text.TextWatcher -import android.text.Editable import androidx.appcompat.app.AlertDialog -import androidx.core.content.ContextCompat import androidx.fragment.app.DialogFragment import androidx.preference.PreferenceManager import com.stoutner.privacybrowser.R -import com.stoutner.privacybrowser.helpers.DownloadLocationHelper -import java.io.File - -// Declare the class constants. +// Define the class constants. private const val SAVE_TYPE = "save_type" class SaveDialog : DialogFragment() { @@ -68,7 +58,7 @@ 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 @@ -85,7 +75,7 @@ class SaveDialog : DialogFragment() { // 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. @@ -93,8 +83,6 @@ class SaveDialog : DialogFragment() { } } - // `@SuppressLint("InflateParams")` removes the warning about using null as the parent view group when inflating the alert dialog. - @SuppressLint("InflateParams") override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { // Get the arguments from the bundle. val saveType = requireArguments().getInt(SAVE_TYPE) @@ -102,9 +90,6 @@ class SaveDialog : DialogFragment() { // 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 -> { @@ -112,11 +97,7 @@ class SaveDialog : DialogFragment() { 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 -> { @@ -124,11 +105,7 @@ class SaveDialog : DialogFragment() { 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 -> { @@ -136,16 +113,12 @@ class SaveDialog : DialogFragment() { 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)) + // Set the view. + dialogBuilder.setView(R.layout.save_dialog) // Set the cancel button listener. Using `null` as the listener closes the dialog without doing anything else. dialogBuilder.setNegativeButton(R.string.cancel, null) @@ -176,10 +149,11 @@ class SaveDialog : DialogFragment() { // Get handles for the layout items. val fileNameEditText = alertDialog.findViewById(R.id.file_name_edittext)!! val browseButton = alertDialog.findViewById