mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-05-14 14:02:44 +00:00
add version upgrade function
This commit is contained in:
parent
7f1a7d9007
commit
b3a56bec10
4 changed files with 39 additions and 5 deletions
|
@ -40,6 +40,7 @@
|
|||
android:protectionLevel="signature" />
|
||||
|
||||
<application android:label="@string/english_ime_name"
|
||||
android:name="org.dslul.openboard.inputmethod.latin.App"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
package org.dslul.openboard.inputmethod.latin
|
||||
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import org.dslul.openboard.inputmethod.latin.settings.Settings
|
||||
import org.dslul.openboard.inputmethod.latin.settings.USER_DICTIONARY_SUFFIX
|
||||
import org.dslul.openboard.inputmethod.latin.utils.DeviceProtectedUtils
|
||||
import org.dslul.openboard.inputmethod.latin.utils.DictionaryInfoUtils
|
||||
import org.dslul.openboard.inputmethod.latin.utils.upgradeToolbarPref
|
||||
|
||||
class App : Application() {
|
||||
override fun onCreate() {
|
||||
super.onCreate()
|
||||
checkVersionUpgrade(this)
|
||||
}
|
||||
}
|
||||
|
||||
fun checkVersionUpgrade(context: Context) {
|
||||
val prefs = DeviceProtectedUtils.getSharedPreferences(context)
|
||||
if (prefs.getInt(Settings.PREF_VERSION_CODE, 0) == BuildConfig.VERSION_CODE)
|
||||
return
|
||||
upgradeToolbarPref(prefs)
|
||||
// clear extracted dictionaries, in case updated version contains newer ones
|
||||
DictionaryInfoUtils.getCachedDirectoryList(context).forEach {
|
||||
if (!it.isDirectory) return@forEach
|
||||
val files = it.listFiles() ?: return@forEach
|
||||
for (file in files) {
|
||||
if (!file.name.endsWith(USER_DICTIONARY_SUFFIX))
|
||||
file.delete()
|
||||
}
|
||||
}
|
||||
prefs.edit { putInt(Settings.PREF_VERSION_CODE, BuildConfig.VERSION_CODE) }
|
||||
}
|
|
@ -28,6 +28,7 @@ import org.dslul.openboard.inputmethod.latin.AudioAndHapticFeedbackManager
|
|||
import org.dslul.openboard.inputmethod.latin.BuildConfig
|
||||
import org.dslul.openboard.inputmethod.latin.R
|
||||
import org.dslul.openboard.inputmethod.latin.SystemBroadcastReceiver
|
||||
import org.dslul.openboard.inputmethod.latin.checkVersionUpgrade
|
||||
import org.dslul.openboard.inputmethod.latin.common.FileUtils
|
||||
import org.dslul.openboard.inputmethod.latin.common.LocaleUtils.constructLocale
|
||||
import org.dslul.openboard.inputmethod.latin.settings.SeekBarDialogPreference.ValueProxy
|
||||
|
@ -322,6 +323,7 @@ class AdvancedSettingsFragment : SubScreenFragment() {
|
|||
}
|
||||
}
|
||||
}
|
||||
checkVersionUpgrade(requireContext())
|
||||
val newDictBroadcast = Intent(DictionaryPackConstants.NEW_DICTIONARY_INTENT_ACTION)
|
||||
activity?.sendBroadcast(newDictBroadcast)
|
||||
// reload current prefs screen
|
||||
|
|
|
@ -60,7 +60,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
// Settings screens
|
||||
public static final String SCREEN_DEBUG = "screen_debug";
|
||||
public static final String SCREEN_GESTURE = "screen_gesture";
|
||||
// In the same order as xml/prefs.xml
|
||||
|
||||
public static final String PREF_AUTO_CAP = "auto_cap";
|
||||
public static final String PREF_VIBRATE_ON = "vibrate_on";
|
||||
public static final String PREF_SOUND_ON = "sound_on";
|
||||
|
@ -117,7 +117,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
public static final String PREF_ONE_HANDED_GRAVITY_PREFIX = "pref_one_handed_mode_gravity_p_";
|
||||
public static final String PREF_ONE_HANDED_SCALE_PREFIX = "pref_one_handed_mode_scale_p_";
|
||||
|
||||
|
||||
public static final String PREF_SHOW_NUMBER_ROW = "pref_show_number_row";
|
||||
public static final String PREF_LOCALIZED_NUMBER_ROW = "pref_localized_number_row";
|
||||
|
||||
|
@ -151,6 +150,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
public static final String PREF_LAST_SHOWN_EMOJI_CATEGORY_PAGE_ID = "last_shown_emoji_category_page_id";
|
||||
|
||||
public static final String PREF_PINNED_CLIPS = "pinned_clips";
|
||||
public static final String PREF_VERSION_CODE = "version_code";
|
||||
// used as a workaround against keyboard not showing edited theme in ColorsSettingsFragment
|
||||
public static final String PREF_FORCE_OPPOSITE_THEME = "force_opposite_theme";
|
||||
public static final String PREF_SHOW_ALL_COLORS = "pref_show_all_colors";
|
||||
|
@ -159,7 +159,6 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
private static final int UNDEFINED_PREFERENCE_VALUE_INT = -1;
|
||||
|
||||
private Context mContext;
|
||||
private Resources mRes;
|
||||
private SharedPreferences mPrefs;
|
||||
private SettingsValues mSettingsValues;
|
||||
private final ReentrantLock mSettingsValuesLock = new ReentrantLock();
|
||||
|
@ -196,10 +195,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
|||
|
||||
private void onCreate(final Context context) {
|
||||
mContext = context;
|
||||
mRes = context.getResources();
|
||||
mPrefs = DeviceProtectedUtils.getSharedPreferences(context);
|
||||
mPrefs.registerOnSharedPreferenceChangeListener(this);
|
||||
ToolbarUtilsKt.upgradeToolbarPref(mPrefs);
|
||||
}
|
||||
|
||||
public void onDestroy() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue