diff --git a/app/build.gradle b/app/build.gradle index c9cef112..b1f9620d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,7 +56,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:5079455be9' + implementation 'com.github.SimpleMobileTools:Simple-Commons:f86699e092' implementation 'androidx.constraintlayout:constraintlayout:2.1.1' implementation 'androidx.documentfile:documentfile:1.0.1' diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt index aadd3dac..56db0889 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/MainActivity.kt @@ -266,7 +266,7 @@ class MainActivity : SimpleActivity() { } } - private fun isCurrentItemChecklist() = mAdapter?.isChecklistFragment(view_pager.currentItem) ?: false + private fun isCurrentItemChecklist() = if (this::mCurrentNote.isInitialized) mCurrentNote.type == NoteType.TYPE_CHECKLIST.value else false private fun checkIntents(intent: Intent) { intent.apply { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt index c80d712b..23d82fe5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt @@ -4,10 +4,7 @@ import android.content.Intent import android.os.Bundle import android.view.Menu import com.simplemobiletools.commons.dialogs.RadioGroupDialog -import com.simplemobiletools.commons.extensions.beGone -import com.simplemobiletools.commons.extensions.beVisibleIf -import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor -import com.simplemobiletools.commons.extensions.updateTextColors +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.helpers.isOreoPlus @@ -46,9 +43,27 @@ class SettingsActivity : SimpleActivity() { setupIncognitoMode() setupCustomizeWidgetColors() updateTextColors(settings_scrollview) - setupSectionColors() - setupAddNewChecklistItemsTop() invalidateOptionsMenu() + + arrayOf( + settings_color_customization_label, + settings_general_settings_label, + settings_text_label, + settings_startup_label, + settings_saving_label + ).forEach { + it.setTextColor(getAdjustedPrimaryColor()) + } + + arrayOf( + settings_color_customization_holder, + settings_general_settings_holder, + settings_text_holder, + settings_startup_holder, + settings_saving_holder + ).forEach { + it.background.applyColorFilter(baseConfig.backgroundColor.getContrastColor()) + } } override fun onCreateOptionsMenu(menu: Menu): Boolean { @@ -56,13 +71,6 @@ class SettingsActivity : SimpleActivity() { return super.onCreateOptionsMenu(menu) } - private fun setupSectionColors() { - val adjustedPrimaryColor = getAdjustedPrimaryColor() - arrayListOf(text_label, startup_label, saving_label, widgets_label).forEach { - it.setTextColor(adjustedPrimaryColor) - } - } - private fun setupCustomizeColors() { settings_customize_colors_holder.setOnClickListener { startCustomizationActivity() @@ -72,6 +80,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_font_size_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) + } + settings_use_english_holder.setOnClickListener { settings_use_english.toggle() config.useEnglish = settings_use_english.isChecked @@ -123,6 +136,10 @@ class SettingsActivity : SimpleActivity() { private fun setupShowNotePicker() { NotesHelper(this).getNotes { settings_show_note_picker_holder.beVisibleIf(it.size > 1) + + if (settings_show_note_picker_holder.isGone()) { + settings_show_keyboard_holder.background = resources.getDrawable(R.drawable.ripple_bottom_corners, theme) + } } settings_show_note_picker.isChecked = config.showNotePicker @@ -181,7 +198,8 @@ class SettingsActivity : SimpleActivity() { val items = arrayListOf( RadioItem(GRAVITY_LEFT, getString(R.string.left)), RadioItem(GRAVITY_CENTER, getString(R.string.center)), - RadioItem(GRAVITY_RIGHT, getString(R.string.right))) + RadioItem(GRAVITY_RIGHT, getString(R.string.right)) + ) RadioGroupDialog(this@SettingsActivity, items, config.gravity) { config.gravity = it as Int @@ -191,11 +209,13 @@ class SettingsActivity : SimpleActivity() { } } - private fun getGravityText() = getString(when (config.gravity) { - GRAVITY_LEFT -> R.string.left - GRAVITY_CENTER -> R.string.center - else -> R.string.right - }) + private fun getGravityText() = getString( + when (config.gravity) { + GRAVITY_LEFT -> R.string.left + GRAVITY_CENTER -> R.string.center + else -> R.string.right + } + ) private fun setupCursorPlacement() { settings_cursor_placement.isChecked = config.placeCursorToEnd @@ -230,9 +250,8 @@ class SettingsActivity : SimpleActivity() { if (widgets.size == 1) { widgetToCustomize = widgets.first() } else if (widgets.size > 1) { - arrayListOf(widgets_label, settings_customize_widget_colors_holder).forEach { - it.beGone() - } + settings_customize_widget_colors_holder.beGone() + settings_customize_colors_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme) } } } @@ -245,12 +264,4 @@ class SettingsActivity : SimpleActivity() { config.useIncognitoMode = settings_use_incognito_mode.isChecked } } - - private fun setupAddNewChecklistItemsTop() { - settings_add_checklist_top.isChecked = config.addNewChecklistItemsTop - settings_add_checklist_top_holder.setOnClickListener { - settings_add_checklist_top.toggle() - config.addNewChecklistItemsTop = settings_add_checklist_top.isChecked - } - } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/DeleteNoteDialog.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/DeleteNoteDialog.kt index b176d0f5..5e05e720 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/DeleteNoteDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/DeleteNoteDialog.kt @@ -16,17 +16,20 @@ class DeleteNoteDialog(val activity: SimpleActivity, val note: Note, val callbac val view = activity.layoutInflater.inflate(R.layout.dialog_delete_note, null).apply { if (note.path.isNotEmpty()) { delete_note_checkbox.text = String.format(activity.getString(R.string.delete_file_itself), note.path) - delete_note_checkbox.beVisible() + delete_note_checkbox_holder.beVisible() + delete_note_checkbox_holder.setOnClickListener { + delete_note_checkbox.toggle() + } } delete_note_description.text = message } AlertDialog.Builder(activity) - .setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed(view.delete_note_checkbox.isChecked) } - .setNegativeButton(R.string.cancel, null) - .create().apply { - activity.setupDialogStuff(view, this) - } + .setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed(view.delete_note_checkbox.isChecked) } + .setNegativeButton(R.string.cancel, null) + .create().apply { + activity.setupDialogStuff(view, this) + } } private fun dialogConfirmed(deleteFile: Boolean) { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/NewChecklistItemDialog.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/NewChecklistItemDialog.kt index 31d6bbb0..ca34daca 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/NewChecklistItemDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/NewChecklistItemDialog.kt @@ -21,11 +21,14 @@ class NewChecklistItemDialog(val activity: Activity, callback: (titles: ArrayLis init { addNewEditText() - view.add_item.applyColorFilter(activity.getAdjustedPrimaryColor()) - view.add_item.background.applyColorFilter(textColor) - view.add_item.setOnClickListener { - addNewEditText() + view.apply { + add_item.applyColorFilter(activity.getAdjustedPrimaryColor()) + add_item.background.applyColorFilter(textColor) + add_item.setOnClickListener { + addNewEditText() + } } + AlertDialog.Builder(activity) .setPositiveButton(R.string.ok, null) .setNegativeButton(R.string.cancel, null) diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt index f9d0d511..0c2d2de2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt @@ -62,16 +62,15 @@ class ChecklistFragment : NoteFragment(), ChecklistItemsListener { // checklist title can be null only because of the glitch in upgrade to 6.6.0, remove this check in the future items = items.filter { it.title != null }.toMutableList() as ArrayList + val sorting = config?.sorting ?: 0 + if (sorting and SORT_BY_CUSTOM == 0 && config?.moveDoneChecklistItems == true) { + items.sortBy { it.isDone } + } + + setupFragment() } catch (e: Exception) { migrateCheckListOnFailure(storedNote) } - - val sorting = config?.sorting ?: 0 - if (sorting and SORT_BY_CUSTOM == 0 && config?.moveDoneChecklistItems == true) { - items.sortBy { it.isDone } - } - - setupFragment() } } } @@ -147,12 +146,7 @@ class ChecklistFragment : NoteFragment(), ChecklistItemsListener { } } - if (config?.addNewChecklistItemsTop == true) { - items.addAll(0, newItems) - } else { - items.addAll(newItems) - } - + items.addAll(newItems) saveNote() setupAdapter() } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt index 9f3da2ad..fec09284 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Config.kt @@ -89,8 +89,4 @@ class Config(context: Context) : BaseConfig(context) { var fontSizePercentage: Int get() = prefs.getInt(FONT_SIZE_PERCENTAGE, 100) set(fontSizePercentage) = prefs.edit().putInt(FONT_SIZE_PERCENTAGE, fontSizePercentage).apply() - - var addNewChecklistItemsTop: Boolean - get() = prefs.getBoolean(ADD_NEW_CHECKLIST_ITEMS_TOP, false) - set(addNewCheckListItemsTop) = prefs.edit().putBoolean(ADD_NEW_CHECKLIST_ITEMS_TOP, addNewCheckListItemsTop).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt index bf2cc0dc..74bb5393 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/helpers/Constants.kt @@ -32,7 +32,6 @@ const val USE_INCOGNITO_MODE = "use_incognito_mode" const val LAST_CREATED_NOTE_TYPE = "last_created_note_type" const val MOVE_DONE_CHECKLIST_ITEMS = "move_undone_checklist_items" // it has been replaced from moving undone items at the top to moving done to bottom const val FONT_SIZE_PERCENTAGE = "font_size_percentage" -const val ADD_NEW_CHECKLIST_ITEMS_TOP = "add_new_checklist_items_top" // gravity const val GRAVITY_LEFT = 0 diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 5827636a..bf90c33d 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -1,6 +1,6 @@ @@ -11,426 +11,340 @@ android:layout_height="wrap_content" android:orientation="vertical"> - + android:text="@string/color_customization" /> - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_top_corners"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/general_settings" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + + + android:text="@string/text" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + + + android:text="@string/startup" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/saving_label" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + + + + diff --git a/app/src/main/res/layout/dialog_delete_note.xml b/app/src/main/res/layout/dialog_delete_note.xml index 1d484246..f669a63f 100644 --- a/app/src/main/res/layout/dialog_delete_note.xml +++ b/app/src/main/res/layout/dialog_delete_note.xml @@ -1,5 +1,6 @@ + android:textSize="@dimen/bigger_text_size" + tools:text="@string/delete_note_prompt_message" /> - + android:background="?attr/selectableItemBackground" + android:padding="@dimen/activity_margin" + android:visibility="gone"> + + + diff --git a/app/src/main/res/layout/dialog_new_checklist_item.xml b/app/src/main/res/layout/dialog_new_checklist_item.xml index 2206ae88..1c1b242e 100644 --- a/app/src/main/res/layout/dialog_new_checklist_item.xml +++ b/app/src/main/res/layout/dialog_new_checklist_item.xml @@ -33,5 +33,4 @@ android:src="@drawable/ic_plus_vector" /> - diff --git a/app/src/main/res/layout/widget_config.xml b/app/src/main/res/layout/widget_config.xml index 8f97b9de..9148f332 100644 --- a/app/src/main/res/layout/widget_config.xml +++ b/app/src/main/res/layout/widget_config.xml @@ -11,7 +11,6 @@ android:id="@+id/notes_picker_holder" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingStart="@dimen/activity_margin" android:paddingBottom="@dimen/activity_margin"> + android:padding="@dimen/activity_margin"> - @@ -41,6 +39,7 @@ android:layout_below="@+id/show_note_title_holder" android:layout_marginTop="@dimen/medium_margin" android:layout_marginBottom="@dimen/normal_margin" + android:paddingStart="@dimen/activity_margin" android:text="@string/note_shown_widget" /> diff --git a/app/src/main/res/menu/cab_checklist.xml b/app/src/main/res/menu/cab_checklist.xml index b409cb24..49d3bf3e 100644 --- a/app/src/main/res/menu/cab_checklist.xml +++ b/app/src/main/res/menu/cab_checklist.xml @@ -13,7 +13,7 @@ app:showAsAction="always" /> + app:showAsAction="ifRoom" /> + app:showAsAction="ifRoom" /> diff --git a/build.gradle b/build.gradle index 1d186814..9b82dbc6 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.0.2' + classpath 'com.android.tools.build:gradle:7.0.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong