diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_actionButtons.png new file mode 100644 index 0000000000000..e1733b7eef724 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_barChart.png new file mode 100644 index 0000000000000..89c84af22d567 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_footer.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_footer.png new file mode 100644 index 0000000000000..517ab1826739e Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_imageIllustration.png new file mode 100644 index 0000000000000..fbc8174d8903f Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_lineChart.png new file mode 100644 index 0000000000000..834f16ddc888f Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_mainSwitchPreference.png new file mode 100644 index 0000000000000..aad05aa148107 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_pieChart.png new file mode 100644 index 0000000000000..5decbed488023 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_progressBar.png new file mode 100644 index 0000000000000..a59369a3f0e31 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_slider.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_slider.png new file mode 100644 index 0000000000000..3fc82263bea03 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_spinner.png new file mode 100644 index 0000000000000..bc119bc069f7c Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_switchPreference.png new file mode 100644 index 0000000000000..1286b8aaa6054 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..f347c83ef52d8 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_landscape_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_actionButtons.png new file mode 100644 index 0000000000000..44e3029c07a82 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_barChart.png new file mode 100644 index 0000000000000..fb7c2025c8b87 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_footer.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_footer.png new file mode 100644 index 0000000000000..517ab1826739e Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_imageIllustration.png new file mode 100644 index 0000000000000..447b6986f30cf Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_lineChart.png new file mode 100644 index 0000000000000..ff04de854019d Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_mainSwitchPreference.png new file mode 100644 index 0000000000000..90e7d8866bfd8 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_pieChart.png new file mode 100644 index 0000000000000..b66f9b943c6aa Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_progressBar.png new file mode 100644 index 0000000000000..75c22b6232cd1 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_slider.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_slider.png new file mode 100644 index 0000000000000..718d7d5083b7f Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_spinner.png new file mode 100644 index 0000000000000..bc119bc069f7c Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_switchPreference.png new file mode 100644 index 0000000000000..85e5d73f41be4 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..c683005d37822 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/dark_portrait_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_actionButtons.png new file mode 100644 index 0000000000000..74113d8e41b87 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_barChart.png new file mode 100644 index 0000000000000..0d22c6a7d9e45 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_footer.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_footer.png new file mode 100644 index 0000000000000..f77b8a78d1747 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_imageIllustration.png new file mode 100644 index 0000000000000..93727915b2d9d Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_lineChart.png new file mode 100644 index 0000000000000..dda9e9e889326 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_mainSwitchPreference.png new file mode 100644 index 0000000000000..6fe75a1889663 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_pieChart.png new file mode 100644 index 0000000000000..b14e196ea0076 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_progressBar.png new file mode 100644 index 0000000000000..f8c35e9bf3cd3 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_slider.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_slider.png new file mode 100644 index 0000000000000..d08710f12bc33 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_spinner.png new file mode 100644 index 0000000000000..7468169c3be10 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_switchPreference.png new file mode 100644 index 0000000000000..fa49e90b6fea1 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..9739aa11896ee Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_landscape_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_actionButtons.png new file mode 100644 index 0000000000000..b0543e0c06418 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_barChart.png new file mode 100644 index 0000000000000..375592899facb Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_footer.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_footer.png new file mode 100644 index 0000000000000..f77b8a78d1747 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_imageIllustration.png new file mode 100644 index 0000000000000..7800149c36ee8 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_lineChart.png new file mode 100644 index 0000000000000..be409599b0849 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_mainSwitchPreference.png new file mode 100644 index 0000000000000..5ceee05964ca6 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_pieChart.png new file mode 100644 index 0000000000000..2a54b9e50703a Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_progressBar.png new file mode 100644 index 0000000000000..fe12373cb0f61 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_slider.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_slider.png new file mode 100644 index 0000000000000..2e54b568be382 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_spinner.png new file mode 100644 index 0000000000000..7468169c3be10 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_switchPreference.png new file mode 100644 index 0000000000000..9b0f1ed610fe1 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..1bd26155ef59a Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/phone/light_portrait_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_actionButtons.png new file mode 100644 index 0000000000000..f4c80db2f86ec Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_barChart.png new file mode 100644 index 0000000000000..e2e37c25a9fe6 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_footer.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_footer.png new file mode 100644 index 0000000000000..cc1de5520d150 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_imageIllustration.png new file mode 100644 index 0000000000000..50913906b0ec7 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_lineChart.png new file mode 100644 index 0000000000000..1216584efcb59 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_mainSwitchPreference.png new file mode 100644 index 0000000000000..cb23cdda691cd Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_pieChart.png new file mode 100644 index 0000000000000..79907eb02ce3e Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_preference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_preference.png index 9391eeb01e740..ca80739687264 100644 Binary files a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_preference.png and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_preference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_progressBar.png new file mode 100644 index 0000000000000..6373d94ecee55 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_slider.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_slider.png new file mode 100644 index 0000000000000..7c651b24cd606 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_spinner.png new file mode 100644 index 0000000000000..c211e0e20c697 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_switchPreference.png new file mode 100644 index 0000000000000..b6261253cd8ee Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..a1657456cce0a Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_landscape_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_actionButtons.png new file mode 100644 index 0000000000000..5255d14bc4b57 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_barChart.png new file mode 100644 index 0000000000000..8f3f664536b3d Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_footer.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_footer.png new file mode 100644 index 0000000000000..cc1de5520d150 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_imageIllustration.png new file mode 100644 index 0000000000000..e29f26aed3aa8 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_lineChart.png new file mode 100644 index 0000000000000..8b9bc5cb85c32 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_mainSwitchPreference.png new file mode 100644 index 0000000000000..9cd5d0aa42edb Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_pieChart.png new file mode 100644 index 0000000000000..2a7b341619604 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_progressBar.png new file mode 100644 index 0000000000000..f23d6d43d642e Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_slider.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_slider.png new file mode 100644 index 0000000000000..b8411d4af2613 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_spinner.png new file mode 100644 index 0000000000000..c211e0e20c697 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_switchPreference.png new file mode 100644 index 0000000000000..c5495cd64c753 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..561efd83d4306 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/dark_portrait_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_actionButtons.png new file mode 100644 index 0000000000000..ba22324322e5d Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_barChart.png new file mode 100644 index 0000000000000..57dbcc6806947 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_footer.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_footer.png new file mode 100644 index 0000000000000..0c24b2a31d2f9 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_imageIllustration.png new file mode 100644 index 0000000000000..126dae8275257 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_lineChart.png new file mode 100644 index 0000000000000..a48775dee3b56 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_mainSwitchPreference.png new file mode 100644 index 0000000000000..114da9637f07d Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_pieChart.png new file mode 100644 index 0000000000000..f2a068c2c5e88 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_preference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_preference.png index b1d03c31362ee..c71f07fe63c5c 100644 Binary files a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_preference.png and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_preference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_progressBar.png new file mode 100644 index 0000000000000..ecb4b3d18e107 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_slider.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_slider.png new file mode 100644 index 0000000000000..12abcea43915b Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_spinner.png new file mode 100644 index 0000000000000..5637f5135c42c Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_switchPreference.png new file mode 100644 index 0000000000000..a638dc81c6198 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..e795f0eabb1ad Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_landscape_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_actionButtons.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_actionButtons.png new file mode 100644 index 0000000000000..ac0bba48eadd1 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_actionButtons.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_barChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_barChart.png new file mode 100644 index 0000000000000..5286c8ada8680 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_barChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_footer.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_footer.png new file mode 100644 index 0000000000000..0c24b2a31d2f9 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_footer.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_imageIllustration.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_imageIllustration.png new file mode 100644 index 0000000000000..7b9dc03e80ad1 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_imageIllustration.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_lineChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_lineChart.png new file mode 100644 index 0000000000000..6285b71da33c2 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_lineChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_mainSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_mainSwitchPreference.png new file mode 100644 index 0000000000000..d0517fa97a1d7 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_mainSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_pieChart.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_pieChart.png new file mode 100644 index 0000000000000..483a697f06b06 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_pieChart.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_progressBar.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_progressBar.png new file mode 100644 index 0000000000000..c510d9bb47b08 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_progressBar.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_slider.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_slider.png new file mode 100644 index 0000000000000..55b7bec8e16a6 Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_slider.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_spinner.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_spinner.png new file mode 100644 index 0000000000000..5637f5135c42c Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_spinner.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_switchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_switchPreference.png new file mode 100644 index 0000000000000..03c2e6c5a231e Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_switchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_twoTargetSwitchPreference.png b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_twoTargetSwitchPreference.png new file mode 100644 index 0000000000000..7e7a8a3fd973c Binary files /dev/null and b/packages/SettingsLib/Spa/screenshot/assets/tablet/light_portrait_twoTargetSwitchPreference.png differ diff --git a/packages/SettingsLib/Spa/screenshot/res/drawable/accessibility_captioning_banner.xml b/packages/SettingsLib/Spa/screenshot/res/drawable/accessibility_captioning_banner.xml new file mode 100644 index 0000000000000..6597ffb576884 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/res/drawable/accessibility_captioning_banner.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/button/ActionButtonsScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/button/ActionButtonsScreenshotTest.kt new file mode 100644 index 0000000000000..af76105ef7c9d --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/button/ActionButtonsScreenshotTest.kt @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Delete +import androidx.compose.material.icons.outlined.Launch +import androidx.compose.material.icons.outlined.WarningAmber +import com.android.settingslib.spa.widget.button.ActionButton +import com.android.settingslib.spa.widget.button.ActionButtons +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class ActionButtonsScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("actionButtons") { + val actionButtons = listOf( + ActionButton(text = "Open", imageVector = Icons.Outlined.Launch) {}, + ActionButton(text = "Uninstall", imageVector = Icons.Outlined.Delete) {}, + ActionButton(text = "Force stop", imageVector = Icons.Outlined.WarningAmber) {}, + ) + ActionButtons(actionButtons) + } + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/BarChartScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/BarChartScreenshotTest.kt new file mode 100644 index 0000000000000..3180c9223a770 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/BarChartScreenshotTest.kt @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.widget.chart.BarChart +import com.android.settingslib.spa.widget.chart.BarChartData +import com.android.settingslib.spa.widget.chart.BarChartModel +import com.github.mikephil.charting.formatter.IAxisValueFormatter +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class BarChartScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("barChart") { + BarChart( + barChartModel = object : BarChartModel { + override val chartDataList = listOf( + BarChartData(x = 0f, y = 12f), + BarChartData(x = 1f, y = 5f), + BarChartData(x = 2f, y = 21f), + BarChartData(x = 3f, y = 5f), + BarChartData(x = 4f, y = 10f), + BarChartData(x = 5f, y = 9f), + BarChartData(x = 6f, y = 1f), + ) + override val xValueFormatter = + IAxisValueFormatter { value, _ -> + "${WeekDay.values()[value.toInt()]}" + } + override val yValueFormatter = + IAxisValueFormatter { value, _ -> + "${value.toInt()}m" + } + override val yAxisMaxValue = 30f + } + ) + } + } + + private enum class WeekDay(val num: Int) { + Sun(0), Mon(1), Tue(2), Wed(3), Thu(4), Fri(5), Sat(6), + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/LineChartScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/LineChartScreenshotTest.kt new file mode 100644 index 0000000000000..6ed3c8f7c7275 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/LineChartScreenshotTest.kt @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.widget.chart.LineChart +import com.android.settingslib.spa.widget.chart.LineChartData +import com.android.settingslib.spa.widget.chart.LineChartModel +import com.github.mikephil.charting.formatter.IAxisValueFormatter +import java.text.NumberFormat +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class LineChartScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("lineChart") { + LineChart( + lineChartModel = object : LineChartModel { + override val chartDataList = listOf( + LineChartData(x = 0f, y = 0f), + LineChartData(x = 1f, y = 0.1f), + LineChartData(x = 2f, y = 0.2f), + LineChartData(x = 3f, y = 0.6f), + LineChartData(x = 4f, y = 0.9f), + LineChartData(x = 5f, y = 1.0f), + LineChartData(x = 6f, y = 0.8f), + ) + override val xValueFormatter = + IAxisValueFormatter { value, _ -> + "${WeekDay.values()[value.toInt()]}" + } + override val yValueFormatter = + IAxisValueFormatter { value, _ -> + NumberFormat.getPercentInstance().format(value) + } + } + ) + } + } + + private enum class WeekDay(val num: Int) { + Sun(0), Mon(1), Tue(2), Wed(3), Thu(4), Fri(5), Sat(6), + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/PieChartScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/PieChartScreenshotTest.kt new file mode 100644 index 0000000000000..28638f0ccf677 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/chart/PieChartScreenshotTest.kt @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.widget.chart.PieChart +import com.android.settingslib.spa.widget.chart.PieChartData +import com.android.settingslib.spa.widget.chart.PieChartModel +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class PieChartScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("pieChart") { + PieChart( + pieChartModel = object : PieChartModel { + override val chartDataList = listOf( + PieChartData(label = "Settings", value = 20f), + PieChartData(label = "Chrome", value = 5f), + PieChartData(label = "Gmail", value = 3f), + ) + override val centerText = "Today" + } + ) + } + } +} \ No newline at end of file diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/illustration/ImageIllustrationScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/illustration/ImageIllustrationScreenshotTest.kt new file mode 100644 index 0000000000000..66f66d6149564 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/illustration/ImageIllustrationScreenshotTest.kt @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.widget.illustration.Illustration +import com.android.settingslib.spa.widget.illustration.IllustrationModel +import com.android.settingslib.spa.widget.illustration.ResourceType +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class ImageIllustrationScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("imageIllustration") { + Illustration(object : IllustrationModel { + override val resId = R.drawable.accessibility_captioning_banner + override val resourceType = ResourceType.IMAGE + }) + } + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/MainSwitchPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/MainSwitchPreferenceScreenshotTest.kt new file mode 100644 index 0000000000000..489fb99947459 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/MainSwitchPreferenceScreenshotTest.kt @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.framework.compose.stateOf +import com.android.settingslib.spa.widget.preference.MainSwitchPreference +import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel +import com.android.settingslib.spa.widget.scaffold.RegularScaffold +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class MainSwitchPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("mainSwitchPreference") { + RegularScaffold(title = "MainSwitchPreference") { + MainSwitchPreference( + object : SwitchPreferenceModel { + override val title = "MainSwitchPreference" + override val checked = stateOf(false) + override val onCheckedChange = null + }) + + MainSwitchPreference(object : SwitchPreferenceModel { + override val title = "Not changeable" + override val changeable = stateOf(false) + override val checked = stateOf(true) + override val onCheckedChange = null + }) + } + } + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/PreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/PreferenceScreenshotTest.kt similarity index 99% rename from packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/PreferenceScreenshotTest.kt rename to packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/PreferenceScreenshotTest.kt index 9631826382937..28e97ea5f5235 100644 --- a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/PreferenceScreenshotTest.kt +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/PreferenceScreenshotTest.kt @@ -52,7 +52,7 @@ class PreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { ) @Test - fun testPreference() { + fun test() { screenshotRule.screenshotTest("preference") { RegularScaffold(title = "Preference") { Preference(object : PreferenceModel { @@ -88,4 +88,4 @@ class PreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { } } } -} \ No newline at end of file +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/ProgressBarPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/ProgressBarPreferenceScreenshotTest.kt new file mode 100644 index 0000000000000..c5b873fc25953 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/ProgressBarPreferenceScreenshotTest.kt @@ -0,0 +1,88 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Delete +import androidx.compose.material.icons.outlined.SystemUpdate +import androidx.compose.runtime.Composable +import com.android.settingslib.spa.widget.preference.ProgressBarPreference +import com.android.settingslib.spa.widget.preference.ProgressBarPreferenceModel +import com.android.settingslib.spa.widget.preference.ProgressBarWithDataPreference +import com.android.settingslib.spa.widget.scaffold.RegularScaffold +import com.android.settingslib.spa.widget.ui.CircularProgressBar +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class ProgressBarPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("progressBar") { + RegularScaffold(title = "ProgressBar") { + LargeProgressBar() + SimpleProgressBar() + ProgressBarWithData() + CircularProgressBar(progress = 0.8f, radius = 160f) + } + } + } +} + +@Composable +private fun LargeProgressBar() { + ProgressBarPreference(object : ProgressBarPreferenceModel { + override val title = "Large Progress Bar" + override val progress = 0.2f + override val height = 20f + }) +} + +@Composable +private fun SimpleProgressBar() { + ProgressBarPreference(object : ProgressBarPreferenceModel { + override val title = "Simple Progress Bar" + override val progress = 0.2f + override val icon = Icons.Outlined.SystemUpdate + }) +} + +@Composable +private fun ProgressBarWithData() { + ProgressBarWithDataPreference(model = object : ProgressBarPreferenceModel { + override val title = "Progress Bar with Data" + override val progress = 0.2f + override val icon = Icons.Outlined.Delete + }, data = "25G") +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SliderPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SliderPreferenceScreenshotTest.kt new file mode 100644 index 0000000000000..2da0ef2f91bb3 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SliderPreferenceScreenshotTest.kt @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.AccessAlarm +import com.android.settingslib.spa.widget.preference.SliderPreference +import com.android.settingslib.spa.widget.preference.SliderPreferenceModel +import com.android.settingslib.spa.widget.scaffold.RegularScaffold +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class SliderPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("slider") { + RegularScaffold(title = "Slider") { + SliderPreference(object : SliderPreferenceModel { + override val title = "Simple Slider" + override val initValue = 40 + }) + + SliderPreference(object : SliderPreferenceModel { + override val title = "Slider with icon" + override val initValue = 30 + override val onValueChangeFinished = { + println("onValueChangeFinished") + } + override val icon = Icons.Outlined.AccessAlarm + }) + + SliderPreference(object : SliderPreferenceModel { + override val title = "Slider with steps" + override val initValue = 2 + override val valueRange = 1..5 + override val showSteps = true + }) + } + } + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SwitchPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SwitchPreferenceScreenshotTest.kt new file mode 100644 index 0000000000000..026b986e6627a --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/SwitchPreferenceScreenshotTest.kt @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.AirplanemodeActive +import androidx.compose.runtime.Composable +import com.android.settingslib.spa.framework.compose.stateOf +import com.android.settingslib.spa.widget.preference.SwitchPreference +import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel +import com.android.settingslib.spa.widget.scaffold.RegularScaffold +import com.android.settingslib.spa.widget.ui.SettingsIcon +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class SwitchPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("switchPreference") { + RegularScaffold(title = "SwitchPreference") { + SampleSwitchPreference() + SampleSwitchPreferenceWithSummary() + SampleNotChangeableSwitchPreference() + SampleSwitchPreferenceWithIcon() + } + } + } +} + +@Composable +private fun SampleSwitchPreference() { + SwitchPreference(object : SwitchPreferenceModel { + override val title = "SwitchPreference" + override val checked = stateOf(false) + override val onCheckedChange = null + }) +} + +@Composable +private fun SampleSwitchPreferenceWithSummary() { + SwitchPreference(object : SwitchPreferenceModel { + override val title = "SwitchPreference" + override val summary = stateOf("With summary") + override val checked = stateOf(true) + override val onCheckedChange = null + }) +} + +@Composable +private fun SampleNotChangeableSwitchPreference() { + SwitchPreference(object : SwitchPreferenceModel { + override val title = "SwitchPreference" + override val summary = stateOf("Not changeable") + override val changeable = stateOf(false) + override val checked = stateOf(true) + override val onCheckedChange = null + }) +} + +@Composable +private fun SampleSwitchPreferenceWithIcon() { + SwitchPreference(object : SwitchPreferenceModel { + override val title = "SwitchPreference" + override val checked = stateOf(true) + override val onCheckedChange = null + override val icon = @Composable { + SettingsIcon(imageVector = Icons.Outlined.AirplanemodeActive) + } + }) +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/TwoTargetSwitchPreferenceScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/TwoTargetSwitchPreferenceScreenshotTest.kt new file mode 100644 index 0000000000000..833e98cc2660a --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/preference/TwoTargetSwitchPreferenceScreenshotTest.kt @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.framework.compose.stateOf +import com.android.settingslib.spa.widget.preference.TwoTargetSwitchPreference +import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel +import com.android.settingslib.spa.widget.scaffold.RegularScaffold +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class TwoTargetSwitchPreferenceScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("twoTargetSwitchPreference") { + RegularScaffold(title = "TwoTargetSwitchPreference") { + TwoTargetSwitchPreference(object : SwitchPreferenceModel { + override val title = "TwoTargetSwitchPreference" + override val checked = stateOf(false) + override val onCheckedChange = null + }) {} + + TwoTargetSwitchPreference(object : SwitchPreferenceModel { + override val title = "TwoTargetSwitchPreference" + override val summary = stateOf("With summary") + override val checked = stateOf(true) + override val onCheckedChange = null + }) {} + + TwoTargetSwitchPreference(object : SwitchPreferenceModel { + override val title = "Not changeable" + override val changeable = stateOf(false) + override val checked = stateOf(true) + override val onCheckedChange = null + }) {} + } + } + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/FooterScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/FooterScreenshotTest.kt new file mode 100644 index 0000000000000..9e7964594e8f4 --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/FooterScreenshotTest.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.widget.ui.Footer +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class FooterScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("footer") { + Footer(footerText = "Footer text always at the end of page.") + } + } +} diff --git a/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/SpinnerScreenshotTest.kt b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/SpinnerScreenshotTest.kt new file mode 100644 index 0000000000000..318e4436ae23a --- /dev/null +++ b/packages/SettingsLib/Spa/screenshot/src/com/android/settingslib/spa/screenshot/widget/ui/SpinnerScreenshotTest.kt @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settingslib.spa.screenshot + +import com.android.settingslib.spa.widget.ui.Spinner +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import platform.test.screenshot.DeviceEmulationSpec + +/** A screenshot test for ExampleFeature. */ +@RunWith(Parameterized::class) +class SpinnerScreenshotTest(emulationSpec: DeviceEmulationSpec) { + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getTestSpecs() = DeviceEmulationSpec.PhoneAndTabletFull + } + + @get:Rule + val screenshotRule = + SettingsScreenshotTestRule( + emulationSpec, + "frameworks/base/packages/SettingsLib/Spa/screenshot/assets" + ) + + @Test + fun test() { + screenshotRule.screenshotTest("spinner") { + Spinner( + options = (1..3).map { "Option $it" }, + selectedIndex = 0, + setIndex = {}, + ) + } + } +}