use the new design at Settings

This commit is contained in:
tibbi 2022-04-20 21:58:44 +02:00
parent d05bdf72b9
commit b9dd068495
2 changed files with 287 additions and 301 deletions

View File

@ -38,8 +38,28 @@ class SettingsActivity : SimpleActivity() {
setupSavePhotosFolder()
setupPhotoQuality()
updateTextColors(settings_holder)
setupSectionColors()
invalidateOptionsMenu()
val properPrimaryColor = getProperPrimaryColor()
arrayListOf(
settings_color_customization_label,
settings_general_settings_label,
settings_shutter_label,
settings_startup_label,
settings_saving_label
).forEach {
it.setTextColor(properPrimaryColor)
}
arrayOf(
settings_color_customization_holder,
settings_general_settings_holder,
settings_shutter_holder,
settings_startup_holder,
settings_saving_holder
).forEach {
it.background.applyColorFilter(getProperBackgroundColor().getContrastColor())
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
@ -56,15 +76,14 @@ class SettingsActivity : SimpleActivity() {
return true
}
private fun setupSectionColors() {
val properPrimaryColor = getProperPrimaryColor()
arrayListOf(shutter_label, startup_label, saving_label).forEach {
it.setTextColor(properPrimaryColor)
}
}
private fun setupPurchaseThankYou() {
settings_purchase_thank_you_holder.beGoneIf(isOrWasThankYouInstalled())
// make sure the corners at ripple fit the stroke rounded corners
if (settings_purchase_thank_you_holder.isGone()) {
settings_use_english_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
}
settings_purchase_thank_you_holder.setOnClickListener {
launchPurchaseThankYouIntent()
}
@ -80,6 +99,11 @@ class SettingsActivity : SimpleActivity() {
private fun setupUseEnglish() {
settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en")
settings_use_english.isChecked = config.useEnglish
if (settings_use_english_holder.isGone() && settings_purchase_thank_you_holder.isGone()) {
settings_keep_settings_visible_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
}
settings_use_english_holder.setOnClickListener {
settings_use_english.toggle()
config.useEnglish = settings_use_english.isChecked
@ -197,7 +221,8 @@ class SettingsActivity : SimpleActivity() {
RadioItem(65, "65%"),
RadioItem(60, "60%"),
RadioItem(55, "55%"),
RadioItem(50, "50%"))
RadioItem(50, "50%")
)
RadioGroupDialog(this@SettingsActivity, items, config.photoQuality) {
config.photoQuality = it as Int

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/settings_scrollview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@ -11,347 +11,308 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/settings_purchase_thank_you_holder"
<TextView
android:id="@+id/settings_color_customization_label"
style="@style/SettingsSectionLabelStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:text="@string/color_customization" />
<LinearLayout
android:id="@+id/settings_color_customization_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/medium_margin"
android:background="@drawable/section_holder_stroke"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/settings_customize_colors_holder"
style="@style/SettingsHolderTextViewOneLinerStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ripple_all_corners">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_customize_colors_label"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/customize_colors" />
</RelativeLayout>
</LinearLayout>
<TextView
android:id="@+id/settings_general_settings_label"
style="@style/SettingsSectionLabelStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/general_settings" />
<LinearLayout
android:id="@+id/settings_general_settings_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/medium_margin"
android:background="@drawable/section_holder_stroke"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/settings_purchase_thank_you_holder"
style="@style/SettingsHolderTextViewOneLinerStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_purchase_thank_you"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingStart="@dimen/medium_margin"
android:text="@string/purchase_simple_thank_you" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_customize_colors_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_customize_colors_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:paddingStart="@dimen/medium_margin"
android:text="@string/customize_colors" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_use_english_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_use_english"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/use_english_language"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/use_english_language" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_keep_settings_visible_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_keep_settings_visible"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/keep_settings_visible"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/keep_settings_visible" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_focus_before_capture_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_bottom_corners">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_focus_before_capture"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/focus_before_capture"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/focus_before_capture" />
</RelativeLayout>
</LinearLayout>
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/shutter_label"
android:layout_width="wrap_content"
<TextView
android:id="@+id/settings_shutter_label"
style="@style/SettingsSectionLabelStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/bigger_margin"
android:layout_marginTop="@dimen/section_margin"
android:text="@string/shutter"
android:textAllCaps="true"
android:textSize="@dimen/smaller_text_size" />
android:text="@string/shutter" />
<LinearLayout
android:id="@+id/settings_shutter_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/medium_margin"
android:background="@drawable/section_holder_stroke"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/settings_sound_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_sound"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/shutter_sound"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/shutter_sound" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_volume_buttons_as_shutter_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_bottom_corners">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_volume_buttons_as_shutter"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/volume_buttons_as_shutter"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/volume_buttons_as_shutter" />
</RelativeLayout>
</LinearLayout>
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/startup_label"
android:layout_width="wrap_content"
<TextView
android:id="@+id/settings_startup_label"
style="@style/SettingsSectionLabelStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/bigger_margin"
android:layout_marginTop="@dimen/section_margin"
android:text="@string/startup"
android:textAllCaps="true"
android:textSize="@dimen/smaller_text_size" />
android:text="@string/startup" />
<LinearLayout
android:id="@+id/settings_startup_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/medium_margin"
android:background="@drawable/section_holder_stroke"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/settings_turn_flash_off_at_startup_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_turn_flash_off_at_startup"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/turn_flash_off_at_startup"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/turn_flash_off_at_startup" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_always_open_back_camera_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_bottom_corners">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_always_open_back_camera"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/always_open_back_camera"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/always_open_back_camera" />
</RelativeLayout>
</LinearLayout>
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/saving_label"
android:layout_width="wrap_content"
<TextView
android:id="@+id/settings_saving_label"
style="@style/SettingsSectionLabelStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/bigger_margin"
android:layout_marginTop="@dimen/section_margin"
android:text="@string/saving_label"
android:textAllCaps="true"
android:textSize="@dimen/smaller_text_size" />
android:text="@string/saving_label" />
<LinearLayout
android:id="@+id/settings_saving_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/medium_margin"
android:background="@drawable/section_holder_stroke"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/settings_save_photo_metadata_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_save_photo_metadata"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/save_photo_metadata"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/save_photo_metadata" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_flip_photos_holder"
style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/activity_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/activity_margin">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MySwitchCompat
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_flip_photos"
style="@style/SettingsCheckboxStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingStart="@dimen/medium_margin"
android:text="@string/flip_front_camera_photos_horizontally"
app:switchPadding="@dimen/medium_margin" />
android:text="@string/flip_front_camera_photos_horizontally" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_save_photos_holder"
style="@style/SettingsHolderTextViewStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/bigger_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/bigger_margin">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_save_photos_label"
android:layout_width="match_parent"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/settings_save_photos"
android:paddingLeft="@dimen/medium_margin"
android:paddingRight="@dimen/medium_margin"
android:text="@string/save_photos" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_save_photos"
android:layout_width="wrap_content"
style="@style/SettingsTextValueStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/small_margin"
android:background="@null"
android:clickable="false" />
android:layout_below="@+id/settings_save_photos_label"
tools:text="Internal/DCIM" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_photo_quality_holder"
style="@style/SettingsHolderTextViewStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:paddingLeft="@dimen/normal_margin"
android:paddingTop="@dimen/bigger_margin"
android:paddingRight="@dimen/normal_margin"
android:paddingBottom="@dimen/bigger_margin">
android:background="@drawable/ripple_bottom_corners">
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_photo_quality_label"
android:layout_width="match_parent"
style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toStartOf="@+id/settings_photo_quality"
android:paddingLeft="@dimen/medium_margin"
android:paddingRight="@dimen/medium_margin"
android:text="@string/photo_compression_quality" />
<com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_photo_quality"
android:layout_width="wrap_content"
style="@style/SettingsTextValueStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/small_margin"
android:background="@null"
android:clickable="false" />
android:layout_below="@+id/settings_photo_quality_label"
tools:text="80%" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>