[android] transliteration settings

This commit is contained in:
Roman Romanov 2017-06-05 08:36:16 +04:00
parent 02bc7f892c
commit a94a7f06f0
5 changed files with 62 additions and 7 deletions

View file

@ -102,4 +102,18 @@ extern "C"
frm()->SaveLargeFontsSize(value);
frm()->SetLargeFontsSize(value);
}
JNIEXPORT jboolean JNICALL
Java_com_mapswithme_util_Config_nativeGetTransliteration(JNIEnv * env, jclass thiz)
{
return frm()->LoadTransliteration();
}
JNIEXPORT void JNICALL
Java_com_mapswithme_util_Config_nativeSetTransliteration(JNIEnv * env, jclass thiz,
jboolean value)
{
frm()->SaveTransliteration(value);
frm()->AllowTransliteration(value);
}
} // extern "C"

View file

@ -61,6 +61,7 @@
<string name="pref_settings_general" translatable="false">GeneralSettings</string>
<string name="pref_navigation" translatable="false">Navigation</string>
<string name="pref_information" translatable="false">Information</string>
<string name="pref_transliteration" translatable="false">Transliteration</string>
<string name="notification_ticker_ltr" translatable="false">%1$s: %2$s</string>
<string name="notification_ticker_rtl" translatable="false">%2$s :%1$s</string>

View file

@ -36,11 +36,16 @@
android:title="@string/big_font"
android:defaultValue="false"
android:order="5"/>
<SwitchPreferenceCompat
android:key="@string/pref_transliteration"
android:title="@string/whatsnew_transliteration_title"
android:defaultValue="false"
android:order="6"/>
<android.support.v7.preference.PreferenceScreen
android:key="@string/pref_track_screen"
android:title="@string/pref_track_record_title"
android:persistent="false"
android:order="6">
android:order="7">
<SwitchPreferenceCompat
android:key="@string/pref_track_record_time"
android:title="@string/pref_track_record_title"
@ -62,37 +67,37 @@
android:key="@string/pref_storage"
android:title="@string/maps_storage"
android:summary="@string/maps_storage_summary"
android:order="7"/>
android:order="8"/>
<SwitchPreferenceCompat
android:key="@string/pref_send_statistics"
android:title="@string/allow_statistics"
android:summary="@string/allow_statistics_hint"
android:order="8"/>
android:order="9"/>
<SwitchPreferenceCompat
android:key="@string/pref_play_services"
android:title="Google Play Services"
android:summary="@string/pref_use_google_play"
android:defaultValue="true"
android:order="9"/>
android:order="10"/>
<SwitchPreferenceCompat
android:key="@string/pref_showcase_switched_on"
android:title="@string/showcase_settings_title"
android:defaultValue="true"
android:switchTextOff=""
android:switchTextOn=""
android:order="10"/>
android:order="11"/>
<SwitchPreferenceCompat
android:key="@string/pref_enable_logging"
android:title="Enable logging"
android:defaultValue="false"
android:order="11"/>
android:order="12"/>
<ListPreference
android:key="@string/pref_use_mobile_data"
android:title="@string/mobile_data"
android:summary="@string/mobile_data_option_ask"
android:entries="@array/mobile_data_options"
android:entryValues="@array/mobile_data_options_values"
android:order="12"/>
android:order="13"/>
</android.support.v7.preference.PreferenceCategory>
<android.support.v7.preference.PreferenceCategory

View file

@ -287,6 +287,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
initMapStylePrefsCallbacks();
initAutoDownloadPrefsCallbacks();
initLargeFontSizePrefsCallbacks();
initTransliterationPrefsCallbacks();
init3dModePrefsCallbacks();
initPerspectivePrefsCallbacks();
initTrackRecordPrefsCallbacks();
@ -416,6 +417,28 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
});
}
private void initTransliterationPrefsCallbacks()
{
Preference pref = findPreference(getString(R.string.pref_transliteration));
if (pref == null)
return;
((TwoStatePreference)pref).setChecked(Config.isTransliteration());
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener()
{
@Override
public boolean onPreferenceChange(Preference preference, Object newValue)
{
boolean oldVal = Config.isTransliteration();
boolean newVal = (Boolean) newValue;
if (oldVal != newVal)
Config.setTransliteration(newVal);
return true;
}
});
}
private void initUseMobileDataPrefsCallbacks()
{
final ListPreference mobilePref = (ListPreference)findPreference(

View file

@ -307,6 +307,16 @@ public final class Config
return getBool(KEY_MISC_USE_MOBILE_DATA_ROAMING, false);
}
public static boolean isTransliteration()
{
return nativeGetTransliteration();
}
public static void setTransliteration(boolean value)
{
nativeSetTransliteration(value);
}
private static native boolean nativeGetBoolean(String name, boolean defaultValue);
private static native void nativeSetBoolean(String name, boolean value);
@ -320,4 +330,6 @@ public final class Config
private static native void nativeSetString(String name, String value);
private static native boolean nativeGetLargeFontsSize();
private static native void nativeSetLargeFontsSize(boolean value);
private static native boolean nativeGetTransliteration();
private static native void nativeSetTransliteration(boolean value);
}