diff --git a/app/src/main/java/jp/atled/agileworks/AwApp.kt b/app/src/main/java/jp/atled/agileworks/AwApp.kt index 0ab8b5a810f51aa72ac8e02113378a0f703ed960..ac154a4b91b290344ece4a34f3bd235ee2333869 100644 --- a/app/src/main/java/jp/atled/agileworks/AwApp.kt +++ b/app/src/main/java/jp/atled/agileworks/AwApp.kt @@ -56,6 +56,9 @@ class AwApp : Application() { const val MISC_PREFERENCES = "miscPreferences" const val MISC_ACCEPTED_LICENSE_VER = "acceptedLicenseVer" const val MISC_NEXT_DOWNLOAD_NOTIFICATION_ID = "nextDownloadNotificationId" + const val WIDGET_PREFERENCES = "widgetPreferences" + const val WIDGET_UPDATE_FLG = "widgetUpdateFlg" + fun Baseurl() : String { return "https://${LoginRepository().loadServerUrl()}/${LoginRepository().loadServerContext()}/" diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt b/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt index da13c19017143a092789adde2ae16022fd295a1e..edd2335f422b3684291693a19fb1b49c34fe7454 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/documentweb/DocumentWebFragment.kt @@ -162,6 +162,10 @@ class DocumentWebFragment : Fragment(), DocumentWebPresenter { override fun onPause() { super.onPause() + //ウィジェット更新フラグのクリア + val prefs = AwApp.instance.applicationContext.getSharedPreferences(AwApp.WIDGET_PREFERENCES, Context.MODE_PRIVATE) + prefs.edit().putBoolean(AwApp.WIDGET_UPDATE_FLG, false).apply() + AwApp.instance.requestApprovalRefresh() try{ stopNetworkCallback() diff --git a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt index 241b75c0354a3fa1cead0c14dc0efc64f9fd30f8..7d713295e88bf4dacb54d65161b3fd31d565ba37 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt @@ -163,7 +163,16 @@ class AwAppWidgetRemoteViewsFactory(applicationContext: Context, intent: Intent? private fun getApprovalItems(): List? { try { + val prefs = AwApp.instance.applicationContext.getSharedPreferences(AwApp.WIDGET_PREFERENCES, Context.MODE_PRIVATE) + + while (prefs.getBoolean(AwApp.WIDGET_UPDATE_FLG, false)) { + //別のウィジェットが更新中の場合は待つ + } + + prefs.edit().putBoolean(AwApp.WIDGET_UPDATE_FLG, true).apply() val response = ApiClient.instance.getApproval().execute() + prefs.edit().putBoolean(AwApp.WIDGET_UPDATE_FLG, false).apply() + Log.d(TAG, "response.isSuccessful=" + response.isSuccessful.toString()) Log.d(TAG, "response.body()=" + response.body().toString()) if (response.isSuccessful) {