Skip to content

Commit

Permalink
Deprecate LocaleUtil in favour of built in locale management in appco…
Browse files Browse the repository at this point in the history
…mpat
  • Loading branch information
wax911 committed Jul 22, 2022
1 parent 3378442 commit 95164c7
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 10 deletions.
10 changes: 10 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,16 @@
android:value="androidx.startup"
tools:node="remove" />
</provider>

<service
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
android:enabled="false"
android:exported="false">
<meta-data
android:name="autoStoreLocales"
android:value="true" />
</service>

</application>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@
import com.mxt.anitrend.util.IntentBundleUtil;
import com.mxt.anitrend.util.KeyUtil;
import com.mxt.anitrend.util.NotifyUtil;
import com.mxt.anitrend.util.Settings;
import com.mxt.anitrend.util.locale.LocaleUtil;
import com.mxt.anitrend.util.media.MediaActionUtil;
import com.mxt.anitrend.view.activity.index.MainActivity;
import com.mxt.anitrend.view.activity.index.SearchActivity;
Expand All @@ -56,7 +54,6 @@
* Created by max on 2017/06/09.
* Activity base <M type of data model, P extends CommonPresenter>
*/

public abstract class ActivityBase<M, P extends CommonPresenter> extends AppCompatActivity implements
Observer<M>, CommonPresenter.AbstractPresenter<P>, ResponseCallback,
MaterialSearchView.SearchViewListener, MaterialSearchView.OnQueryTextListener {
Expand Down Expand Up @@ -99,11 +96,6 @@ protected void configureActivity() {
configurationUtil.onCreateAttach(this);
}

@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(LocaleUtil.INSTANCE.onAttach(base, KoinExt.get(Settings.class)));
}

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
TAG = getClass().getSimpleName();
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/com/mxt/anitrend/util/locale/LocaleUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ import java.util.*
*/
object LocaleUtil {

@Deprecated(
message = "We have migrated to androidx.appcompat with multi-locale support",
level = DeprecationLevel.WARNING
)
fun onAttach(context: Context, settings: Settings): Context {
val language = settings.userLanguage ?: Locale.getDefault().language

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ package com.mxt.anitrend.view.activity.base
import android.content.SharedPreferences
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatDelegate
import androidx.appcompat.widget.Toolbar
import androidx.core.os.LocaleListCompat
import androidx.fragment.app.FragmentActivity
import androidx.preference.PreferenceCategory
import androidx.preference.PreferenceFragmentCompat
Expand Down Expand Up @@ -109,10 +111,13 @@ class SettingsActivity : ActivityBase<Nothing, BasePresenter>() {
getString(R.string.pref_key_display_adult_content),
getString(R.string.pref_key_crash_reports),
getString(R.string.pref_key_usage_analytics),
getString(R.string.pref_key_selected_language),
getString(R.string.pref_key_list_view_style)-> {
requireRestartNotice(this)
}
getString(R.string.pref_key_selected_language) -> {
val locales = LocaleListCompat.forLanguageTags(settings.userLanguage)
AppCompatDelegate.setApplicationLocales(locales)
}
getString(R.string.pref_key_startup_page) -> {
if (!settings.isAuthenticated)
NotifyUtil.makeText(this, R.string.info_login_req, Toast.LENGTH_SHORT).show()
Expand All @@ -130,7 +135,6 @@ class SettingsActivity : ActivityBase<Nothing, BasePresenter>() {
scheduler.scheduleNotificationJob(applicationContext)
scheduler.scheduleGenreJob(applicationContext)
scheduler.scheduleTagJob(applicationContext)

}
getString(R.string.pref_key_new_message_notifications) -> {
if (settings.isNotificationEnabled)
Expand Down
6 changes: 6 additions & 0 deletions buildSrc/src/main/java/com/mxt/anitrend/buildsrc/Libraries.kt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,12 @@ object Libraries {
const val activityKtx = "androidx.activity:activity-ktx:$version"
}

object AppCompat {
private const val version = "1.6.0-alpha05"
const val appcompat = "androidx.appcompat:appcompat:$version"
const val appcompatResources = "androidx.appcompat:appcompat-resources:$version"
}

object Collection {
private const val version = "1.2.0"
const val collection = "androidx.collection:collection:$version"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ internal fun Project.configureDependencies() {
dependencies.implementation(Libraries.AndroidX.Collection.collectionKtx)

dependencies.implementation(Libraries.AndroidX.Core.coreKtx)
dependencies.implementation(Libraries.AndroidX.AppCompat.appcompat)
dependencies.implementation(Libraries.AndroidX.AppCompat.appcompatResources)
dependencies.implementation(Libraries.AndroidX.Activity.activityKtx)
dependencies.implementation(Libraries.AndroidX.Fragment.fragmentKtx)
dependencies.implementation(Libraries.AndroidX.Preference.preferenceKtx)
Expand Down

0 comments on commit 95164c7

Please sign in to comment.