android/source/build.gradle | 1 android/source/res/values/arrays.xml | 15 -- android/source/res/values/strings.xml | 2 android/source/res/xml/libreoffice_preferences.xml | 9 - android/source/src/java/org/libreoffice/LibreOfficeApplication.java | 5 android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java | 2 android/source/src/java/org/libreoffice/LocaleHelper.java | 57 ---------- android/source/src/java/org/libreoffice/SettingsActivity.java | 28 ++-- android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java | 27 ---- 9 files changed, 19 insertions(+), 127 deletions(-)
New commits: commit 39ed595d608efd852a0239f6cf74f1168981cfc2 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Thu May 16 07:01:35 2024 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Thu May 16 12:13:30 2024 +0200 android: No longer manually set UI language Drop the possibility to manually set a UI language introduced in commit f2e35a695671028b32139df1824ff536e7610d35 Author: Mert Tumer <merttu...@outlook.com> Date: Tue Sep 18 23:29:57 2018 +0300 Added language support on Android Viewer Since commit 5bf2ec9ed8728a2042e110122ea2b0e4ff55104a Author: Michael Weghorn <m.wegh...@posteo.de> Date: Fri Dec 20 10:40:34 2019 +0100 android: Use system locale by default , Android Viewer defaulted to the system language for its UI language as well. In addition, current Android versions allow to set a specific language for apps: [1] The previous approach of manually setting a language in Android Viewer shouldn't really be necessary any more. With the app now being available for translation on Weblate and having been translated to more languages, the list of available languages had become out of sync. Additionally, the manually selected language wasn't consistently applied everywhere: * On the start activity where a document can be selected, it was only applied after closing the app, then opening it again. * in the Settings, the language was not applied at all, that was always using the system locale anyway Changes to the system locale are applied immediately and consistently, so stick to the default Android mechanism and reduce the overall complexity and maintenance burden. [1] https://support.google.com/android/answer/12395118?hl=en Change-Id: Ida61650b888a563f2346ea94a14b260802b1d24d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167718 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/android/source/res/values/arrays.xml b/android/source/res/values/arrays.xml deleted file mode 100644 index 832bca781572..000000000000 --- a/android/source/res/values/arrays.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - <string-array name="SupportedLanguagesValues"> - <item>SYSTEM_DEFAULT_LANGUAGE</item> - <item >de</item> - <item >en</item> - <item >tr</item> - </string-array> - <string-array name="SupportedLanguages"> - <item>(System Default)</item> - <item>Deutsch</item> - <item>English</item> - <item>Turkçe</item> - </string-array> -</resources> diff --git a/android/source/res/values/strings.xml b/android/source/res/values/strings.xml index 3766db146098..36b3cef75a25 100644 --- a/android/source/res/values/strings.xml +++ b/android/source/res/values/strings.xml @@ -140,8 +140,6 @@ <string name="alert_ok">OK</string> <string name="alert_cancel">Cancel</string> <string name="current_uno_command">Current UNO command</string> - <string name="display_language">Display Language</string> - <string name="display_language_summary">Set the default display language</string> <string name="pdf_export_finished">PDF export finished</string> <string name="unable_to_export_pdf">Unable to export to pdf</string> <string name="unable_to_save">Unable to save file</string> diff --git a/android/source/res/xml/libreoffice_preferences.xml b/android/source/res/xml/libreoffice_preferences.xml index 052efacb2e3e..d8ca4dc8c7a7 100644 --- a/android/source/res/xml/libreoffice_preferences.xml +++ b/android/source/res/xml/libreoffice_preferences.xml @@ -4,15 +4,6 @@ android:title="@string/pref_category_general" android:key="PREF_CATEGORY_GENERAL"> - <ListPreference - android:title="@string/display_language" - android:summary="@string/display_language_summary" - android:entries="@array/SupportedLanguages" - android:entryValues="@array/SupportedLanguagesValues" - android:defaultValue="SYSTEM_DEFAULT_LANGUAGE" - android:key="DISPLAY_LANGUAGE" - /> - <CheckBoxPreference android:title="@string/pref_experimental_editing" android:key="ENABLE_EXPERIMENTAL" diff --git a/android/source/src/java/org/libreoffice/LibreOfficeApplication.java b/android/source/src/java/org/libreoffice/LibreOfficeApplication.java index ebe54cf27c64..3b03c83adda9 100644 --- a/android/source/src/java/org/libreoffice/LibreOfficeApplication.java +++ b/android/source/src/java/org/libreoffice/LibreOfficeApplication.java @@ -25,9 +25,4 @@ public class LibreOfficeApplication extends MultiDexApplication { public static Handler getMainHandler() { return mainHandler; } - - @Override - protected void attachBaseContext(Context base) { - super.attachBaseContext(LocaleHelper.onAttach(base)); - } } diff --git a/android/source/src/java/org/libreoffice/LocaleHelper.java b/android/source/src/java/org/libreoffice/LocaleHelper.java deleted file mode 100644 index e3997f913a32..000000000000 --- a/android/source/src/java/org/libreoffice/LocaleHelper.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.libreoffice; - -import android.content.Context; -import android.content.SharedPreferences; -import android.content.res.Configuration; -import android.content.res.Resources; -import androidx.preference.PreferenceManager; - -import java.util.Locale; - -public class LocaleHelper { - - private static final String SELECTED_LANG = "org.libreoffice.selected.lang"; - // value for language that indicates that system's default language should be used - public static final String SYSTEM_DEFAULT_LANGUAGE = "SYSTEM_DEFAULT_LANGUAGE"; - - public static Context onAttach(Context context){ - String lang = getPersistedData(context, Locale.getDefault().getLanguage()); - return setLocale(context, lang); - } - - public static Context setLocale(Context context, String lang) { - persist(context, lang); - return updateResources(context, lang); - } - - @SuppressWarnings("deprecation") - private static Context updateResources(Context context, String lang) { - Locale locale; - if (lang.equals(SYSTEM_DEFAULT_LANGUAGE)) { - locale = Locale.getDefault(); - } else { - locale = new Locale(lang); - } - Locale.setDefault(locale); - - Resources res = context.getResources(); - Configuration cfg = res.getConfiguration(); - cfg.locale = locale; - cfg.setLayoutDirection(locale); - - res.updateConfiguration(cfg, res.getDisplayMetrics()); - return context; - } - - private static void persist(Context context, String lang) { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - preferences.edit().putString(SELECTED_LANG, lang); - preferences.edit().apply(); - } - - private static String getPersistedData(Context context, String lang) { - SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - return preferences.getString(SELECTED_LANG, lang); - } -} diff --git a/android/source/src/java/org/libreoffice/SettingsActivity.java b/android/source/src/java/org/libreoffice/SettingsActivity.java index e9cb403be459..90d3f95459e4 100644 --- a/android/source/src/java/org/libreoffice/SettingsActivity.java +++ b/android/source/src/java/org/libreoffice/SettingsActivity.java @@ -59,9 +59,6 @@ public class SettingsActivity extends FragmentActivity { @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { SettingsListenerModel.getInstance().changePreferenceState(sharedPreferences, key); - if(key.equals("DISPLAY_LANGUAGE")){ - getActivity().recreate(); - } } } } diff --git a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java index e87779df0eae..63eed9d37069 100644 --- a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java +++ b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java @@ -46,16 +46,14 @@ import android.widget.TextView; import org.libreoffice.AboutDialogFragment; import org.libreoffice.BuildConfig; import org.libreoffice.LibreOfficeMainActivity; -import org.libreoffice.LocaleHelper; import org.libreoffice.R; import org.libreoffice.SettingsActivity; -import org.libreoffice.SettingsListenerModel; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class LibreOfficeUIActivity extends AppCompatActivity implements SettingsListenerModel.OnSettingsPreferenceChangedListener, View.OnClickListener{ +public class LibreOfficeUIActivity extends AppCompatActivity implements View.OnClickListener{ public enum DocumentType { WRITER, CALC, @@ -70,7 +68,6 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings private static final String RECENT_DOCUMENTS_KEY = "RECENT_DOCUMENT_URIS"; // delimiter used for storing multiple URIs in a string private static final String RECENT_DOCUMENTS_DELIMITER = " "; - private static final String DISPLAY_LANGUAGE = "DISPLAY_LANGUAGE"; public static final String NEW_DOC_TYPE_KEY = "NEW_DOC_TYPE_KEY"; public static final String NEW_WRITER_STRING_KEY = "private:factory/swriter"; @@ -140,9 +137,6 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - readPreferences(); - SettingsListenerModel.getInstance().setListener(this); - // init UI createUI(); fabOpenAnimation = AnimationUtils.loadAnimation(this, R.anim.fab_open); @@ -160,11 +154,6 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings } } - @Override - protected void attachBaseContext(Context newBase) { - super.attachBaseContext(LocaleHelper.onAttach(newBase)); - } - public void createUI() { setContentView(R.layout.activity_document_browser); @@ -332,17 +321,6 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings return super.onOptionsItemSelected(item); } - public void readPreferences(){ - SharedPreferences defaultPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); - final String displayLanguage = defaultPrefs.getString(DISPLAY_LANGUAGE, LocaleHelper.SYSTEM_DEFAULT_LANGUAGE); - LocaleHelper.setLocale(this, displayLanguage); - } - - @Override - public void settingsPreferenceChanged(SharedPreferences sharedPreferences, String key) { - readPreferences(); - } - @Override protected void onResume() { super.onResume(); commit 567891fdf7912ae173429539bc97c68075c00c1f Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Thu May 16 06:01:12 2024 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Thu May 16 12:13:24 2024 +0200 android: Port Settings{Activity,Fragment} from deprecated API API used in `SettingsActivity` and `SettingsFragment` has been deprecated, e.g. `PreferenceFragment` was deprecated in API level 28 [1]. Port that to non-deprecated API from the androidx.preference library [2]. This addresses these deprecation warnings: /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:14: warning: [deprecation] PreferenceFragment in android.preference has been deprecated import android.preference.PreferenceFragment; ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:15: warning: [deprecation] PreferenceGroup in android.preference has been deprecated /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:23: warning: [deprecation] getFragmentManager() in Activity has been deprecated getFragmentManager().beginTransaction() ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:23: warning: [deprecation] beginTransaction() in FragmentManager has been deprecated getFragmentManager().beginTransaction() ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:24: warning: [deprecation] replace(int,Fragment) in FragmentTransaction has been deprecated .replace(android.R.id.content, new SettingsFragment()) ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:25: warning: [deprecation] commit() in FragmentTransaction has been deprecated .commit(); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:28: warning: [deprecation] PreferenceFragment in android.preference has been deprecated public static class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:28: warning: [deprecation] PreferenceFragment() in PreferenceFragment has been deprecated public static class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:30: warning: [deprecation] onCreate(Bundle) in PreferenceFragment has been deprecated public void onCreate(Bundle savedInstanceState) { ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:31: warning: [deprecation] onCreate(Bundle) in PreferenceFragment has been deprecated super.onCreate(savedInstanceState); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:32: warning: [deprecation] addPreferencesFromResource(int) in PreferenceFragment has been deprecated addPreferencesFromResource(R.xml.libreoffice_preferences); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:34: warning: [deprecation] PreferenceGroup in android.preference has been deprecated PreferenceGroup generalGroup = (PreferenceGroup) findPreference("PREF_CATEGORY_GENERAL"); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:34: warning: [deprecation] PreferenceGroup in android.preference has been deprecated PreferenceGroup generalGroup = (PreferenceGroup) findPreference("PREF_CATEGORY_GENERAL"); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:34: warning: [deprecation] findPreference(CharSequence) in PreferenceFragment has been deprecated PreferenceGroup generalGroup = (PreferenceGroup) findPreference("PREF_CATEGORY_GENERAL"); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:35: warning: [deprecation] findPreference(CharSequence) in PreferenceGroup has been deprecated generalGroup.removePreference(generalGroup.findPreference("ENABLE_EXPERIMENTAL")); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:35: warning: [deprecation] removePreference(Preference) in PreferenceGroup has been deprecated generalGroup.removePreference(generalGroup.findPreference("ENABLE_EXPERIMENTAL")); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:36: warning: [deprecation] findPreference(CharSequence) in PreferenceGroup has been deprecated generalGroup.removePreference(generalGroup.findPreference("ENABLE_DEVELOPER")); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:36: warning: [deprecation] removePreference(Preference) in PreferenceGroup has been deprecated generalGroup.removePreference(generalGroup.findPreference("ENABLE_DEVELOPER")); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:41: warning: [deprecation] onResume() in Fragment has been deprecated public void onResume() { ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:42: warning: [deprecation] onResume() in Fragment has been deprecated super.onResume(); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:43: warning: [deprecation] getPreferenceScreen() in PreferenceFragment has been deprecated getPreferenceScreen().getSharedPreferences() ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:43: warning: [deprecation] getSharedPreferences() in Preference has been deprecated getPreferenceScreen().getSharedPreferences() ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:48: warning: [deprecation] onPause() in Fragment has been deprecated public void onPause() { ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:49: warning: [deprecation] onPause() in Fragment has been deprecated super.onPause(); ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:50: warning: [deprecation] getPreferenceScreen() in PreferenceFragment has been deprecated getPreferenceScreen().getSharedPreferences() ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:50: warning: [deprecation] getSharedPreferences() in Preference has been deprecated getPreferenceScreen().getSharedPreferences() ^ /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/SettingsActivity.java:58: warning: [deprecation] getActivity() in Fragment has been deprecated [1] https://developer.android.com/reference/android/preference/PreferenceFragment [2] https://developer.android.com/reference/androidx/preference/package-summary Change-Id: I3365a487345787056c91fa7addf987edca38e94f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167717 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/android/source/src/java/org/libreoffice/SettingsActivity.java b/android/source/src/java/org/libreoffice/SettingsActivity.java index 5623abc2e597..e9cb403be459 100644 --- a/android/source/src/java/org/libreoffice/SettingsActivity.java +++ b/android/source/src/java/org/libreoffice/SettingsActivity.java @@ -8,30 +8,35 @@ */ package org.libreoffice; -import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; -import android.preference.PreferenceFragment; -import android.preference.PreferenceGroup; +import androidx.fragment.app.FragmentActivity; +import androidx.preference.PreferenceFragmentCompat; +import androidx.preference.PreferenceGroup; -public class SettingsActivity extends Activity { +public class SettingsActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. - getFragmentManager().beginTransaction() + getSupportFragmentManager().beginTransaction() .replace(android.R.id.content, new SettingsFragment()) .commit(); } - public static class SettingsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { + public static class SettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { + + @Override + public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { + setPreferencesFromResource(R.xml.libreoffice_preferences, rootKey); + } + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.libreoffice_preferences); if(!BuildConfig.ALLOW_EDITING) { - PreferenceGroup generalGroup = (PreferenceGroup) findPreference("PREF_CATEGORY_GENERAL"); + PreferenceGroup generalGroup = findPreference("PREF_CATEGORY_GENERAL"); generalGroup.removePreference(generalGroup.findPreference("ENABLE_EXPERIMENTAL")); generalGroup.removePreference(generalGroup.findPreference("ENABLE_DEVELOPER")); } @@ -41,14 +46,14 @@ public class SettingsActivity extends Activity { public void onResume() { super.onResume(); getPreferenceScreen().getSharedPreferences() - .registerOnSharedPreferenceChangeListener(this); + .registerOnSharedPreferenceChangeListener(this); } @Override public void onPause() { super.onPause(); getPreferenceScreen().getSharedPreferences() - .unregisterOnSharedPreferenceChangeListener(this); + .unregisterOnSharedPreferenceChangeListener(this); } @Override commit 7b0d2829fe691e013486578b6e93cf94ceb0cd36 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Thu May 16 05:26:48 2024 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Thu May 16 12:13:18 2024 +0200 android: Port to non-deprecated androidx PreferenceManager The `android.preference.PreferenceManager` class was deprecated in API level 29 [1]. Port to `androidx.preference.PreferenceManager` from the AndroidX Preference library instead. All that needs to be done for this is to add the new library dependency and adjust the import, no further code changes needed for this step. (There are uses of more deprecated preferences-related classes, though. Those will have to be dealt with separately.) This addresses depreaction warnings like > Task :compileStrippedUIEditingDebugJavaWithJavac /home/michi/development/git/libreoffice-WORKTREE-android/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java:16: warning: [deprecation] PreferenceManager in android.preference has been deprecated import android.preference.PreferenceManager; ^ [1] https://developer.android.com/reference/android/preference/PreferenceManager Change-Id: Ied168ffbd0591d69e0797e2a0a5bab067e133d22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167716 Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> Tested-by: Jenkins diff --git a/android/source/build.gradle b/android/source/build.gradle index 7012c275aa33..6428a0ffcfda 100644 --- a/android/source/build.gradle +++ b/android/source/build.gradle @@ -35,6 +35,7 @@ dependencies { implementation 'com.google.android.material:material:1.12.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation "androidx.multidex:multidex:2.0.1" + implementation 'androidx.preference:preference:1.2.1' } android { diff --git a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java index cf60ff37c5da..1b0b3915c349 100644 --- a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -13,13 +13,13 @@ import android.graphics.RectF; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.preference.PreferenceManager; import android.provider.DocumentsContract; import com.google.android.material.bottomsheet.BottomSheetBehavior; import com.google.android.material.snackbar.Snackbar; import androidx.drawerlayout.widget.DrawerLayout; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; +import androidx.preference.PreferenceManager; import android.text.InputType; import android.util.Log; import android.view.KeyEvent; diff --git a/android/source/src/java/org/libreoffice/LocaleHelper.java b/android/source/src/java/org/libreoffice/LocaleHelper.java index a87c63f09990..e3997f913a32 100644 --- a/android/source/src/java/org/libreoffice/LocaleHelper.java +++ b/android/source/src/java/org/libreoffice/LocaleHelper.java @@ -4,8 +4,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.res.Configuration; import android.content.res.Resources; -import android.os.Build; -import android.preference.PreferenceManager; +import androidx.preference.PreferenceManager; import java.util.Locale; diff --git a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java index bc5203d9c6eb..e87779df0eae 100644 --- a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java +++ b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java @@ -20,9 +20,7 @@ import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; import android.graphics.drawable.Icon; import android.net.Uri; -import android.os.Build; import android.os.Bundle; -import android.preference.PreferenceManager; import com.google.android.material.floatingactionbutton.FloatingActionButton; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; @@ -31,6 +29,7 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import androidx.preference.PreferenceManager; import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.util.Log;