Skip to content

Commit 4c88f24

Browse files
committed
Add shortcut as google language (en_US), added subset of settings to backup
1 parent a3bfa5a commit 4c88f24

File tree

5 files changed

+48
-21
lines changed

5 files changed

+48
-21
lines changed

app/src/main/java/com/fredhappyface/ewesticker/ImageKeyboard.kt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.fredhappyface.ewesticker
22

3+
import android.content.Context
34
import android.content.SharedPreferences
45
import android.inputmethodservice.InputMethodService
56
import android.os.Build
@@ -47,6 +48,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
4748
// onCreate
4849
// Shared Preferences
4950
private lateinit var sharedPreferences: SharedPreferences
51+
private lateinit var backupSharedPreferences: SharedPreferences
5052
private var restoreOnClose = false
5153
private var vertical = false
5254
private var scroll = false
@@ -107,13 +109,14 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
107109
Coil.setImageLoader(imageLoader)
108110
// Shared Preferences
109111
this.sharedPreferences = PreferenceManager.getDefaultSharedPreferences(baseContext)
110-
this.restoreOnClose = this.sharedPreferences.getBoolean("restoreOnClose", false)
111-
this.vertical = this.sharedPreferences.getBoolean("vertical", false)
112-
this.scroll = this.sharedPreferences.getBoolean("scroll", false)
113-
this.vibrate = this.sharedPreferences.getBoolean("vibrate", true)
114-
this.insensitiveSort = this.sharedPreferences.getBoolean("insensitiveSort", false)
115-
116-
this.iconsPerX = this.sharedPreferences.getInt("iconsPerX", 3)
112+
this.backupSharedPreferences = this.getSharedPreferences("backup_prefs", Context.MODE_PRIVATE)
113+
this.restoreOnClose = this.backupSharedPreferences.getBoolean("restoreOnClose", false)
114+
this.vertical = this.backupSharedPreferences.getBoolean("vertical", false)
115+
this.scroll = this.backupSharedPreferences.getBoolean("scroll", false)
116+
this.vibrate = this.backupSharedPreferences.getBoolean("vibrate", true)
117+
this.insensitiveSort = this.backupSharedPreferences.getBoolean("insensitiveSort", false)
118+
119+
this.iconsPerX = this.backupSharedPreferences.getInt("iconsPerX", 3)
117120
this.totalIconPadding =
118121
(resources.getDimension(R.dimen.sticker_padding) * 2 * (this.iconsPerX + 1)).toInt()
119122
// Constants
@@ -123,7 +126,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
123126
if (this.vertical) {
124127
(resources.displayMetrics.widthPixels - this.totalIconPadding) / this.iconsPerX.toFloat()
125128
} else {
126-
(this.sharedPreferences.getInt("iconSize", 80) * scale)
129+
(this.backupSharedPreferences.getInt("iconSize", 80) * scale)
127130
}
128131
).toInt()
129132
this.toaster = Toaster(baseContext)
@@ -419,7 +422,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
419422
private fun createPackIcons() {
420423
this.packsList.removeAllViewsInLayout()
421424
// Back button
422-
if (this.sharedPreferences.getBoolean("showBackButton", true)) {
425+
if (this.backupSharedPreferences.getBoolean("showBackButton", true)) {
423426
val backButton = addPackButton("__back__")
424427
backButton.load(getDrawable(R.drawable.arrow_back_circle))
425428
backButton.setOnClickListener {
@@ -428,7 +431,7 @@ class ImageKeyboard : InputMethodService(), StickerClickListener {
428431
}
429432

430433
// Search
431-
if (this.sharedPreferences.getBoolean("showSearchButton", true)) {
434+
if (this.backupSharedPreferences.getBoolean("showSearchButton", true)) {
432435
val searchButton = addPackButton("__search__")
433436
searchButton.load(getDrawable(R.drawable.search_circle))
434437
searchButton.setOnClickListener {

app/src/main/java/com/fredhappyface/ewesticker/MainActivity.kt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.fredhappyface.ewesticker
22

33
import android.app.Activity
4+
import android.content.Context
45
import android.content.Intent
56
import android.content.SharedPreferences
67
import android.content.pm.PackageManager
@@ -28,6 +29,7 @@ import java.util.Calendar
2829
class MainActivity : AppCompatActivity() {
2930
// onCreate
3031
private lateinit var sharedPreferences: SharedPreferences
32+
private lateinit var backupSharedPreferences: SharedPreferences
3133
private lateinit var contextView: View
3234
private lateinit var toaster: Toaster
3335

@@ -50,6 +52,7 @@ class MainActivity : AppCompatActivity() {
5052

5153
// Set late-init attrs
5254
this.sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
55+
this.backupSharedPreferences = this.getSharedPreferences("backup_prefs", Context.MODE_PRIVATE)
5356
this.contextView = findViewById(R.id.activityMainRoot)
5457
this.toaster = Toaster(baseContext)
5558
refreshStickerDirPath()
@@ -194,12 +197,12 @@ class MainActivity : AppCompatActivity() {
194197
callback: (Boolean) -> Unit,
195198
) {
196199
compoundButton.isChecked =
197-
this.sharedPreferences.getBoolean(sharedPrefKey, sharedPrefDefault)
200+
this.backupSharedPreferences.getBoolean(sharedPrefKey, sharedPrefDefault)
198201
callback(compoundButton.isChecked)
199202
compoundButton.setOnCheckedChangeListener { _: CompoundButton?, isChecked: Boolean ->
200203
showChangedPrefText()
201204
callback(compoundButton.isChecked)
202-
val editor = this.sharedPreferences.edit()
205+
val editor = this.backupSharedPreferences.edit()
203206
editor.putBoolean(sharedPrefKey, isChecked)
204207
editor.apply()
205208
}
@@ -223,9 +226,9 @@ class MainActivity : AppCompatActivity() {
223226
multiplier: Int = 1,
224227
) {
225228
seekBarLabel.text =
226-
this.sharedPreferences.getInt(sharedPrefKey, sharedPrefDefault).toString()
229+
this.backupSharedPreferences.getInt(sharedPrefKey, sharedPrefDefault).toString()
227230
seekBar.progress =
228-
this.sharedPreferences.getInt(sharedPrefKey, sharedPrefDefault) / multiplier
231+
this.backupSharedPreferences.getInt(sharedPrefKey, sharedPrefDefault) / multiplier
229232
seekBar.setOnSeekBarChangeListener(
230233
object : OnSeekBarChangeListener {
231234
var progressMultiplier = sharedPrefDefault
@@ -236,7 +239,7 @@ class MainActivity : AppCompatActivity() {
236239

237240
override fun onStartTrackingTouch(seekBar: SeekBar) {}
238241
override fun onStopTrackingTouch(seekBar: SeekBar) {
239-
val editor = sharedPreferences.edit()
242+
val editor = backupSharedPreferences.edit()
240243
editor.putInt(sharedPrefKey, progressMultiplier)
241244
editor.apply()
242245
showChangedPrefText()

app/src/main/res/xml/data_extraction_rules.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,18 @@
33
See https://developer.android.com/about/versions/12/backup-restore#xml-changes
44
for details.
55
-->
6-
<data-extraction-rules>
6+
<data-extraction-rules>\
77
<cloud-backup>
8-
<!--
8+
<!-- Include the backup SharedPreferences file -->
9+
<include domain="sharedpref" path="backup_prefs.xml"/>
10+
</cloud-backup>
11+
<device-transfer>
12+
<!-- Include the backup SharedPreferences file for device transfer -->
13+
<include domain="sharedpref" path="backup_prefs.xml"/>
14+
</device-transfer>
15+
<!--
16+
<cloud-backup>
17+
918
The domain can be file, database, sharedpref, external or root.
1019
Examples:
1120
@@ -23,8 +32,8 @@
2332
<exclude domain="external" path="file_to_exclude"/>
2433
<include domain="root" path="file_to_include"/>
2534
<exclude domain="root" path="file_to_exclude"/>
26-
-->
2735
</cloud-backup>
36+
-->
2837
<!--
2938
<device-transfer>
3039
<include .../>
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
1-
<!--suppress CheckTagEmptyBody -->
2-
<full-backup-content></full-backup-content>
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<full-backup-content>
3+
<!-- Include specific files or directories -->
4+
<include domain="sharedpref" path="backup_prefs.xml"/>
5+
6+
</full-backup-content>

app/src/main/res/xml/method.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<input-method />
2+
<input-method xmlns:android="http://schemas.android.com/apk/res/android">
3+
<subtype
4+
android:icon="@drawable/ic_launcher_mono"
5+
android:label="@string/app_name"
6+
android:imeSubtypeLocale="en_US"
7+
android:imeSubtypeMode="keyboard"
8+
android:imeSubtypeExtraValue="KeyCharacterMap:Special_Symbols"
9+
/>
10+
</input-method>

0 commit comments

Comments
 (0)