diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/contrast/ContrastDialogDelegate.kt | 25 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/systemui/contrast/ContrastDialogDelegateTest.kt | 24 |
2 files changed, 31 insertions, 18 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/contrast/ContrastDialogDelegate.kt b/packages/SystemUI/src/com/android/systemui/contrast/ContrastDialogDelegate.kt index 63b01edb01fa..0daa058720ba 100644 --- a/packages/SystemUI/src/com/android/systemui/contrast/ContrastDialogDelegate.kt +++ b/packages/SystemUI/src/com/android/systemui/contrast/ContrastDialogDelegate.kt @@ -35,23 +35,22 @@ import java.util.concurrent.Executor import javax.inject.Inject /** Dialog to select contrast options */ -class ContrastDialogDelegate @Inject constructor( - private val sysuiDialogFactory : SystemUIDialog.Factory, +class ContrastDialogDelegate +@Inject +constructor( + private val sysuiDialogFactory: SystemUIDialog.Factory, @Main private val mainExecutor: Executor, private val uiModeManager: UiModeManager, private val userTracker: UserTracker, private val secureSettings: SecureSettings, ) : SystemUIDialog.Delegate, UiModeManager.ContrastChangeListener { - override fun createDialog(): SystemUIDialog { - return sysuiDialogFactory.create(this) - } - @VisibleForTesting lateinit var contrastButtons: Map<Int, FrameLayout> lateinit var dialogView: View @VisibleForTesting var initialContrast: Float = fromContrastLevel(CONTRAST_LEVEL_STANDARD) - override fun onCreate(dialog: SystemUIDialog, savedInstanceState: Bundle?) { + override fun createDialog(): SystemUIDialog { + val dialog = sysuiDialogFactory.create(this) dialogView = dialog.layoutInflater.inflate(R.layout.contrast_dialog, null) with(dialog) { setView(dialogView) @@ -67,12 +66,16 @@ class ContrastDialogDelegate @Inject constructor( } setPositiveButton(com.android.settingslib.R.string.done) { _, _ -> dialog.dismiss() } } + + return dialog + } + + override fun onCreate(dialog: SystemUIDialog, savedInstanceState: Bundle?) { contrastButtons = mapOf( - CONTRAST_LEVEL_STANDARD to dialogView.requireViewById( - R.id.contrast_button_standard), - CONTRAST_LEVEL_MEDIUM to dialogView.requireViewById(R.id.contrast_button_medium), - CONTRAST_LEVEL_HIGH to dialogView.requireViewById(R.id.contrast_button_high) + CONTRAST_LEVEL_STANDARD to dialog.requireViewById(R.id.contrast_button_standard), + CONTRAST_LEVEL_MEDIUM to dialog.requireViewById(R.id.contrast_button_medium), + CONTRAST_LEVEL_HIGH to dialog.requireViewById(R.id.contrast_button_high) ) contrastButtons.forEach { (contrastLevel, contrastButton) -> diff --git a/packages/SystemUI/tests/src/com/android/systemui/contrast/ContrastDialogDelegateTest.kt b/packages/SystemUI/tests/src/com/android/systemui/contrast/ContrastDialogDelegateTest.kt index e931384fd61e..65f68f9df3e1 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/contrast/ContrastDialogDelegateTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/contrast/ContrastDialogDelegateTest.kt @@ -22,6 +22,7 @@ import android.provider.Settings import android.testing.AndroidTestingRunner import android.testing.TestableLooper.RunWithLooper import android.view.LayoutInflater +import android.view.View import android.widget.FrameLayout import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase @@ -39,6 +40,8 @@ import com.android.systemui.util.time.FakeSystemClock import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor +import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock import org.mockito.Mockito.eq import org.mockito.Mockito.verify @@ -73,13 +76,20 @@ class ContrastDialogDelegateTest : SysuiTestCase() { if (Looper.myLooper() == null) Looper.prepare() mContrastDialogDelegate = - ContrastDialogDelegate( - sysuiDialogFactory, - mainExecutor, - mockUiModeManager, - mockUserTracker, - mockSecureSettings - ) + ContrastDialogDelegate( + sysuiDialogFactory, + mainExecutor, + mockUiModeManager, + mockUserTracker, + mockSecureSettings + ) + + mContrastDialogDelegate.createDialog() + val viewCaptor = ArgumentCaptor.forClass(View::class.java) + verify(sysuiDialog).setView(viewCaptor.capture()) + whenever(sysuiDialog.requireViewById(anyInt()) as View?).then { + viewCaptor.value.requireViewById(it.getArgument(0)) + } } @Test |