updating the settings ui

This commit is contained in:
tibbi
2022-12-31 10:29:56 +01:00
parent c4647f6911
commit 1eac851aa5
3 changed files with 224 additions and 300 deletions

View File

@ -18,9 +18,13 @@ import java.util.*
import kotlin.system.exitProcess import kotlin.system.exitProcess
class SettingsActivity : SimpleActivity() { class SettingsActivity : SimpleActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
isMaterialActivity = true
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings) setContentView(R.layout.activity_settings)
updateMaterialActivityViews(settings_coordinator, settings_holder, true)
setupMaterialScrollListener(settings_nested_scrollview, settings_toolbar)
} }
override fun onResume() { override fun onResume() {
@ -46,7 +50,7 @@ class SettingsActivity : SimpleActivity() {
updateTextColors(settings_nested_scrollview) updateTextColors(settings_nested_scrollview)
arrayOf( arrayOf(
settings_color_customization_label, settings_color_customization_section_label,
settings_general_settings_label, settings_general_settings_label,
settings_visibility_label, settings_visibility_label,
settings_scrolling_label, settings_scrolling_label,
@ -55,21 +59,10 @@ class SettingsActivity : SimpleActivity() {
).forEach { ).forEach {
it.setTextColor(getProperPrimaryColor()) it.setTextColor(getProperPrimaryColor())
} }
arrayOf(
settings_color_customization_holder,
settings_general_settings_holder,
settings_visibility_holder,
settings_scrolling_holder,
settings_file_operations_holder,
settings_security_holder
).forEach {
it.background.applyColorFilter(getProperBackgroundColor().getContrastColor())
}
} }
private fun setupCustomizeColors() { private fun setupCustomizeColors() {
settings_customize_colors_holder.setOnClickListener { settings_color_customization_holder.setOnClickListener {
startCustomizationActivity() startCustomizationActivity()
} }
} }
@ -87,11 +80,6 @@ class SettingsActivity : SimpleActivity() {
private fun setupLanguage() { private fun setupLanguage() {
settings_language.text = Locale.getDefault().displayLanguage settings_language.text = Locale.getDefault().displayLanguage
settings_language_holder.beVisibleIf(isTiramisuPlus()) settings_language_holder.beVisibleIf(isTiramisuPlus())
if (settings_use_english_holder.isGone() && settings_language_holder.isGone()) {
settings_manage_favorites_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
}
settings_language_holder.setOnClickListener { settings_language_holder.setOnClickListener {
launchChangeAppLanguageIntent() launchChangeAppLanguageIntent()
} }
@ -251,15 +239,6 @@ class SettingsActivity : SimpleActivity() {
private fun setupEnableRootAccess() { private fun setupEnableRootAccess() {
settings_enable_root_access_holder.beVisibleIf(config.isRootAvailable) settings_enable_root_access_holder.beVisibleIf(config.isRootAvailable)
settings_enable_root_access.isChecked = config.enableRootAccess settings_enable_root_access.isChecked = config.enableRootAccess
settings_file_deletion_password_protection_holder.background = resources.getDrawable(
if (settings_enable_root_access_holder.isGone()) {
R.drawable.ripple_bottom_corners
} else {
R.drawable.ripple_background
}, theme
)
settings_enable_root_access_holder.setOnClickListener { settings_enable_root_access_holder.setOnClickListener {
if (!config.enableRootAccess) { if (!config.enableRootAccess) {
RootHelpers(this).askRootIfNeeded { RootHelpers(this).askRootIfNeeded {

View File

@ -6,29 +6,21 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/settings_app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.appbar.MaterialToolbar <com.google.android.material.appbar.MaterialToolbar
android:id="@+id/settings_toolbar" android:id="@+id/settings_toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
android:background="@color/color_primary" android:background="@color/color_primary"
app:layout_scrollFlags="scroll|enterAlways"
app:title="@string/settings" app:title="@string/settings"
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" /> app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:id="@+id/settings_nested_scrollview" android:id="@+id/settings_nested_scrollview"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:fillViewport="true" android:fillViewport="true"
android:scrollbars="none" android:scrollbars="none">
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout <LinearLayout
android:id="@+id/settings_holder" android:id="@+id/settings_holder"
@ -37,36 +29,32 @@
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:id="@+id/settings_color_customization_label" android:id="@+id/settings_color_customization_section_label"
style="@style/SettingsSectionLabelStyle" style="@style/SettingsSectionLabelStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/color_customization" /> android:text="@string/color_customization" />
<LinearLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/settings_color_customization_holder" 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" style="@style/SettingsHolderTextViewOneLinerStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_all_corners">
<com.simplemobiletools.commons.views.MyTextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_customize_colors_label" android:id="@+id/settings_color_customization_label"
style="@style/SettingsTextLabelStyle" style="@style/SettingsTextLabelStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/customize_colors" /> android:text="@string/customize_colors"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</RelativeLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<include
android:id="@+id/settings_color_customization_divider"
layout="@layout/divider" />
<TextView <TextView
android:id="@+id/settings_general_settings_label" android:id="@+id/settings_general_settings_label"
@ -75,20 +63,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/general_settings" /> 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 <RelativeLayout
android:id="@+id/settings_use_english_holder" android:id="@+id/settings_use_english_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_use_english" android:id="@+id/settings_use_english"
@ -103,8 +82,7 @@
android:id="@+id/settings_language_holder" android:id="@+id/settings_language_holder"
style="@style/SettingsHolderTextViewStyle" style="@style/SettingsHolderTextViewStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MyTextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_language_label" android:id="@+id/settings_language_label"
@ -127,8 +105,7 @@
android:id="@+id/settings_manage_favorites_holder" android:id="@+id/settings_manage_favorites_holder"
style="@style/SettingsHolderTextViewOneLinerStyle" style="@style/SettingsHolderTextViewOneLinerStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_manage_favorites" android:id="@+id/settings_manage_favorites"
@ -143,8 +120,7 @@
android:id="@+id/settings_manage_tabs_holder" android:id="@+id/settings_manage_tabs_holder"
style="@style/SettingsHolderTextViewOneLinerStyle" style="@style/SettingsHolderTextViewOneLinerStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_manage_tabs" android:id="@+id/settings_manage_tabs"
@ -159,8 +135,7 @@
android:id="@+id/settings_change_date_time_format_holder" android:id="@+id/settings_change_date_time_format_holder"
style="@style/SettingsHolderTextViewOneLinerStyle" style="@style/SettingsHolderTextViewOneLinerStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_change_date_time_format" android:id="@+id/settings_change_date_time_format"
@ -175,8 +150,7 @@
android:id="@+id/settings_font_size_holder" android:id="@+id/settings_font_size_holder"
style="@style/SettingsHolderTextViewStyle" style="@style/SettingsHolderTextViewStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyTextView <com.simplemobiletools.commons.views.MyTextView
android:id="@+id/settings_font_size_label" android:id="@+id/settings_font_size_label"
@ -199,8 +173,7 @@
android:id="@+id/settings_press_back_twice_holder" android:id="@+id/settings_press_back_twice_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_bottom_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_press_back_twice" android:id="@+id/settings_press_back_twice"
@ -210,7 +183,10 @@
android:text="@string/press_back_twice" /> android:text="@string/press_back_twice" />
</RelativeLayout> </RelativeLayout>
</LinearLayout>
<include
android:id="@+id/settings_general_settings_divider"
layout="@layout/divider" />
<TextView <TextView
android:id="@+id/settings_visibility_label" android:id="@+id/settings_visibility_label"
@ -219,20 +195,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/visibility" /> android:text="@string/visibility" />
<LinearLayout
android:id="@+id/settings_visibility_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 <RelativeLayout
android:id="@+id/settings_show_hidden_holder" android:id="@+id/settings_show_hidden_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_all_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_show_hidden" android:id="@+id/settings_show_hidden"
@ -242,7 +209,10 @@
android:text="@string/show_hidden_items" /> android:text="@string/show_hidden_items" />
</RelativeLayout> </RelativeLayout>
</LinearLayout>
<include
android:id="@+id/settings_visibility_divider"
layout="@layout/divider" />
<TextView <TextView
android:id="@+id/settings_scrolling_label" android:id="@+id/settings_scrolling_label"
@ -251,20 +221,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/scrolling" /> android:text="@string/scrolling" />
<LinearLayout
android:id="@+id/settings_scrolling_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 <RelativeLayout
android:id="@+id/settings_enable_pull_to_refresh_holder" android:id="@+id/settings_enable_pull_to_refresh_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_all_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_enable_pull_to_refresh" android:id="@+id/settings_enable_pull_to_refresh"
@ -274,7 +235,10 @@
android:text="@string/enable_pull_to_refresh" /> android:text="@string/enable_pull_to_refresh" />
</RelativeLayout> </RelativeLayout>
</LinearLayout>
<include
android:id="@+id/settings_scrolling_divider"
layout="@layout/divider" />
<TextView <TextView
android:id="@+id/settings_file_operations_label" android:id="@+id/settings_file_operations_label"
@ -283,20 +247,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/file_operations" /> android:text="@string/file_operations" />
<LinearLayout
android:id="@+id/settings_file_operations_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 <RelativeLayout
android:id="@+id/settings_keep_last_modified_holder" android:id="@+id/settings_keep_last_modified_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_keep_last_modified" android:id="@+id/settings_keep_last_modified"
@ -311,8 +266,7 @@
android:id="@+id/settings_skip_delete_confirmation_holder" android:id="@+id/settings_skip_delete_confirmation_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_bottom_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_skip_delete_confirmation" android:id="@+id/settings_skip_delete_confirmation"
@ -322,7 +276,10 @@
android:text="@string/skip_delete_confirmation" /> android:text="@string/skip_delete_confirmation" />
</RelativeLayout> </RelativeLayout>
</LinearLayout>
<include
android:id="@+id/settings_file_operations_divider"
layout="@layout/divider" />
<TextView <TextView
android:id="@+id/settings_security_label" android:id="@+id/settings_security_label"
@ -331,20 +288,11 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/security" /> android:text="@string/security" />
<LinearLayout
android:id="@+id/settings_security_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 <RelativeLayout
android:id="@+id/settings_password_protection_holder" android:id="@+id/settings_password_protection_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_top_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_password_protection" android:id="@+id/settings_password_protection"
@ -359,8 +307,7 @@
android:id="@+id/settings_app_password_protection_holder" android:id="@+id/settings_app_password_protection_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_app_password_protection" android:id="@+id/settings_app_password_protection"
@ -375,8 +322,7 @@
android:id="@+id/settings_file_deletion_password_protection_holder" android:id="@+id/settings_file_deletion_password_protection_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_background">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_file_deletion_password_protection" android:id="@+id/settings_file_deletion_password_protection"
@ -391,8 +337,7 @@
android:id="@+id/settings_enable_root_access_holder" android:id="@+id/settings_enable_root_access_holder"
style="@style/SettingsHolderCheckboxStyle" style="@style/SettingsHolderCheckboxStyle"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:background="@drawable/ripple_bottom_corners">
<com.simplemobiletools.commons.views.MyAppCompatCheckbox <com.simplemobiletools.commons.views.MyAppCompatCheckbox
android:id="@+id/settings_enable_root_access" android:id="@+id/settings_enable_root_access"
@ -403,6 +348,5 @@
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -15,7 +15,8 @@
android:id="@+id/item_holder" android:id="@+id/item_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingEnd="@dimen/activity_margin"> android:paddingStart="@dimen/small_margin"
android:paddingEnd="@dimen/bigger_margin">
<ImageView <ImageView
android:id="@+id/item_icon" android:id="@+id/item_icon"