package
com.example.gptapp
import
android.R.attr
import
android.annotation.SuppressLint
import
android.app.LocaleManager
import
android.app.StatusBarManager
import
android.content.ComponentName
import
android.content.Context
import
android.content.Intent
import
android.content.pm.PackageManager
import
android.graphics.drawable.Icon
import
android.net.Uri
import
android.net.wifi.WifiManager
import
android.os.Build
import
android.os.Bundle
import
android.os.LocaleList
import
android.provider.MediaStore
import
android.util.Log
import
android.view.inputmethod.EditorInfo
import
android.widget.Button
import
android.widget.ImageView
import
android.widget.TextView
import
android.widget.Toast
import
androidx.activity.result.ActivityResultLauncher
import
androidx.activity.result.contract.ActivityResultContracts
import
androidx.annotation.RequiresApi
import
androidx.appcompat.app.AppCompatActivity
import
androidx.core.content.ContextCompat
import
com.android.volley.RequestQueue
import
com.android.volley.Response
import
com.android.volley.RetryPolicy
import
com.android.volley.VolleyError
import
com.android.volley.toolbox.JsonObjectRequest
import
com.android.volley.toolbox.Volley
import
com.google.android.material.dialog.MaterialAlertDialogBuilder
import
com.google.android.material.textfield.TextInputEditText
import
com.squareup.picasso.Picasso
import
org.json.JSONObject
import
java.util.*
import
java.util.jar.Manifest
class
MainActivity : AppCompatActivity() {
private
var localeManager: LocaleManager? =
null
lateinit var headingTV: TextView
lateinit var subHeadingTV: TextView
lateinit var currentLngTV: TextView
lateinit var hindiBtn: Button
lateinit var kannadaBtn: Button
lateinit var nepaliBtn: Button
lateinit var assameseBtn: Button
@RequiresApi
(Build.VERSION_CODES.N)
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
localeManager = getSystemService(Context.LOCALE_SERVICE) as LocaleManager
}
headingTV = findViewById(R.id.idTVHeading)
currentLngTV = findViewById(R.id.idTVCurrentLanguage)
subHeadingTV = findViewById(R.id.idTVSubHeading)
hindiBtn = findViewById(R.id.idBtnHindi)
nepaliBtn = findViewById(R.id.idBtnNepali)
kannadaBtn = findViewById(R.id.idBtnKannada)
assameseBtn = findViewById(R.id.idBtnAssamese)
hindiBtn.setOnClickListener {
if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
localeManager?.applicationLocales = LocaleList(Locale.forLanguageTag(
"hi"
))
}
}
nepaliBtn.setOnClickListener {
if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
localeManager?.applicationLocales = LocaleList(Locale.forLanguageTag(
"ne"
))
}
}
kannadaBtn.setOnClickListener {
if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
localeManager?.applicationLocales = LocaleList(Locale.forLanguageTag(
"kn"
))
}
}
assameseBtn.setOnClickListener {
if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
localeManager?.applicationLocales = LocaleList(Locale.forLanguageTag(
"as"
))
}
}
}
override fun onResume() {
super
.onResume()
if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
val language = when (localeManager?.applicationLocales?.toLanguageTags()) {
"en"
->
"English"
"as"
->
"Assamese"
"kn"
->
"Kannada"
"ne"
->
"Nepali"
"hi"
->
"Hindi"
else
->
"Not Set"
}
currentLngTV.text =
"Current In-App Language: $language"
}
}
}