Loading java/src/com/android/inputmethod/latin/settings/Settings.java +27 −14 Original line number Diff line number Diff line Loading @@ -27,12 +27,14 @@ import com.android.inputmethod.latin.AudioAndHapticFeedbackManager; import com.android.inputmethod.latin.InputAttributes; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.utils.AdditionalSubtypeUtils; import com.android.inputmethod.latin.utils.DebugLogUtils; import com.android.inputmethod.latin.utils.LocaleUtils; import com.android.inputmethod.latin.utils.ResourceUtils; import com.android.inputmethod.latin.utils.RunInLocale; import java.util.HashMap; import java.util.Locale; import java.util.concurrent.locks.ReentrantLock; public final class Settings implements SharedPreferences.OnSharedPreferenceChangeListener { private static final String TAG = Settings.class.getSimpleName(); Loading Loading @@ -94,6 +96,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang private Resources mRes; private SharedPreferences mPrefs; private SettingsValues mSettingsValues; private final ReentrantLock mSettingsValuesLock = new ReentrantLock(); private static final Settings sInstance = new Settings(); Loading Loading @@ -121,6 +124,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang @Override public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { mSettingsValuesLock.lock(); try { if (mSettingsValues == null) { // TODO: Introduce a static function to register this class and ensure that // loadSettings must be called before "onSharedPreferenceChanged" is called. Loading @@ -128,9 +133,14 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang return; } loadSettings(mSettingsValues.mLocale, mSettingsValues.mInputAttributes); } finally { mSettingsValuesLock.unlock(); } } public void loadSettings(final Locale locale, final InputAttributes inputAttributes) { mSettingsValuesLock.lock(); try { final SharedPreferences prefs = mPrefs; final RunInLocale<SettingsValues> job = new RunInLocale<SettingsValues>() { @Override Loading @@ -139,6 +149,9 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang } }; mSettingsValues = job.runInLocale(mRes, locale); } finally { mSettingsValuesLock.unlock(); } } // TODO: Remove this method and add proxy method to SettingsValues. Loading Loading
java/src/com/android/inputmethod/latin/settings/Settings.java +27 −14 Original line number Diff line number Diff line Loading @@ -27,12 +27,14 @@ import com.android.inputmethod.latin.AudioAndHapticFeedbackManager; import com.android.inputmethod.latin.InputAttributes; import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.utils.AdditionalSubtypeUtils; import com.android.inputmethod.latin.utils.DebugLogUtils; import com.android.inputmethod.latin.utils.LocaleUtils; import com.android.inputmethod.latin.utils.ResourceUtils; import com.android.inputmethod.latin.utils.RunInLocale; import java.util.HashMap; import java.util.Locale; import java.util.concurrent.locks.ReentrantLock; public final class Settings implements SharedPreferences.OnSharedPreferenceChangeListener { private static final String TAG = Settings.class.getSimpleName(); Loading Loading @@ -94,6 +96,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang private Resources mRes; private SharedPreferences mPrefs; private SettingsValues mSettingsValues; private final ReentrantLock mSettingsValuesLock = new ReentrantLock(); private static final Settings sInstance = new Settings(); Loading Loading @@ -121,6 +124,8 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang @Override public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) { mSettingsValuesLock.lock(); try { if (mSettingsValues == null) { // TODO: Introduce a static function to register this class and ensure that // loadSettings must be called before "onSharedPreferenceChanged" is called. Loading @@ -128,9 +133,14 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang return; } loadSettings(mSettingsValues.mLocale, mSettingsValues.mInputAttributes); } finally { mSettingsValuesLock.unlock(); } } public void loadSettings(final Locale locale, final InputAttributes inputAttributes) { mSettingsValuesLock.lock(); try { final SharedPreferences prefs = mPrefs; final RunInLocale<SettingsValues> job = new RunInLocale<SettingsValues>() { @Override Loading @@ -139,6 +149,9 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang } }; mSettingsValues = job.runInLocale(mRes, locale); } finally { mSettingsValuesLock.unlock(); } } // TODO: Remove this method and add proxy method to SettingsValues. Loading