From 4ee16a935e908eac0ae6ae73ac4b4b8628af74a7 Mon Sep 17 00:00:00 2001 From: Koda Tomomi Date: Wed, 4 Oct 2023 13:16:20 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A2=E3=82=A6?= =?UTF-8?q?=E3=83=88=E6=B8=88=E3=81=BF=E3=82=A6=E3=82=A3=E3=82=B8=E3=82=A7?= =?UTF-8?q?=E3=83=83=E3=83=88=E3=81=AEsystemName=E9=9D=9E=E8=A1=A8?= =?UTF-8?q?=E7=A4=BA=E5=87=A6=E7=90=86=E3=81=AE=E4=BB=AE=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/jp/atled/agileworks/widget/AwAppWidget.kt | 8 ++++++++ .../main/java/jp/atled/agileworks/widget/WidgetUpdate.kt | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt index 3eedbed6..f5aaf166 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt @@ -126,6 +126,14 @@ sealed class AwAppWidgetBase(private val widgetLayoutId: Int) : AppWidgetProvide val systemName = LoginRepository(serverNumber).loadSystemName() views.setRemoteAdapter(R.id.widgetGridView, intent) views.setTextViewText(R.id.systemName, systemName) +// TODO:ログイン状態を判別し、ウィジェットのsystemNameを出しわけ +// if(intent != null) { +// val systemName = LoginRepository(serverNumber).loadSystemName() +// views.setTextViewText(R.id.systemName, systemName) +// } else { +// //ログインしていない場合、表示しない +// views.setTextViewText(R.id.systemName, "") +// } //LoginActivityへ設定したサーバーを伝える val clickIntentTemplate = Intent(context, LoginActivity::class.java).apply { diff --git a/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt b/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt index 81505ddd..d658af29 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt @@ -4,6 +4,7 @@ import android.appwidget.AppWidgetManager import android.content.ComponentName import jp.atled.agileworks.R import jp.atled.agileworks.AwApp +//import jp.atled.agileworks.widget.AwAppWidgetBase.Companion.updateAppWidget object WidgetUpdate { private val WIDGET_CLASSES: List> = listOf( @@ -17,6 +18,9 @@ object WidgetUpdate { val myWidget = ComponentName(AwApp.instance.applicationContext, widgetClass) val appWidgetIds: IntArray = manager.getAppWidgetIds(myWidget) manager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.widgetGridView) +// for(appWidgetId in appWidgetIds) { +// updateAppWidget(AwApp.instance.applicationContext,manager,appWidgetId) +// } } } } \ No newline at end of file -- GitLab From f30fc220e8f3dbe2fbbddeb2138e1cb73d2febd6 Mon Sep 17 00:00:00 2001 From: Gk40002148 Date: Thu, 5 Oct 2023 17:41:30 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E3=82=A6=E3=82=A3=E3=82=B8=E3=82=A7?= =?UTF-8?q?=E3=83=83=E3=83=88=E3=81=AE=E3=82=B7=E3=82=B9=E3=83=86=E3=83=A0?= =?UTF-8?q?=E5=90=8D=E3=81=AE=E8=A1=A8=E7=A4=BA=E3=81=AF=E3=80=81=E3=83=AD?= =?UTF-8?q?=E3=82=B0=E3=82=A4=E3=83=B3=E7=8A=B6=E6=85=8B=E3=81=AB=E3=82=88?= =?UTF-8?q?=E3=82=8A=E5=88=87=E3=82=8A=E6=9B=BF=E3=81=88=E3=82=8B=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jp/atled/agileworks/widget/AwAppWidget.kt | 42 +++++++++++++++---- .../atled/agileworks/widget/WidgetUpdate.kt | 9 ++-- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt index f5aaf166..032e84db 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt @@ -15,6 +15,7 @@ import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager import jp.atled.agileworks.R import jp.atled.agileworks.model.ApprovalInfo +import jp.atled.agileworks.model.AuthStateRepository import jp.atled.agileworks.model.LoginRepository import jp.atled.agileworks.model.WidgetRepository import jp.atled.agileworks.view.ui.login.LoginActivity @@ -123,17 +124,16 @@ sealed class AwAppWidgetBase(private val widgetLayoutId: Int) : AppWidgetProvide putExtra(AwAppWidgetRemoteViewsFactory.SERVER_NUMBER, serverNumber) data = Uri.parse(toUri(Intent.URI_INTENT_SCHEME)) } - val systemName = LoginRepository(serverNumber).loadSystemName() views.setRemoteAdapter(R.id.widgetGridView, intent) + // ログイン状態を判別し、ウィジェットのsystemNameを出しわけ + var systemName = "" + if (AuthStateRepository(serverNumber).loadAuthState().isAuthorized) { + // ログイン中の場合、SystemName 取得 + systemName = LoginRepository(serverNumber).loadSystemName() + } else { + //ログインしていない場合、表示しない + } views.setTextViewText(R.id.systemName, systemName) -// TODO:ログイン状態を判別し、ウィジェットのsystemNameを出しわけ -// if(intent != null) { -// val systemName = LoginRepository(serverNumber).loadSystemName() -// views.setTextViewText(R.id.systemName, systemName) -// } else { -// //ログインしていない場合、表示しない -// views.setTextViewText(R.id.systemName, "") -// } //LoginActivityへ設定したサーバーを伝える val clickIntentTemplate = Intent(context, LoginActivity::class.java).apply { @@ -148,6 +148,30 @@ sealed class AwAppWidgetBase(private val widgetLayoutId: Int) : AppWidgetProvide ) views.setPendingIntentTemplate(R.id.widgetGridView, clickPendingIntentTemplate) + appWidgetManager.updateAppWidget(appWidgetId, views) + } + // Widget 上部の SystemName ラベルの更新 + internal fun updateWidgetSystemName(context: Context, + appWidgetManager: AppWidgetManager, + appWidgetId: Int) { + val widgetLayoutId = appWidgetManager.getAppWidgetInfo(appWidgetId).initialLayout + + val views = RemoteViews( + context.packageName, + widgetLayoutId + ) + + val serverNumber = WidgetRepository().loadWidgetLayoutIdPref(appWidgetId) + // ログイン状態を判別し、ウィジェットのsystemNameを出しわけ + var systemName = "" + if (AuthStateRepository(serverNumber).loadAuthState().isAuthorized) { + // ログイン中の場合、SystemName 取得 + systemName = LoginRepository(serverNumber).loadSystemName() + } else { + //ログインしていない場合、表示しない + } + views.setTextViewText(R.id.systemName, systemName) + appWidgetManager.updateAppWidget(appWidgetId, views) } } diff --git a/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt b/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt index d658af29..96117161 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt @@ -4,7 +4,7 @@ import android.appwidget.AppWidgetManager import android.content.ComponentName import jp.atled.agileworks.R import jp.atled.agileworks.AwApp -//import jp.atled.agileworks.widget.AwAppWidgetBase.Companion.updateAppWidget +import jp.atled.agileworks.widget.AwAppWidgetBase.Companion.updateWidgetSystemName object WidgetUpdate { private val WIDGET_CLASSES: List> = listOf( @@ -18,9 +18,10 @@ object WidgetUpdate { val myWidget = ComponentName(AwApp.instance.applicationContext, widgetClass) val appWidgetIds: IntArray = manager.getAppWidgetIds(myWidget) manager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.widgetGridView) -// for(appWidgetId in appWidgetIds) { -// updateAppWidget(AwApp.instance.applicationContext,manager,appWidgetId) -// } + // Widget 上部の SystemName ラベルの更新 + for(appWidgetId in appWidgetIds) { + updateWidgetSystemName(AwApp.instance.applicationContext, manager, appWidgetId) + } } } } \ No newline at end of file -- GitLab