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" />
|
android:protectionLevel="signature" />
|
||||||
|
|
||||||
<application android:label="@string/english_ime_name"
|
<application android:label="@string/english_ime_name"
|
||||||
|
android:name="org.dslul.openboard.inputmethod.latin.App"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
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.BuildConfig
|
||||||
import org.dslul.openboard.inputmethod.latin.R
|
import org.dslul.openboard.inputmethod.latin.R
|
||||||
import org.dslul.openboard.inputmethod.latin.SystemBroadcastReceiver
|
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.FileUtils
|
||||||
import org.dslul.openboard.inputmethod.latin.common.LocaleUtils.constructLocale
|
import org.dslul.openboard.inputmethod.latin.common.LocaleUtils.constructLocale
|
||||||
import org.dslul.openboard.inputmethod.latin.settings.SeekBarDialogPreference.ValueProxy
|
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)
|
val newDictBroadcast = Intent(DictionaryPackConstants.NEW_DICTIONARY_INTENT_ACTION)
|
||||||
activity?.sendBroadcast(newDictBroadcast)
|
activity?.sendBroadcast(newDictBroadcast)
|
||||||
// reload current prefs screen
|
// reload current prefs screen
|
||||||
|
|
|
@ -60,7 +60,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
||||||
// Settings screens
|
// Settings screens
|
||||||
public static final String SCREEN_DEBUG = "screen_debug";
|
public static final String SCREEN_DEBUG = "screen_debug";
|
||||||
public static final String SCREEN_GESTURE = "screen_gesture";
|
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_AUTO_CAP = "auto_cap";
|
||||||
public static final String PREF_VIBRATE_ON = "vibrate_on";
|
public static final String PREF_VIBRATE_ON = "vibrate_on";
|
||||||
public static final String PREF_SOUND_ON = "sound_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_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_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_SHOW_NUMBER_ROW = "pref_show_number_row";
|
||||||
public static final String PREF_LOCALIZED_NUMBER_ROW = "pref_localized_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_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_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
|
// 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_FORCE_OPPOSITE_THEME = "force_opposite_theme";
|
||||||
public static final String PREF_SHOW_ALL_COLORS = "pref_show_all_colors";
|
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 static final int UNDEFINED_PREFERENCE_VALUE_INT = -1;
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private Resources mRes;
|
|
||||||
private SharedPreferences mPrefs;
|
private SharedPreferences mPrefs;
|
||||||
private SettingsValues mSettingsValues;
|
private SettingsValues mSettingsValues;
|
||||||
private final ReentrantLock mSettingsValuesLock = new ReentrantLock();
|
private final ReentrantLock mSettingsValuesLock = new ReentrantLock();
|
||||||
|
@ -196,10 +195,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
|
||||||
|
|
||||||
private void onCreate(final Context context) {
|
private void onCreate(final Context context) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mRes = context.getResources();
|
|
||||||
mPrefs = DeviceProtectedUtils.getSharedPreferences(context);
|
mPrefs = DeviceProtectedUtils.getSharedPreferences(context);
|
||||||
mPrefs.registerOnSharedPreferenceChangeListener(this);
|
mPrefs.registerOnSharedPreferenceChangeListener(this);
|
||||||
ToolbarUtilsKt.upgradeToolbarPref(mPrefs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue