Skip to content

Commit a3f2cab

Browse files
committed
adding a new option for disabling personalized learning of keyboards on Oreo
1 parent 14c4395 commit a3f2cab

File tree

29 files changed

+128
-59
lines changed

29 files changed

+128
-59
lines changed

app/src/main/kotlin/com/simplemobiletools/notes/activities/SettingsActivity.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.os.Bundle
66
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
77
import com.simplemobiletools.commons.extensions.*
88
import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS
9+
import com.simplemobiletools.commons.helpers.isOreoPlus
910
import com.simplemobiletools.commons.models.RadioItem
1011
import com.simplemobiletools.notes.R
1112
import com.simplemobiletools.notes.extensions.config
@@ -45,6 +46,7 @@ class SettingsActivity : SimpleActivity() {
4546
setupFontSize()
4647
setupGravity()
4748
setupCursorPlacement()
49+
setupPersonalizedLearning()
4850
setupCustomizeWidgetColors()
4951
updateTextColors(settings_scrollview)
5052
setupSectionColors()
@@ -215,4 +217,13 @@ class SettingsActivity : SimpleActivity() {
215217
}
216218
}
217219
}
220+
221+
private fun setupPersonalizedLearning() {
222+
settings_enable_personalized_learning_holder.beVisibleIf(isOreoPlus())
223+
settings_enable_personalized_learning.isChecked = config.enablePersonalizedLearning
224+
settings_enable_personalized_learning_holder.setOnClickListener {
225+
settings_enable_personalized_learning.toggle()
226+
config.enablePersonalizedLearning = settings_enable_personalized_learning.isChecked
227+
}
228+
}
218229
}

app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.simplemobiletools.notes.fragments
22

33
import android.annotation.SuppressLint
44
import android.graphics.Typeface
5+
import android.os.Build
56
import android.os.Bundle
67
import android.text.Editable
78
import android.text.Selection
@@ -13,9 +14,12 @@ import android.view.Gravity
1314
import android.view.LayoutInflater
1415
import android.view.View
1516
import android.view.ViewGroup
17+
import android.view.inputmethod.EditorInfo
18+
import androidx.annotation.RequiresApi
1619
import com.simplemobiletools.commons.extensions.beGone
1720
import com.simplemobiletools.commons.extensions.beVisible
1821
import com.simplemobiletools.commons.extensions.onGlobalLayout
22+
import com.simplemobiletools.commons.extensions.removeBit
1923
import com.simplemobiletools.notes.R
2024
import com.simplemobiletools.notes.activities.MainActivity
2125
import com.simplemobiletools.notes.extensions.config
@@ -67,6 +71,7 @@ class NoteFragment : androidx.fragment.app.Fragment() {
6771
return view
6872
}
6973

74+
@RequiresApi(Build.VERSION_CODES.O)
7075
override fun onResume() {
7176
super.onResume()
7277

@@ -88,12 +93,17 @@ class NoteFragment : androidx.fragment.app.Fragment() {
8893
setText(fileContents)
8994
}
9095
skipTextUpdating = false
96+
setSelection(if (config.placeCursorToEnd) text.length else 0)
97+
}
9198

92-
if (config.showKeyboard) {
93-
requestFocus()
94-
}
99+
if (config.showKeyboard) {
100+
requestFocus()
101+
}
95102

96-
setSelection(if (config.placeCursorToEnd) text.length else 0)
103+
imeOptions = if (config.enablePersonalizedLearning) {
104+
imeOptions or EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING
105+
} else {
106+
imeOptions.removeBit(EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING)
97107
}
98108
}
99109

app/src/main/kotlin/com/simplemobiletools/notes/helpers/Config.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,4 +68,8 @@ class Config(context: Context) : BaseConfig(context) {
6868
var lastUsedSavePath: String
6969
get() = prefs.getString(LAST_USED_SAVE_PATH, Environment.getExternalStorageDirectory().toString())
7070
set(lastUsedSavePath) = prefs.edit().putString(LAST_USED_SAVE_PATH, lastUsedSavePath).apply()
71+
72+
var enablePersonalizedLearning: Boolean
73+
get() = prefs.getBoolean(ENABLE_PERSONALIZED_LEARNING, true)
74+
set(enablePersonalizedLearning) = prefs.edit().putBoolean(ENABLE_PERSONALIZED_LEARNING, enablePersonalizedLearning).apply()
7175
}

app/src/main/kotlin/com/simplemobiletools/notes/helpers/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const val CURSOR_PLACEMENT = "cursor_placement"
1919
const val LAST_USED_EXTENSION = "last_used_extension"
2020
const val LAST_USED_SAVE_PATH = "last_used_save_path"
2121
const val ENABLE_LINE_WRAP = "enable_line_wrap"
22+
const val ENABLE_PERSONALIZED_LEARNING = "enable_personalized_learning"
2223

2324
// gravity
2425
const val GRAVITY_LEFT = 0

0 commit comments

Comments
 (0)