X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fdialogs%2FCreateBookmarkFolderDialog.kt;h=705466493c423e1efb238223b6f0c51687f194d8;hb=5af263278d6c5388aaaf4ece6f16bc05cd90225f;hp=0cca2881aa461631d004c86ee5a0ade8d77eabc9;hpb=9df712df3780161d77d10c6f3a2444bf8f218c99;p=PrivacyBrowserAndroid.git
diff --git a/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkFolderDialog.kt b/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkFolderDialog.kt
index 0cca2881..70546649 100644
--- a/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkFolderDialog.kt
+++ b/app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkFolderDialog.kt
@@ -16,10 +16,10 @@
* You should have received a copy of the GNU General Public License
* along with Privacy Browser. If not, see .
*/
+
package com.stoutner.privacybrowser.dialogs
import android.annotation.SuppressLint
-import android.app.AlertDialog
import android.app.Dialog
import android.content.Context
import android.content.DialogInterface
@@ -33,6 +33,7 @@ import android.view.View
import android.view.WindowManager
import android.widget.EditText
import android.widget.ImageView
+import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment
import androidx.preference.PreferenceManager
@@ -42,13 +43,16 @@ import com.stoutner.privacybrowser.helpers.BookmarksDatabaseHelper
import java.io.ByteArrayOutputStream
+// Declare the class constants.
+private const val FAVORITE_ICON_BYTE_ARRAY = "favorite_icon_byte_array"
+
class CreateBookmarkFolderDialog: DialogFragment() {
// The public interface is used to send information back to the parent activity.
interface CreateBookmarkFolderListener {
fun onCreateBookmarkFolder(dialogFragment: DialogFragment, favoriteIconBitmap: Bitmap)
}
- // The create bookmark folder listener is initialized in `onAttach()` and used in `onCreateDialog()`.
+ // Declare the class variables.
private lateinit var createBookmarkFolderListener: CreateBookmarkFolderListener
override fun onAttach(context: Context) {
@@ -76,7 +80,7 @@ class CreateBookmarkFolderDialog: DialogFragment() {
val argumentsBundle = Bundle()
// Store the favorite icon in the bundle.
- argumentsBundle.putByteArray("favorite_icon_byte_array", favoriteIconByteArray)
+ argumentsBundle.putByteArray(FAVORITE_ICON_BYTE_ARRAY, favoriteIconByteArray)
// Create a new instance of the dialog.
val createBookmarkFolderDialog = CreateBookmarkFolderDialog()
@@ -89,37 +93,26 @@ class CreateBookmarkFolderDialog: DialogFragment() {
}
}
- // `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the alert dialog.
+ // `@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.
- val arguments = arguments!!
+ val arguments = requireArguments()
// Get the favorite icon byte array.
- val favoriteIconByteArray = arguments.getByteArray("favorite_icon_byte_array")!!
+ val favoriteIconByteArray = arguments.getByteArray(FAVORITE_ICON_BYTE_ARRAY)!!
// Convert the favorite icon byte array to a bitmap.
val favoriteIconBitmap = BitmapFactory.decodeByteArray(favoriteIconByteArray, 0, favoriteIconByteArray.size)
- // Get a handle for the shared preferences.
- val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
- // Get the screenshot and theme preferences.
- val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
- val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
-
- // Use an alert dialog builder to create the dialog and set the style according to the theme.
- val dialogBuilder = if (darkTheme) {
- AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogDark)
- } else {
- AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogLight)
- }
+ // Use an alert dialog builder to create the dialog.
+ val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
// Set the title.
dialogBuilder.setTitle(R.string.create_folder)
// Set the view. The parent view is null because it will be assigned by the alert dialog.
- dialogBuilder.setView(activity!!.layoutInflater.inflate(R.layout.create_bookmark_folder_dialog, null))
+ dialogBuilder.setView(requireActivity().layoutInflater.inflate(R.layout.create_bookmark_folder_dialog, null))
// Set a listener on the cancel button. Using `null` as the listener closes the dialog without doing anything else.
dialogBuilder.setNegativeButton(R.string.cancel, null)
@@ -133,6 +126,12 @@ class CreateBookmarkFolderDialog: DialogFragment() {
// Create an alert dialog from the builder.
val alertDialog = dialogBuilder.create()
+ // Get a handle for the shared preferences.
+ val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+ // Get the screenshot preference.
+ val allowScreenshots = sharedPreferences.getBoolean(getString(R.string.allow_screenshots_key), false)
+
// Disable screenshots if not allowed.
if (!allowScreenshots) {
alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
@@ -145,8 +144,8 @@ class CreateBookmarkFolderDialog: DialogFragment() {
alertDialog.show()
// Get handles for the views in the dialog.
- val webPageIconImageView: ImageView = alertDialog.findViewById(R.id.create_folder_web_page_icon)
- val folderNameEditText: EditText = alertDialog.findViewById(R.id.create_folder_name_edittext)
+ val webPageIconImageView = alertDialog.findViewById(R.id.create_folder_web_page_icon)!!
+ val folderNameEditText = alertDialog.findViewById(R.id.create_folder_name_edittext)!!
val createButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)
// Display the current favorite icon.