From 2fc5ad6a37f00b25af64fe8656d102c6a6b27047 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Thu, 17 Feb 2022 13:50:32 +0900 Subject: [PATCH 1/9] =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E8=A8=80=E8=AA=9E?= =?UTF-8?q?=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=83=91=E3=83=BC=E3=83=84?= =?UTF-8?q?=E4=BD=9C=E6=88=90=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agileworks/view/ui/login/LoginFragment.kt | 13 ++++++++++--- app/src/main/res/layout/fragment_login.xml | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt index fd955178..f18df7ea 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt @@ -8,8 +8,7 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import android.widget.Button -import android.widget.TextView +import android.widget.* import androidx.annotation.StringRes import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat @@ -32,7 +31,6 @@ import kotlinx.android.synthetic.main.fragment_login.* import net.openid.appauth.AuthState import net.openid.appauth.AuthorizationException import net.openid.appauth.AuthorizationService -import android.widget.Toast import com.journeyapps.barcodescanner.ScanContract @@ -48,6 +46,8 @@ class LoginFragment: Fragment() { private lateinit var binding: FragmentLoginBinding private var shouldClearTaskOnOAuthFailure = false + private val spinnerItems = arrayOf("日本語", "English", "中文(中国簡体)", "中文(台湾繫体)") + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { Log.d(TAG, "call onCreateView()") @@ -96,6 +96,13 @@ class LoginFragment: Fragment() { } } } + + + // + val spinner = this.requireActivity().findViewById(R.id.multilingual_spinner) + val adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, spinnerItems) + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + spinner.adapter = adapter } override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml index f815135a..9003ae93 100644 --- a/app/src/main/res/layout/fragment_login.xml +++ b/app/src/main/res/layout/fragment_login.xml @@ -24,6 +24,25 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> + + + + Date: Mon, 21 Feb 2022 17:55:12 +0900 Subject: [PATCH 2/9] =?UTF-8?q?=E5=8B=95=E7=9A=84=E3=81=AB=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=E8=A8=80=E8=AA=9E=E5=8F=8D=E6=98=A0=E3=81=99=E3=82=8B?= =?UTF-8?q?=20=E5=AE=9F=E8=A3=85=E5=AE=8C=E4=BA=86(=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=83=AA=E3=83=95=E3=82=A1=E3=82=AF=E3=82=BF=E3=83=AA?= =?UTF-8?q?=E3=83=B3=E3=82=B0=EF=BC=9A=E6=9C=AA)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agileworks/view/ui/login/LoginActivity.kt | 49 +++++++++ .../agileworks/view/ui/login/LoginFragment.kt | 9 -- .../view/ui/login/MultilingualControl.kt | 100 ++++++++++++++++++ app/src/main/res/layout/activity_login.xml | 28 ++++- app/src/main/res/layout/fragment_login.xml | 19 ---- .../main/res/layout/spinner_dropdown_item.xml | 8 ++ app/src/main/res/layout/spinner_item.xml | 10 ++ app/src/main/res/values-en/strings.xml | 15 +-- app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 15 +-- app/src/main/res/values-zh/strings.xml | 15 +-- app/src/main/res/values/dimens.xml | 2 + app/src/main/res/values/strings.xml | 1 + 13 files changed, 222 insertions(+), 50 deletions(-) create mode 100644 app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt create mode 100644 app/src/main/res/layout/spinner_dropdown_item.xml create mode 100644 app/src/main/res/layout/spinner_item.xml diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt index e961e33b..9ed6931a 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt @@ -4,20 +4,37 @@ import android.content.Context import android.content.Intent import android.content.res.Configuration import android.os.Bundle +import android.os.LocaleList import android.util.Log import androidx.appcompat.app.AppCompatActivity import jp.atled.agileworks.R import jp.atled.agileworks.view.ui.toDeepLinkArguments import jp.atled.agileworks.view.ui.toDirectOpenArguments +import java.util.* class LoginActivity : AppCompatActivity() { private val TAG = "LoginActivity" + private lateinit var multilingualControl: MultilingualControl + override fun onCreate(savedInstanceState: Bundle?) { Log.d(TAG, "call onCreate()") super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) + multilingualControl = MultilingualControl(this) + multilingualControl.multilingualControl() + multilingualControl.setOnItemSelectedListener { newContext -> + newContext?.let { + getSharedPreferences("settings", Context.MODE_PRIVATE).edit().apply() { + putString("localeLanguage", it.resources.configuration.locales[0].language) + putString("localeCountry", it.resources.configuration.locales[0].country) + apply() + } + start(it) + } + } + supportFragmentManager.beginTransaction() .replace(R.id.frameLayout, loginFragment()) .commit() @@ -38,6 +55,38 @@ class LoginActivity : AppCompatActivity() { Configuration.UI_MODE_NIGHT_YES -> Log.d("msg", "ダークテーマ") } } + + + override fun attachBaseContext(newBase: Context?) { + Log.d("AgileWorks debug", "attachBaseContext: call") + Log.d("AgileWorks debug", "attachBaseContext newBase: ${newBase?.resources?.configuration?.locales}") + + val pref = newBase?.getSharedPreferences("settings", Context.MODE_PRIVATE) + val localeLanguage = pref?.getString("localeLanguage", "") ?: "" + val localeCountry = pref?.getString("localeCountry", "") ?: "" + Log.d("AgileWorks debug", "attachBaseContext localeLanguage: $localeLanguage") + Log.d("AgileWorks debug", "attachBaseContext localeCountry: $localeCountry") + + val locale = if (localeLanguage != "" && localeCountry != "") Locale(localeLanguage, localeCountry) else null + + if (locale != null) { + val resources = newBase?.resources + val config = Configuration(resources?.configuration) + val localeList = LocaleList(locale) + LocaleList.setDefault(localeList) + config.setLocales(localeList) + super.attachBaseContext(newBase?.createConfigurationContext(config)) + } else { + super.attachBaseContext(newBase) + } + } + + override fun onDestroy() { + Log.d("AgileWorks debug", "onDestroy: call") + getSharedPreferences("settings", Context.MODE_PRIVATE).edit().clear().apply() + super.onDestroy() + } + companion object { const val ACTION_REAUTH = "jp.atled.agileworks.view.ui.login.ACTION_REAUTH" diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt index f18df7ea..64b2bce2 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt @@ -46,8 +46,6 @@ class LoginFragment: Fragment() { private lateinit var binding: FragmentLoginBinding private var shouldClearTaskOnOAuthFailure = false - private val spinnerItems = arrayOf("日本語", "English", "中文(中国簡体)", "中文(台湾繫体)") - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { Log.d(TAG, "call onCreateView()") @@ -96,13 +94,6 @@ class LoginFragment: Fragment() { } } } - - - // - val spinner = this.requireActivity().findViewById(R.id.multilingual_spinner) - val adapter = ArrayAdapter(requireContext(), android.R.layout.simple_spinner_item, spinnerItems) - adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) - spinner.adapter = adapter } override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt new file mode 100644 index 00000000..25db45eb --- /dev/null +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt @@ -0,0 +1,100 @@ +package jp.atled.agileworks.view.ui.login + +import android.content.ContextWrapper +import android.content.res.Configuration +import android.os.LocaleList +import android.util.Log +import android.view.View +import android.widget.AdapterView +import android.widget.ArrayAdapter +import android.widget.Spinner +import jp.atled.agileworks.R +import java.util.* + +class MultilingualControl(var activity: LoginActivity) { + private lateinit var spinner : Spinner + private lateinit var locale: Locale + + // プルダウン設定値 + private val spinnerItems = arrayOf("日本語", "English", "中文(中国簡体)", "中文(台湾繫体)") + + fun multilingualControl() { + // プルダウン設定 + spinner = activity.findViewById(R.id.multilingual_spinner) + val adapter = ArrayAdapter(activity, R.layout.spinner_item, spinnerItems) + adapter.setDropDownViewResource(R.layout.spinner_dropdown_item) + spinner.adapter = adapter + + // 設定言語取得 + locale = Locale.getDefault() + // プルダウンの初期設定値を設定 + setInitialLanguage() + } + + private fun setInitialLanguage() { + // 設定言語からプルダウンの初期設定値を設定する + when (locale.language) { + "ja" -> { spinner.setSelection(0) } // 日本語 + "en" -> { spinner.setSelection(1) } // English + "zh" -> { + when (locale.country) { + "TW" -> { spinner.setSelection(3) } // 中文(台湾繫体) + else -> { spinner.setSelection(2) } // 中文(中国簡体) + } + } + else -> { spinner.setSelection(0) } // 日本語 + } + } + + fun setOnItemSelectedListener(newContext:(ContextWrapper?) -> Unit) { + spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected(spinner: AdapterView<*>?, view: View?, position: Int, id: Long) { + // 項目が選択された時 + //val select = spinner?.selectedItem + //Log.d("AgileWorks debug", "onItemSelected: $select") + newContext(getNewContext(spinner?.selectedItem.toString())) + } + + override fun onNothingSelected(p0: AdapterView<*>?) { + // アイテムが選択されることなくプルダウンが閉じられた時に呼ばれるので処理なし + newContext(null) + } + } + } + + private fun getNewContext(selectedLanguage: String): ContextWrapper? { + //Log.d("AgileWorks debug", "setNewLocale selectedLanguage: $selectedLanguage") + + val resources = activity.baseContext.resources + val config = Configuration(resources.configuration) + + val newLocale = convSelectedLanguageToLocale(selectedLanguage) + if (newLocale.language == locale.language && newLocale.country == locale.country) { + // 同一言語・国の場合、言語設定しない + return null + } + + val newLocaleList = LocaleList(newLocale) + LocaleList.setDefault(newLocaleList) + config.setLocales(newLocaleList) + + //Log.d("AgileWorks debug", "setNewLocale locales: ${config.locales}") + //Log.d("AgileWorks debug", "setNewLocale context login_client_cert_none: ${activity.getString(R.string.login_client_cert_none)}") + //Log.d("AgileWorks debug", "setNewLocale new locales: ${config.locales}") + + val newContext = activity.baseContext.createConfigurationContext(config) + //Log.d("AgileWorks debug", "setNewLocale new context login_client_cert_none: ${newContext.getString(R.string.login_client_cert_none)}") + + return ContextWrapper(newContext) + } + + private fun convSelectedLanguageToLocale(selectedLanguage: String): Locale { + return when (selectedLanguage) { + "日本語" -> { Locale("ja", "JP") } + "English" -> { Locale("en", "US") } + "中文(中国簡体)" -> { Locale("zh", "CN") } + "中文(台湾繫体)" -> { Locale("zh", "TW") } + else -> { Locale("ja", "JP") } + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 5d5344ee..290fc338 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -1,5 +1,7 @@ - + + @@ -8,6 +10,30 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> + + + + + + + diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml index 9003ae93..f815135a 100644 --- a/app/src/main/res/layout/fragment_login.xml +++ b/app/src/main/res/layout/fragment_login.xml @@ -24,25 +24,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - - - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/spinner_item.xml b/app/src/main/res/layout/spinner_item.xml new file mode 100644 index 00000000..aa750101 --- /dev/null +++ b/app/src/main/res/layout/spinner_item.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index c41d10a6..a6149fc5 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -40,16 +40,17 @@ 再ログイン + language https:// - AgileWorksサーバ (example.com[:443]) + AgileWorks server (example.com[:443]) / AgileWorks - 接続 - クライアント証明書: 設定取得中… - クライアント証明書: %s - クライアント証明書: 利用しない - 選択… - QRコード読み込み + connection + Client certificate: Getting settings… + Client certificate: %s + Client certificate: Do not use + selection… + Read QR code QR ログインQRコードを読み込んでください Cancelled diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index c41d10a6..3b26486c 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -40,6 +40,7 @@ 再ログイン + language https:// AgileWorksサーバ (example.com[:443]) / diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index c41d10a6..e5f9d2a9 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -40,16 +40,17 @@ 再ログイン + language https:// - AgileWorksサーバ (example.com[:443]) + AgileWorks服務器 (example.com[:443]) / AgileWorks - 接続 - クライアント証明書: 設定取得中… - クライアント証明書: %s - クライアント証明書: 利用しない - 選択… - QRコード読み込み + 聯繫 + 客戶證書: 獲取設置… + 客戶證書: %s + 客戶證書: 不使用 + 選擇… + 讀取二維碼 QR ログインQRコードを読み込んでください Cancelled diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index c41d10a6..bf6e8732 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -40,16 +40,17 @@ 再ログイン + language https:// - AgileWorksサーバ (example.com[:443]) + AgileWorks服务器 (example.com[:443]) / AgileWorks - 接続 - クライアント証明書: 設定取得中… - クライアント証明書: %s - クライアント証明書: 利用しない - 選択… - QRコード読み込み + 联系 + 客户证书: 获取设置… + 客户证书: %s + 客户证书: 不使用 + 选择… + 读取二维码 QR ログインQRコードを読み込んでください Cancelled diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 0e45f125..b2b9b2ba 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -20,6 +20,8 @@ 16sp 10sp 100dp + 25sp + 20sp 10dp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c41d10a6..3b26486c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,6 +40,7 @@ 再ログイン + language https:// AgileWorksサーバ (example.com[:443]) / -- GitLab From eed4167581a0c29f47aea7f3a060a52cf4b8a743 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Tue, 22 Feb 2022 12:40:24 +0900 Subject: [PATCH 3/9] =?UTF-8?q?=E5=90=84Activity=E3=81=AB=E7=B6=99?= =?UTF-8?q?=E6=89=BF=E3=81=95=E3=81=9B=E3=82=8BBaseActivity=E5=AE=9F?= =?UTF-8?q?=E8=A3=85=E3=80=81BaseActivity=E3=81=AB=E5=A4=9A=E8=A8=80?= =?UTF-8?q?=E8=AA=9E=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agileworks/view/base/BaseActivity.kt | 37 +++++++++++++++++++ .../view/ui/DirectOpenDocumentActivity.kt | 4 +- .../atled/agileworks/view/ui/MainActivity.kt | 5 ++- .../agileworks/view/ui/login/LoginActivity.kt | 37 +------------------ .../view/ui/login/MultilingualControl.kt | 9 ----- 5 files changed, 44 insertions(+), 48 deletions(-) create mode 100644 app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt diff --git a/app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt b/app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt new file mode 100644 index 00000000..3c92f763 --- /dev/null +++ b/app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt @@ -0,0 +1,37 @@ +package jp.atled.agileworks.view.base + +import android.content.Context +import android.content.res.Configuration +import android.os.LocaleList +import android.util.Log +import androidx.appcompat.app.AppCompatActivity +import java.util.* + +open class BaseActivity: AppCompatActivity() { + private val TAG = "BaseActivity" + + override fun attachBaseContext(newBase: Context?) { + Log.d(TAG, "call attachBaseContext()") + //Log.d("AgileWorks debug", "$TAG attachBaseContext: call") + //Log.d("AgileWorks debug", "$TAG attachBaseContext newBase: ${newBase?.resources?.configuration?.locales}") + + val pref = newBase?.getSharedPreferences("settings", Context.MODE_PRIVATE) + val localeLanguage = pref?.getString("localeLanguage", "") ?: "" + val localeCountry = pref?.getString("localeCountry", "") ?: "" + //Log.d("AgileWorks debug", "$TAG attachBaseContext localeLanguage: $localeLanguage") + //Log.d("AgileWorks debug", "$TAG attachBaseContext localeCountry: $localeCountry") + + val locale = if (localeLanguage != "" && localeCountry != "") Locale(localeLanguage, localeCountry) else null + + if (locale != null) { + val resources = newBase?.resources + val config = Configuration(resources?.configuration) + val localeList = LocaleList(locale) + LocaleList.setDefault(localeList) + config.setLocales(localeList) + super.attachBaseContext(newBase?.createConfigurationContext(config)) + } else { + super.attachBaseContext(newBase) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt b/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt index 738785f6..2cea52c1 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt @@ -6,15 +6,15 @@ import android.content.res.Configuration import android.os.Bundle import android.util.Log import androidx.appcompat.app.ActionBarDrawerToggle -import androidx.appcompat.app.AppCompatActivity import jp.atled.agileworks.BuildConfig import jp.atled.agileworks.R +import jp.atled.agileworks.view.base.BaseActivity import jp.atled.agileworks.view.ui.documentweb.DocumentWebFragment import jp.atled.agileworks.view.utils.putExtraNonNullString import jp.atled.agileworks.view.utils.putNonNullStingFromExtra import kotlinx.android.synthetic.main.activity_main.* -class DirectOpenDocumentActivity : AppCompatActivity() { +class DirectOpenDocumentActivity : BaseActivity() { private val TAG = "DirectOpenDocumentActivity" private lateinit var directOpenControl: DirectOpenControl diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt b/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt index eefb503b..e1b92f17 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt @@ -12,7 +12,6 @@ import android.widget.TextView import androidx.annotation.RequiresApi import androidx.annotation.StringRes import androidx.appcompat.app.ActionBar -import androidx.appcompat.app.AppCompatActivity import androidx.core.app.NotificationManagerCompat import androidx.fragment.app.Fragment import androidx.lifecycle.LiveData @@ -27,12 +26,14 @@ import jp.atled.agileworks.R import jp.atled.agileworks.common.util.toFormattedString import jp.atled.agileworks.model.DeviceInfoRepository import jp.atled.agileworks.model.FcmRepository +import jp.atled.agileworks.view.base.BaseActivity import jp.atled.agileworks.view.ui.documentweb.DocumentWebFragment import jp.atled.agileworks.view.ui.login.LoginUtil import jp.atled.agileworks.view.utils.putNonNullStingFromExtra import kotlinx.android.synthetic.main.activity_main.* +import java.util.* -class MainActivity : AppCompatActivity() { +class MainActivity : BaseActivity() { private val TAG = "MainActivity" private var currentNavController: LiveData? = null diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt index 9ed6931a..ee600d5a 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt @@ -4,15 +4,13 @@ import android.content.Context import android.content.Intent import android.content.res.Configuration import android.os.Bundle -import android.os.LocaleList import android.util.Log -import androidx.appcompat.app.AppCompatActivity import jp.atled.agileworks.R +import jp.atled.agileworks.view.base.BaseActivity import jp.atled.agileworks.view.ui.toDeepLinkArguments import jp.atled.agileworks.view.ui.toDirectOpenArguments -import java.util.* -class LoginActivity : AppCompatActivity() { +class LoginActivity : BaseActivity() { private val TAG = "LoginActivity" private lateinit var multilingualControl: MultilingualControl @@ -56,37 +54,6 @@ class LoginActivity : AppCompatActivity() { } } - - override fun attachBaseContext(newBase: Context?) { - Log.d("AgileWorks debug", "attachBaseContext: call") - Log.d("AgileWorks debug", "attachBaseContext newBase: ${newBase?.resources?.configuration?.locales}") - - val pref = newBase?.getSharedPreferences("settings", Context.MODE_PRIVATE) - val localeLanguage = pref?.getString("localeLanguage", "") ?: "" - val localeCountry = pref?.getString("localeCountry", "") ?: "" - Log.d("AgileWorks debug", "attachBaseContext localeLanguage: $localeLanguage") - Log.d("AgileWorks debug", "attachBaseContext localeCountry: $localeCountry") - - val locale = if (localeLanguage != "" && localeCountry != "") Locale(localeLanguage, localeCountry) else null - - if (locale != null) { - val resources = newBase?.resources - val config = Configuration(resources?.configuration) - val localeList = LocaleList(locale) - LocaleList.setDefault(localeList) - config.setLocales(localeList) - super.attachBaseContext(newBase?.createConfigurationContext(config)) - } else { - super.attachBaseContext(newBase) - } - } - - override fun onDestroy() { - Log.d("AgileWorks debug", "onDestroy: call") - getSharedPreferences("settings", Context.MODE_PRIVATE).edit().clear().apply() - super.onDestroy() - } - companion object { const val ACTION_REAUTH = "jp.atled.agileworks.view.ui.login.ACTION_REAUTH" diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt index 25db45eb..e5a1006c 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt @@ -50,8 +50,6 @@ class MultilingualControl(var activity: LoginActivity) { spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected(spinner: AdapterView<*>?, view: View?, position: Int, id: Long) { // 項目が選択された時 - //val select = spinner?.selectedItem - //Log.d("AgileWorks debug", "onItemSelected: $select") newContext(getNewContext(spinner?.selectedItem.toString())) } @@ -63,8 +61,6 @@ class MultilingualControl(var activity: LoginActivity) { } private fun getNewContext(selectedLanguage: String): ContextWrapper? { - //Log.d("AgileWorks debug", "setNewLocale selectedLanguage: $selectedLanguage") - val resources = activity.baseContext.resources val config = Configuration(resources.configuration) @@ -78,12 +74,7 @@ class MultilingualControl(var activity: LoginActivity) { LocaleList.setDefault(newLocaleList) config.setLocales(newLocaleList) - //Log.d("AgileWorks debug", "setNewLocale locales: ${config.locales}") - //Log.d("AgileWorks debug", "setNewLocale context login_client_cert_none: ${activity.getString(R.string.login_client_cert_none)}") - //Log.d("AgileWorks debug", "setNewLocale new locales: ${config.locales}") - val newContext = activity.baseContext.createConfigurationContext(config) - //Log.d("AgileWorks debug", "setNewLocale new context login_client_cert_none: ${newContext.getString(R.string.login_client_cert_none)}") return ContextWrapper(newContext) } -- GitLab From 8108f82ffb512756d52ba80f010c4a074e4639da Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Tue, 22 Feb 2022 13:43:16 +0900 Subject: [PATCH 4/9] =?UTF-8?q?=E8=A8=80=E8=AA=9E=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values-en/strings.xml | 34 ++++++++++---------- app/src/main/res/values-zh-rTW/strings.xml | 34 ++++++++++---------- app/src/main/res/values-zh/strings.xml | 36 +++++++++++----------- 3 files changed, 52 insertions(+), 52 deletions(-) diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index a6149fc5..39d90130 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -6,16 +6,16 @@ メニューを開く メニューを閉じる - プロファイル - ログアウト - ライセンス - オープンソースライセンス + Profile + Logout + License + open source license Home - 仕事 - 検索 - 書類作成 + Task + Search + Apply 検索結果 %s件 @@ -87,15 +87,15 @@ 通知の詳細情報 - プロファイル - ユーザ情報 - ユーザコード - ユーザ名 - ログインID - 所属する組織(主務) - 組織 - ロール - 閉じる + Profile + User info + User code + User name + Login ID + Affiliated unit(main unit) + Unit + Role + Close ログアウト通知 @@ -103,7 +103,7 @@ OK - 利用許諾 + license agreement 同意する 同意しない OK diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index e5f9d2a9..8e090d0b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -6,16 +6,16 @@ メニューを開く メニューを閉じる - プロファイル - ログアウト - ライセンス - オープンソースライセンス + 個人檔案 + 登出 + 授權 + 開放源代碼許可證 - Home - 仕事 - 検索 - 書類作成 + + 工作 + 搜尋 + 建立文件 検索結果 %s件 @@ -87,15 +87,15 @@ 通知の詳細情報 - プロファイル - ユーザ情報 - ユーザコード - ユーザ名 - ログインID - 所属する組織(主務) + 個人檔案 + 用戶信息 + 用戶代碼 + 用戶名 + 登入ID + 隸屬組織(主組織) 組織 - ロール - 閉じる + 職位 + 關閉 ログアウト通知 @@ -103,7 +103,7 @@ OK - 利用許諾 + 許可證協議 同意する 同意しない OK diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index bf6e8732..7f784812 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -6,16 +6,16 @@ メニューを開く メニューを閉じる - プロファイル - ログアウト - ライセンス - オープンソースライセンス + 个人档案 + 退出 + 许可证 + 开放源代码许可证 - Home - 仕事 - 検索 - 書類作成 + + 工作 + 检索 + 制作文档 検索結果 %s件 @@ -87,15 +87,15 @@ 通知の詳細情報 - プロファイル - ユーザ情報 - ユーザコード - ユーザ名 - ログインID - 所属する組織(主務) - 組織 - ロール - 閉じる + 个人档案 + 用户信息 + 用户代码 + 用户名 + 登录ID + 所属组织(主组织) + 组织 + 职位 + 关闭 ログアウト通知 @@ -103,7 +103,7 @@ OK - 利用許諾 + 许可证协议 同意する 同意しない OK -- GitLab From 4b9790391bd70c054438c7c926d8d0405b50cb31 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Tue, 22 Feb 2022 16:50:07 +0900 Subject: [PATCH 5/9] =?UTF-8?q?=E8=A8=80=E8=AA=9E=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E9=A0=85=E7=9B=AE=E3=80=8C=E8=87=AA=E5=8B=95=E3=80=8D=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=20=E8=A1=A8=E7=A4=BA=E5=8F=8D=E6=98=A0=E3=81=AB?= =?UTF-8?q?=E3=81=8A=E3=81=84=E3=81=A6=E7=94=BB=E9=9D=A2=E5=88=87=E3=82=8A?= =?UTF-8?q?=E6=9B=BF=E3=81=88=E3=81=97=E3=81=AA=E3=81=84=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../atled/agileworks/view/base/BaseActivity.kt | 4 ---- .../agileworks/view/ui/login/LoginActivity.kt | 2 +- .../view/ui/login/MultilingualControl.kt | 17 +++++++++-------- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt b/app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt index 3c92f763..a40e9684 100644 --- a/app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/base/BaseActivity.kt @@ -12,14 +12,10 @@ open class BaseActivity: AppCompatActivity() { override fun attachBaseContext(newBase: Context?) { Log.d(TAG, "call attachBaseContext()") - //Log.d("AgileWorks debug", "$TAG attachBaseContext: call") - //Log.d("AgileWorks debug", "$TAG attachBaseContext newBase: ${newBase?.resources?.configuration?.locales}") val pref = newBase?.getSharedPreferences("settings", Context.MODE_PRIVATE) val localeLanguage = pref?.getString("localeLanguage", "") ?: "" val localeCountry = pref?.getString("localeCountry", "") ?: "" - //Log.d("AgileWorks debug", "$TAG attachBaseContext localeLanguage: $localeLanguage") - //Log.d("AgileWorks debug", "$TAG attachBaseContext localeCountry: $localeCountry") val locale = if (localeLanguage != "" && localeCountry != "") Locale(localeLanguage, localeCountry) else null diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt index ee600d5a..9d2fef87 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginActivity.kt @@ -29,7 +29,7 @@ class LoginActivity : BaseActivity() { putString("localeCountry", it.resources.configuration.locales[0].country) apply() } - start(it) + this.recreate() } } diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt index e5a1006c..c26cb920 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt @@ -16,7 +16,7 @@ class MultilingualControl(var activity: LoginActivity) { private lateinit var locale: Locale // プルダウン設定値 - private val spinnerItems = arrayOf("日本語", "English", "中文(中国簡体)", "中文(台湾繫体)") + private val spinnerItems = arrayOf("自動", "日本語", "English", "中文(簡体)", "中文(繫体)") fun multilingualControl() { // プルダウン設定 @@ -34,15 +34,15 @@ class MultilingualControl(var activity: LoginActivity) { private fun setInitialLanguage() { // 設定言語からプルダウンの初期設定値を設定する when (locale.language) { - "ja" -> { spinner.setSelection(0) } // 日本語 - "en" -> { spinner.setSelection(1) } // English + "ja" -> { spinner.setSelection(1) } // 日本語 + "en" -> { spinner.setSelection(2) } // English "zh" -> { when (locale.country) { - "TW" -> { spinner.setSelection(3) } // 中文(台湾繫体) - else -> { spinner.setSelection(2) } // 中文(中国簡体) + "TW" -> { spinner.setSelection(4) } // 中文(繫体) + else -> { spinner.setSelection(3) } // 中文(簡体) } } - else -> { spinner.setSelection(0) } // 日本語 + else -> { spinner.setSelection(1) } // 日本語 } } @@ -81,10 +81,11 @@ class MultilingualControl(var activity: LoginActivity) { private fun convSelectedLanguageToLocale(selectedLanguage: String): Locale { return when (selectedLanguage) { + "自動" -> { activity.applicationContext.resources.configuration.locales[0] } "日本語" -> { Locale("ja", "JP") } "English" -> { Locale("en", "US") } - "中文(中国簡体)" -> { Locale("zh", "CN") } - "中文(台湾繫体)" -> { Locale("zh", "TW") } + "中文(簡体)" -> { Locale("zh", "CN") } + "中文(繫体)" -> { Locale("zh", "TW") } else -> { Locale("ja", "JP") } } } -- GitLab From 47a97b8d3a764ac445129e17ea7b7fb44f69d012 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Tue, 22 Feb 2022 16:50:37 +0900 Subject: [PATCH 6/9] =?UTF-8?q?=E8=A8=80=E8=AA=9E=E3=83=95=E3=82=A1?= =?UTF-8?q?=E3=82=A4=E3=83=AB=E8=B3=87=E6=96=99=E5=8F=8D=E6=98=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values-en/strings.xml | 14 +++++++------- app/src/main/res/values-zh-rTW/strings.xml | 8 ++++---- app/src/main/res/values-zh/strings.xml | 8 ++++---- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 39d90130..c7086d6c 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -46,10 +46,10 @@ / AgileWorks connection - Client certificate: Getting settings… - Client certificate: %s - Client certificate: Do not use - selection… + client certificate: Getting settings… + client certificate: %s + client certificate: not use + select… Read QR code QR ログインQRコードを読み込んでください @@ -69,9 +69,9 @@ AgileWorks - ログアウトしますか? - はい - いいえ + Would you like to log out? + Yes + No document diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8e090d0b..05f9e4f0 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -50,7 +50,7 @@ 客戶證書: %s 客戶證書: 不使用 選擇… - 讀取二維碼 + 讀取QR碼 QR ログインQRコードを読み込んでください Cancelled @@ -69,9 +69,9 @@ AgileWorks - ログアウトしますか? - はい - いいえ + 你想登出嗎? + + document diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 7f784812..93ceadcd 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -50,7 +50,7 @@ 客户证书: %s 客户证书: 不使用 选择… - 读取二维码 + 读取QR码 QR ログインQRコードを読み込んでください Cancelled @@ -69,9 +69,9 @@ AgileWorks - ログアウトしますか? - はい - いいえ + 你想登出吗? + + document -- GitLab From 722df768009d385dc354093df8c75d96290b4ab3 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Tue, 22 Feb 2022 17:04:35 +0900 Subject: [PATCH 7/9] =?UTF-8?q?=E8=A8=80=E8=AA=9E=E5=88=87=E3=82=8A?= =?UTF-8?q?=E6=9B=BF=E3=81=88=E3=83=97=E3=83=AB=E3=83=80=E3=82=A6=E3=83=B3?= =?UTF-8?q?=E3=81=AB=E6=9E=A0=E7=B7=9A=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/drawable/frame_border.xml | 7 +++++++ app/src/main/res/layout/spinner_item.xml | 1 + 2 files changed, 8 insertions(+) create mode 100644 app/src/main/res/drawable/frame_border.xml diff --git a/app/src/main/res/drawable/frame_border.xml b/app/src/main/res/drawable/frame_border.xml new file mode 100644 index 00000000..81021d69 --- /dev/null +++ b/app/src/main/res/drawable/frame_border.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/spinner_item.xml b/app/src/main/res/layout/spinner_item.xml index aa750101..93817c73 100644 --- a/app/src/main/res/layout/spinner_item.xml +++ b/app/src/main/res/layout/spinner_item.xml @@ -5,6 +5,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:textSize="@dimen/_20sp" + android:background="@drawable/frame_border" android:ellipsize="marquee"> \ No newline at end of file -- GitLab From d06e9cec2fb913c5c7f21717483cb22af2ccbab5 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Fri, 25 Feb 2022 10:09:12 +0900 Subject: [PATCH 8/9] =?UTF-8?q?=E8=A8=80=E8=AA=9E=E5=88=87=E3=82=8A?= =?UTF-8?q?=E6=9B=BF=E3=81=88=E3=83=97=E3=83=AB=E3=83=80=E3=82=A6=E3=83=B3?= =?UTF-8?q?=E3=81=AE=E9=A0=85=E7=9B=AE=E3=80=8C=E8=87=AA=E5=8B=95=E3=80=8D?= =?UTF-8?q?=E3=82=92=E5=A4=9A=E8=A8=80=E8=AA=9E=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jp/atled/agileworks/view/ui/login/MultilingualControl.kt | 2 +- app/src/main/res/values-en/strings.xml | 1 + app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt index c26cb920..ebd706c4 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/MultilingualControl.kt @@ -16,7 +16,7 @@ class MultilingualControl(var activity: LoginActivity) { private lateinit var locale: Locale // プルダウン設定値 - private val spinnerItems = arrayOf("自動", "日本語", "English", "中文(簡体)", "中文(繫体)") + private val spinnerItems = arrayOf(activity.baseContext.getString(R.string.login_multilingual_auto), "日本語", "English", "中文(簡体)", "中文(繫体)") fun multilingualControl() { // プルダウン設定 diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index c7086d6c..2c5cc5af 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -41,6 +41,7 @@ language + auto https:// AgileWorks server (example.com[:443]) / diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 3b26486c..aad875f5 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -41,6 +41,7 @@ language + 自動 https:// AgileWorksサーバ (example.com[:443]) / diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 05f9e4f0..fc29520d 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -41,6 +41,7 @@ language + 自動 https:// AgileWorks服務器 (example.com[:443]) / diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 93ceadcd..064237ff 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -41,6 +41,7 @@ language + 自動 https:// AgileWorks服务器 (example.com[:443]) / diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3b26486c..aad875f5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,6 +41,7 @@ language + 自動 https:// AgileWorksサーバ (example.com[:443]) / -- GitLab From 7c8430c0fa4be4a7142d4a973b25ce3435216d65 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Fri, 25 Feb 2022 11:01:40 +0900 Subject: [PATCH 9/9] =?UTF-8?q?=E3=83=AA=E3=82=BD=E3=83=BC=E3=82=B9?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=8B=E3=82=89=E3=81=AE?= =?UTF-8?q?=E6=83=85=E5=A0=B1=E5=8F=96=E5=BE=97=E3=81=8C=E9=96=93=E9=81=95?= =?UTF-8?q?=E3=81=A3=E3=81=A6=E3=81=84=E3=81=9F=E3=81=AE=E3=81=A7=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jp/atled/agileworks/model/api/BadRefreshTokenException.kt | 3 ++- .../jp/atled/agileworks/model/api/NetworkOfflineException.kt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/jp/atled/agileworks/model/api/BadRefreshTokenException.kt b/app/src/main/java/jp/atled/agileworks/model/api/BadRefreshTokenException.kt index 449544b7..ccf2e964 100644 --- a/app/src/main/java/jp/atled/agileworks/model/api/BadRefreshTokenException.kt +++ b/app/src/main/java/jp/atled/agileworks/model/api/BadRefreshTokenException.kt @@ -1,5 +1,6 @@ package jp.atled.agileworks.model.api +import jp.atled.agileworks.AwApp import jp.atled.agileworks.R import java.io.IOException @@ -13,5 +14,5 @@ import java.io.IOException */ class BadRefreshTokenException : IOException() { override val message: String? - get() = R.string.bad_refresh_token_exception.toString() + get() = AwApp.instance.resources.getString(R.string.bad_refresh_token_exception) } \ No newline at end of file diff --git a/app/src/main/java/jp/atled/agileworks/model/api/NetworkOfflineException.kt b/app/src/main/java/jp/atled/agileworks/model/api/NetworkOfflineException.kt index 2430246f..bfeeaf86 100644 --- a/app/src/main/java/jp/atled/agileworks/model/api/NetworkOfflineException.kt +++ b/app/src/main/java/jp/atled/agileworks/model/api/NetworkOfflineException.kt @@ -1,9 +1,10 @@ package jp.atled.agileworks.model.api +import jp.atled.agileworks.AwApp import jp.atled.agileworks.R import java.io.IOException class NetworkOfflineException : IOException() { override val message: String? - get() = R.string.offline_message.toString() + get() = AwApp.instance.resources.getString(R.string.offline_message) } -- GitLab