From d0e4b9994a5cea177f8e7fb4cd504ae87d567dbc Mon Sep 17 00:00:00 2001 From: Fox2Code Date: Fri, 3 Jun 2022 14:39:43 +0200 Subject: [PATCH] Fix language picker language switch. --- .../main/java/com/fox2code/mmm/Constants.java | 2 +- .../fox2code/mmm/compat/CompatActivity.java | 17 +++++---------- .../mmm/settings/SettingsActivity.java | 21 ++++++++++++++++++- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/fox2code/mmm/Constants.java b/app/src/main/java/com/fox2code/mmm/Constants.java index d1d1dff..4696471 100644 --- a/app/src/main/java/com/fox2code/mmm/Constants.java +++ b/app/src/main/java/com/fox2code/mmm/Constants.java @@ -26,7 +26,7 @@ public class Constants { public static final String EXTRA_MARKDOWN_CHANGE_BOOT = "extra_markdown_change_boot"; public static final String EXTRA_MARKDOWN_NEEDS_RAMDISK = "extra_markdown_needs_ramdisk"; public static final String EXTRA_MARKDOWN_MIN_MAGISK = "extra_markdown_min_magisk"; - public static final String EXTRA_MARKDOWN_MIN_API= "extra_markdown_min_api"; + public static final String EXTRA_MARKDOWN_MIN_API = "extra_markdown_min_api"; public static final String EXTRA_MARKDOWN_MAX_API = "extra_markdown_max_api"; public static final String EXTRA_FADE_OUT = "extra_fade_out"; public static final String EXTRA_FROM_MANAGER = "extra_from_manager"; diff --git a/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java b/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java index d84eb76..35378bc 100644 --- a/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java +++ b/app/src/main/java/com/fox2code/mmm/compat/CompatActivity.java @@ -1,11 +1,11 @@ package com.fox2code.mmm.compat; +import android.annotation.SuppressLint; import android.app.Activity; import android.app.Application; import android.content.Context; import android.content.ContextWrapper; import android.content.Intent; -import android.content.SharedPreferences; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.drawable.Drawable; @@ -37,7 +37,6 @@ import androidx.core.content.ContextCompat; import androidx.core.graphics.ColorUtils; import androidx.core.view.WindowInsetsCompat; import androidx.fragment.app.Fragment; -import androidx.preference.PreferenceManager; import com.fox2code.mmm.Constants; import com.fox2code.mmm.R; @@ -277,8 +276,8 @@ public class CompatActivity extends AppCompatActivity { } } - @Dimension - @Px + @Dimension @Px + @SuppressLint("InternalInsetResource") public int getStatusBarHeight() { int height = WindowInsetsCompat.CONSUMED.getInsets( WindowInsetsCompat.Type.statusBars()).top; @@ -289,6 +288,8 @@ public class CompatActivity extends AppCompatActivity { Resources.getSystem().getDimensionPixelSize(id)); } + @Dimension @Px + @SuppressLint("InternalInsetResource") public int getNavigationBarHeight() { int height = WindowInsetsCompat.CONSUMED.getInsets( WindowInsetsCompat.Type.navigationBars()).bottom; @@ -548,14 +549,6 @@ public class CompatActivity extends AppCompatActivity { return (CompatActivity) context; } - @Override - protected void attachBaseContext(Context newBase) { - SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(newBase); - Locale locale = new Locale(mSharedPreferences.getString("user_preferred_country", "en")); - Context context = CompatWrapper.setLocale(newBase, locale); - super.attachBaseContext(context); - } - public WeakReference asWeakReference() { return this.selfReference; } diff --git a/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java b/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java index 20b97a8..d97d0aa 100644 --- a/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java +++ b/app/src/main/java/com/fox2code/mmm/settings/SettingsActivity.java @@ -1,5 +1,10 @@ package com.fox2code.mmm.settings; +import android.annotation.SuppressLint; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.Intent; import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; @@ -16,6 +21,7 @@ import androidx.preference.TwoStatePreference; import com.fox2code.mmm.AppUpdateManager; import com.fox2code.mmm.BuildConfig; import com.fox2code.mmm.Constants; +import com.fox2code.mmm.MainActivity; import com.fox2code.mmm.MainApplication; import com.fox2code.mmm.OverScrollManager; import com.fox2code.mmm.R; @@ -26,13 +32,14 @@ import com.fox2code.mmm.repo.RepoManager; import com.fox2code.mmm.utils.Http; import com.fox2code.mmm.utils.IntentHelper; +import com.fox2code.rosettax.LanguageActivity; import com.fox2code.rosettax.LanguageSwitcher; import com.mikepenz.aboutlibraries.LibsBuilder; import com.topjohnwu.superuser.internal.UiThreadHandler; import java.util.HashSet; -public class SettingsActivity extends CompatActivity { +public class SettingsActivity extends CompatActivity implements LanguageActivity { private static int devModeStep = 0; @Override @@ -51,6 +58,18 @@ public class SettingsActivity extends CompatActivity { } } + @Override + public void refreshRosettaX() { + Intent mStartActivity = new Intent(this, MainActivity.class); + mStartActivity.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); + int mPendingIntentId = 123456; + @SuppressLint("InlinedApi") PendingIntent mPendingIntent = PendingIntent.getActivity(this, mPendingIntentId, + mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); + AlarmManager mgr = (AlarmManager)this.getSystemService(Context.ALARM_SERVICE); + mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent); + System.exit(0); // Exit app process + } + public static class SettingsFragment extends PreferenceFragmentCompat implements CompatActivity.OnBackPressedCallback { @Override