diff --git a/app/src/main/java/com/amaze/filemanager/ui/dialogs/ColorPickerDialog.java b/app/src/main/java/com/amaze/filemanager/ui/dialogs/ColorPickerDialog.java index 977ba264e4..5f6db7fd8e 100644 --- a/app/src/main/java/com/amaze/filemanager/ui/dialogs/ColorPickerDialog.java +++ b/app/src/main/java/com/amaze/filemanager/ui/dialogs/ColorPickerDialog.java @@ -46,6 +46,7 @@ import androidx.annotation.NonNull; import androidx.annotation.StringRes; +import androidx.appcompat.widget.AppCompatButton; import androidx.appcompat.widget.AppCompatTextView; import androidx.core.util.Pair; import androidx.preference.Preference.BaseSavedState; @@ -249,9 +250,9 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { ((UserColorPreferences) requireArguments().getParcelable(ARG_COLOR_PREF)).getAccent(); // Button views - ((AppCompatTextView) dialog.findViewById(res.getIdentifier("button1", "id", "android"))) + ((AppCompatButton) dialog.findViewById(res.getIdentifier("button1", "id", "android"))) .setTextColor(accentColor); - ((AppCompatTextView) dialog.findViewById(res.getIdentifier("button2", "id", "android"))) + ((AppCompatButton) dialog.findViewById(res.getIdentifier("button2", "id", "android"))) .setTextColor(accentColor); return dialog; diff --git a/app/src/test/java/com/amaze/filemanager/ui/dialogs/ColorPickerDialogTest.kt b/app/src/test/java/com/amaze/filemanager/ui/dialogs/ColorPickerDialogTest.kt new file mode 100644 index 0000000000..fe1c802e66 --- /dev/null +++ b/app/src/test/java/com/amaze/filemanager/ui/dialogs/ColorPickerDialogTest.kt @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2014-2023 Arpit Khurana , Vishal Nehra , + * Emmanuel Messulam, Raymond Lai and Contributors. + * + * This file is part of Amaze File Manager. + * + * Amaze File Manager is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.amaze.filemanager.ui.dialogs + +import android.os.Build.VERSION_CODES +import android.os.Build.VERSION_CODES.KITKAT +import android.os.Build.VERSION_CODES.P +import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.amaze.filemanager.application.AppConfig +import com.amaze.filemanager.shadows.ShadowMultiDex +import com.amaze.filemanager.test.ShadowTabHandler +import com.amaze.filemanager.ui.colors.ColorPreferenceHelper +import com.amaze.filemanager.ui.fragments.preferencefragments.PreferencesConstants +import com.amaze.filemanager.ui.theme.AppTheme +import org.junit.Assert.assertNotNull +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.annotation.Config + +/** + * Tests for [ColorPickerDialog]. + */ +@RunWith(AndroidJUnit4::class) +@Config( + shadows = [ShadowMultiDex::class, ShadowTabHandler::class], + sdk = [KITKAT, P, VERSION_CODES.R] +) +class ColorPickerDialogTest { + + /** + * Tests [ColorPickerDialog.onCreateDialog] as sanity check. + */ + @Test + fun testCreateDialog() { + val dialog = ColorPickerDialog.newInstance( + PreferencesConstants.PRESELECTED_CONFIGS, + ColorPreferenceHelper.randomize(AppConfig.getInstance()), + AppTheme.SYSTEM + ) + assertNotNull(dialog) + } +}