Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,11 @@ android {
buildConfig = true
}

// https://developer.android.com/guide/topics/resources/app-languages?hl=en#auto-localeconfig
androidResources {
generateLocaleConfig = true
}

namespace = "com.lagradost.cloudstream3"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.annotation.MainThread
import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import androidx.appcompat.widget.SearchView
import androidx.core.content.ContextCompat
import androidx.core.os.LocaleListCompat
import androidx.core.view.children
import androidx.preference.PreferenceManager
import com.google.android.gms.cast.framework.CastSession
Expand Down Expand Up @@ -206,6 +208,12 @@ object CommonActivity {
Locale.setDefault(locale)
config.setLocale(locale)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
// initial step for android 13+ language per-app support
// https://developer.android.com/guide/topics/resources/app-languages
AppCompatDelegate.setApplicationLocales(LocaleListCompat.create(locale))
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
context.createConfigurationContext(config)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,34 @@ package com.lagradost.cloudstream3.ui.settings

import android.content.Context
import android.net.Uri
import android.os.Build.VERSION
import android.os.Build.VERSION_CODES
import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.os.ConfigurationCompat
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager
import com.fasterxml.jackson.annotation.JsonProperty
import com.lagradost.cloudstream3.APIHolder.allProviders
import com.lagradost.cloudstream3.AcraApplication
import com.lagradost.cloudstream3.AcraApplication.Companion.getKey
import com.lagradost.cloudstream3.AcraApplication.Companion.setKey
import com.lagradost.cloudstream3.APIHolder.allProviders
import com.lagradost.cloudstream3.app
import com.lagradost.cloudstream3.CommonActivity
import com.lagradost.cloudstream3.CommonActivity.showToast
import com.lagradost.cloudstream3.MainActivity
import com.lagradost.cloudstream3.R
import com.lagradost.cloudstream3.app
import com.lagradost.cloudstream3.databinding.AddRemoveSitesBinding
import com.lagradost.cloudstream3.databinding.AddSiteInputBinding
import com.lagradost.cloudstream3.MainActivity
import com.lagradost.cloudstream3.mvvm.logError
import com.lagradost.cloudstream3.mvvm.safe
import com.lagradost.cloudstream3.network.initClient
import com.lagradost.cloudstream3.R
import com.lagradost.cloudstream3.ui.settings.Globals.beneneCount
import com.lagradost.cloudstream3.ui.settings.Globals.EMULATOR
import com.lagradost.cloudstream3.ui.settings.Globals.TV
import com.lagradost.cloudstream3.ui.settings.Globals.beneneCount
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.getPref
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.hideOn
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.setPaddingBottom
Expand All @@ -51,7 +54,12 @@ import java.util.Locale
fun getCurrentLocale(context: Context): String {
val conf = context.resources.configuration

return ConfigurationCompat.getLocales(conf)?.get(0)?.toLanguageTag() ?: "en"
return if (VERSION.SDK_INT >= VERSION_CODES.TIRAMISU)
// initial step for android 13+ language per-app support
// https://developer.android.com/guide/topics/resources/app-languages
AppCompatDelegate.getApplicationLocales().get(0)?.toLanguageTag() ?: "en"
else
ConfigurationCompat.getLocales(conf)?.get(0)?.toLanguageTag() ?: "en"
}

/**
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/resources.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
unqualifiedResLocale=en