From dd2f20cdb890d9515f14ab3deb5a41e445c3ec5f Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Mon, 14 Feb 2022 17:53:32 +0900 Subject: [PATCH 1/7] =?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=82=BF=E3=83=83=E3=83=97=E6=99=82=E3=81=AE?= =?UTF-8?q?=E6=83=85=E5=A0=B1=E4=BC=9D=E9=81=94=E5=AE=9F=E8=A3=85=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jp/atled/agileworks/view/ui/MainActivity.kt | 16 ++++++++++++++++ .../jp/atled/agileworks/widget/AwAppWidget.kt | 6 ++++-- .../jp/atled/agileworks/widget/WidgetUpdate.kt | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) 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 6b44eb2f..4654830f 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 @@ -15,10 +15,12 @@ import androidx.annotation.StringRes import androidx.appcompat.app.ActionBar import androidx.appcompat.app.AppCompatActivity import androidx.core.app.NotificationManagerCompat +import androidx.core.os.bundleOf import androidx.fragment.app.Fragment import androidx.lifecycle.LiveData import androidx.lifecycle.Observer import androidx.navigation.NavController +import androidx.navigation.NavDeepLinkBuilder import androidx.navigation.ui.AppBarConfiguration import androidx.navigation.ui.navigateUp import androidx.navigation.ui.setupActionBarWithNavController @@ -28,6 +30,7 @@ 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.model.LoginRepository import jp.atled.agileworks.view.ui.documentweb.DocumentWebFragment import jp.atled.agileworks.view.ui.login.LoginUtil import jp.atled.agileworks.view.utils.putNonDefaultIntFromExtra @@ -70,6 +73,19 @@ class MainActivity : AppCompatActivity() { private fun followDeepLink() { // TODO ウィジェットタップ時の情報伝達実装 val deepApprove = intent.getStringExtra(APPROVAL_DEEPLINK_CODE_KEY) + if (!deepApprove.isNullOrEmpty()) { + NavDeepLinkBuilder(this) + .setComponentName(this.componentName) + .setGraph(R.navigation.nav_home) + .setDestination(R.id.homeDocumentWebFragment) + .setArguments(bundleOf( + // ToDo どんなURLを設定するか + //"url" to "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#docList" + "url" to "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#work" + )) + .createTaskStackBuilder() + .startActivities() + } //if ((0 <= deepApprove) && (deepApprove <= 4)) { // TODO deeplink 先ジャンプ未実装 (AW3) /* 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 c41a1b5b..d9149129 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.view.ui.MainActivity import jp.atled.agileworks.view.ui.login.LoginActivity import java.util.concurrent.TimeUnit @@ -43,7 +44,7 @@ sealed class AwAppWidgetBase(private val widgetLayoutId: Int, private val approv request.build()) appWidgetIds.forEach { appWidgetId -> - val views: RemoteViews = RemoteViews( + val views = RemoteViews( context.packageName, widgetLayoutId ) @@ -56,7 +57,8 @@ sealed class AwAppWidgetBase(private val widgetLayoutId: Int, private val approv } views.setRemoteAdapter(R.id.widgetGridView, intent) - val clickIntentTemplate: Intent = Intent(context, LoginActivity::class.java) + //val clickIntentTemplate: Intent = Intent(context, LoginActivity::class.java) + val clickIntentTemplate = Intent(context, MainActivity::class.java) val clickPendingIntentTemplate: PendingIntent = TaskStackBuilder.create(context) .addNextIntentWithParentStack(clickIntentTemplate) .getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT) 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 0a3a4bac..81505ddd 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/WidgetUpdate.kt @@ -14,7 +14,7 @@ object WidgetUpdate { fun update() { val manager: AppWidgetManager = AppWidgetManager.getInstance(AwApp.instance.applicationContext) for (widgetClass in WIDGET_CLASSES) { - val myWidget: ComponentName = ComponentName(AwApp.instance.applicationContext, widgetClass) + val myWidget = ComponentName(AwApp.instance.applicationContext, widgetClass) val appWidgetIds: IntArray = manager.getAppWidgetIds(myWidget) manager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.widgetGridView) } -- GitLab From e60878b50076a43de65f255a3ab3869e4fb0b7e7 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Tue, 15 Feb 2022 15:39:58 +0900 Subject: [PATCH 2/7] =?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=82=BF=E3=83=83=E3=83=97=E6=99=82=E3=81=AE?= =?UTF-8?q?=E6=83=85=E5=A0=B1=E4=BC=9D=E9=81=94=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../atled/agileworks/view/ui/MainActivity.kt | 38 +++++++------------ 1 file changed, 13 insertions(+), 25 deletions(-) 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 4654830f..5c84b09c 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 @@ -71,34 +71,22 @@ class MainActivity : AppCompatActivity() { } private fun followDeepLink() { - // TODO ウィジェットタップ時の情報伝達実装 + // ウィジェットタップ時の情報伝達 val deepApprove = intent.getStringExtra(APPROVAL_DEEPLINK_CODE_KEY) if (!deepApprove.isNullOrEmpty()) { - NavDeepLinkBuilder(this) - .setComponentName(this.componentName) - .setGraph(R.navigation.nav_home) - .setDestination(R.id.homeDocumentWebFragment) - .setArguments(bundleOf( - // ToDo どんなURLを設定するか - //"url" to "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#docList" - "url" to "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#work" - )) - .createTaskStackBuilder() - .startActivities() + // ToDo URL設定(エイトレッドさん検討中) + // 仮URL設定(仕事画面に遷移する) + val url = "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#work" + intent.putExtra("url", url) + + val approvalFragment = DocumentWebFragment() + approvalFragment.arguments = intent.extras + + supportFragmentManager.beginTransaction() + .addToBackStack(null) + .replace(R.id.main_nav_fragment, approvalFragment) + .commit() } - //if ((0 <= deepApprove) && (deepApprove <= 4)) { - // TODO deeplink 先ジャンプ未実装 (AW3) - /* - NavDeepLinkBuilder(this) - .setGraph(R.navigation.nav_approval) - .setDestination(R.id.approvalItemListFragment) - .setArguments(bundleOf( - "approval_item_list_title" to getString(R.string.main_label_approval) + " > " + intent.getStringExtra(APPROVAL_DEEPLINK_NAME_KEY).orEmpty(), - "approval_major_id" to deepApprove - )) - .createPendingIntent().send() - */ - //} } private fun setupNotification() { -- GitLab From 626e5792be1c3c04edce130774eeb93bb6abb25f Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Tue, 15 Feb 2022 17:00:15 +0900 Subject: [PATCH 3/7] =?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=82=BF=E3=83=83=E3=83=97=E6=99=82=E3=81=AE?= =?UTF-8?q?=E6=83=85=E5=A0=B1=E4=BC=9D=E9=81=94=E5=AE=9F=E8=A3=85=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=20=E4=B8=8D=E8=A6=81import=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jp/atled/agileworks/view/ui/MainActivity.kt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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 5c84b09c..1c013eac 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 @@ -8,7 +8,6 @@ import android.content.res.Configuration import android.os.Build import android.os.Bundle import android.util.Log -import android.view.View import android.widget.TextView import androidx.annotation.RequiresApi import androidx.annotation.StringRes @@ -33,7 +32,6 @@ import jp.atled.agileworks.model.FcmRepository import jp.atled.agileworks.model.LoginRepository import jp.atled.agileworks.view.ui.documentweb.DocumentWebFragment import jp.atled.agileworks.view.ui.login.LoginUtil -import jp.atled.agileworks.view.utils.putNonDefaultIntFromExtra import jp.atled.agileworks.view.utils.putNonNullStingFromExtra import kotlinx.android.synthetic.main.activity_main.* @@ -74,13 +72,18 @@ class MainActivity : AppCompatActivity() { // ウィジェットタップ時の情報伝達 val deepApprove = intent.getStringExtra(APPROVAL_DEEPLINK_CODE_KEY) if (!deepApprove.isNullOrEmpty()) { - // ToDo URL設定(エイトレッドさん検討中) - // 仮URL設定(仕事画面に遷移する) - val url = "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#work" - intent.putExtra("url", url) + val deepLink = NavDeepLinkBuilder(this) + .setGraph(R.navigation.nav_home) + .setDestination(R.id.homeDocumentWebFragment) + .setArguments(bundleOf( + // ToDo URL設定(エイトレッドさん検討中) + // 仮URL設定(仕事画面に遷移する) + "url" to "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#work" + )) + .createTaskStackBuilder() val approvalFragment = DocumentWebFragment() - approvalFragment.arguments = intent.extras + approvalFragment.arguments = deepLink.intents[0].extras supportFragmentManager.beginTransaction() .addToBackStack(null) -- GitLab From 840953a1a4845349943e93859c90c32f490a0104 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Wed, 16 Feb 2022 13:37:38 +0900 Subject: [PATCH 4/7] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E3=83=AC?= =?UTF-8?q?=E3=83=93=E3=83=A5=E3=83=BC=E6=8C=87=E6=91=98=20=E3=82=A6?= =?UTF-8?q?=E3=82=A3=E3=82=B8=E3=82=A7=E3=83=83=E3=83=88=E3=81=AB=E6=83=85?= =?UTF-8?q?=E5=A0=B1=E3=81=8C=E3=81=AA=E3=81=84(=EF=BC=9D=E3=83=AD?= =?UTF-8?q?=E3=82=B0=E3=82=A4=E3=83=B3=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA?= =?UTF-8?q?=E3=81=84)=E5=A0=B4=E5=90=88=E3=81=AB=E3=81=A4=E3=81=84?= =?UTF-8?q?=E3=81=A6=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt | 3 +++ .../atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt | 2 ++ 2 files changed, 5 insertions(+) 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 1c013eac..b08dae34 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 @@ -89,6 +89,8 @@ class MainActivity : AppCompatActivity() { .addToBackStack(null) .replace(R.id.main_nav_fragment, approvalFragment) .commit() + } else if (intent.getBooleanExtra(WIDGET_NO_DATA, false)) { + logout() } } @@ -203,6 +205,7 @@ class MainActivity : AppCompatActivity() { companion object { const val APPROVAL_DEEPLINK_CODE_KEY = "main:deeplink:approval:code" const val APPROVAL_DEEPLINK_NAME_KEY = "main:deeplink:approval:name" + const val WIDGET_NO_DATA = "widget no data" fun start(context: Context, bundle: Bundle?) = context.startActivity(startIntent(context, bundle)) 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 177697a2..aafd964f 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt @@ -58,6 +58,8 @@ class AwAppWidgetRemoteViewsFactory(applicationContext: Context, intent: Intent? if (item != null) { putExtra(MainActivity.APPROVAL_DEEPLINK_NAME_KEY, item.name) putExtra(MainActivity.APPROVAL_DEEPLINK_CODE_KEY, item.code) + } else { + putExtra(MainActivity.WIDGET_NO_DATA, true) } } -- GitLab From e3d2f69a09232ae2ef7a6045c0c2c426bdda7f43 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Wed, 16 Feb 2022 14:05:46 +0900 Subject: [PATCH 5/7] =?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=82=BF=E3=83=83=E3=83=97=E6=99=82=E3=81=AF?= =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3=E3=81=97=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=82=8B=E3=83=BB=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=81=AB=E9=96=A2=E3=82=8F=E3=82=89=E3=81=9A=E3=83=AD=E3=82=B0?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E7=94=BB=E9=9D=A2=E3=81=AB=E9=81=B7=E7=A7=BB?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?(Xpoint3=E3=81=A8=E5=90=8C=E3=81=98=E5=8B=95=E4=BD=9C=E3=81=AB?= =?UTF-8?q?=E3=81=AA=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=82=92=E6=88=BB=E3=81=99)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt | 2 -- app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt | 4 +--- .../atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt | 2 -- 3 files changed, 1 insertion(+), 7 deletions(-) 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 b08dae34..e8f4b3b9 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 @@ -89,8 +89,6 @@ class MainActivity : AppCompatActivity() { .addToBackStack(null) .replace(R.id.main_nav_fragment, approvalFragment) .commit() - } else if (intent.getBooleanExtra(WIDGET_NO_DATA, false)) { - logout() } } 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 d9149129..e0b19c0b 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidget.kt @@ -15,7 +15,6 @@ import androidx.work.PeriodicWorkRequestBuilder import androidx.work.WorkManager import jp.atled.agileworks.R import jp.atled.agileworks.model.ApprovalInfo -import jp.atled.agileworks.view.ui.MainActivity import jp.atled.agileworks.view.ui.login.LoginActivity import java.util.concurrent.TimeUnit @@ -57,8 +56,7 @@ sealed class AwAppWidgetBase(private val widgetLayoutId: Int, private val approv } views.setRemoteAdapter(R.id.widgetGridView, intent) - //val clickIntentTemplate: Intent = Intent(context, LoginActivity::class.java) - val clickIntentTemplate = Intent(context, MainActivity::class.java) + val clickIntentTemplate = Intent(context, LoginActivity::class.java) val clickPendingIntentTemplate: PendingIntent = TaskStackBuilder.create(context) .addNextIntentWithParentStack(clickIntentTemplate) .getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT) 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 aafd964f..177697a2 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt @@ -58,8 +58,6 @@ class AwAppWidgetRemoteViewsFactory(applicationContext: Context, intent: Intent? if (item != null) { putExtra(MainActivity.APPROVAL_DEEPLINK_NAME_KEY, item.name) putExtra(MainActivity.APPROVAL_DEEPLINK_CODE_KEY, item.code) - } else { - putExtra(MainActivity.WIDGET_NO_DATA, true) } } -- GitLab From a770c3a659f223d812aac9a86a8b90a31bfb8f48 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Wed, 16 Feb 2022 14:07:46 +0900 Subject: [PATCH 6/7] =?UTF-8?q?=E5=89=8A=E9=99=A4=E3=81=97=E5=BF=98?= =?UTF-8?q?=E3=82=8C=E3=81=A6=E3=81=84=E3=81=9F=E5=AE=9A=E6=95=B0=E3=82=92?= =?UTF-8?q?=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/jp/atled/agileworks/view/ui/MainActivity.kt | 1 - 1 file changed, 1 deletion(-) 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 e8f4b3b9..1c013eac 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 @@ -203,7 +203,6 @@ class MainActivity : AppCompatActivity() { companion object { const val APPROVAL_DEEPLINK_CODE_KEY = "main:deeplink:approval:code" const val APPROVAL_DEEPLINK_NAME_KEY = "main:deeplink:approval:name" - const val WIDGET_NO_DATA = "widget no data" fun start(context: Context, bundle: Bundle?) = context.startActivity(startIntent(context, bundle)) -- GitLab From 8e6ffeccc6ad38a7e02e07d8806ae332d32bf1e7 Mon Sep 17 00:00:00 2001 From: AKIRA TAKEDA Date: Thu, 17 Feb 2022 10:45:26 +0900 Subject: [PATCH 7/7] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E3=83=AC?= =?UTF-8?q?=E3=83=93=E3=83=A5=E3=83=BC=E6=8C=87=E6=91=98=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=20=E9=81=B7=E7=A7=BB=E5=85=88URL=E3=81=AF=E3=82=A6=E3=82=A3?= =?UTF-8?q?=E3=82=B8=E3=82=A7=E3=83=83=E3=83=88=E5=81=B4=E3=81=8C=E6=8C=81?= =?UTF-8?q?=E3=81=A4=E3=82=88=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 --- .../atled/agileworks/view/ui/MainActivity.kt | 21 ++++-------- .../agileworks/widget/AwAppWidgetCell.kt | 3 +- .../widget/AwAppWidgetRemoteViewsFactory.kt | 34 ++++++++++++++++++- 3 files changed, 41 insertions(+), 17 deletions(-) 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 1c013eac..eefb503b 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 @@ -14,12 +14,10 @@ import androidx.annotation.StringRes import androidx.appcompat.app.ActionBar import androidx.appcompat.app.AppCompatActivity import androidx.core.app.NotificationManagerCompat -import androidx.core.os.bundleOf import androidx.fragment.app.Fragment import androidx.lifecycle.LiveData import androidx.lifecycle.Observer import androidx.navigation.NavController -import androidx.navigation.NavDeepLinkBuilder import androidx.navigation.ui.AppBarConfiguration import androidx.navigation.ui.navigateUp import androidx.navigation.ui.setupActionBarWithNavController @@ -29,7 +27,6 @@ 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.model.LoginRepository import jp.atled.agileworks.view.ui.documentweb.DocumentWebFragment import jp.atled.agileworks.view.ui.login.LoginUtil import jp.atled.agileworks.view.utils.putNonNullStingFromExtra @@ -70,20 +67,12 @@ class MainActivity : AppCompatActivity() { private fun followDeepLink() { // ウィジェットタップ時の情報伝達 - val deepApprove = intent.getStringExtra(APPROVAL_DEEPLINK_CODE_KEY) - if (!deepApprove.isNullOrEmpty()) { - val deepLink = NavDeepLinkBuilder(this) - .setGraph(R.navigation.nav_home) - .setDestination(R.id.homeDocumentWebFragment) - .setArguments(bundleOf( - // ToDo URL設定(エイトレッドさん検討中) - // 仮URL設定(仕事画面に遷移する) - "url" to "https://" + LoginRepository().loadServerUrl() + "/" + LoginRepository().loadServerContext() + "/Broker/Mobile#work" - )) - .createTaskStackBuilder() + val deepApproveUrl = intent.getStringExtra(APPROVAL_DEEPLINK_URL_KEY) + if (!deepApproveUrl.isNullOrEmpty()) { + intent.putExtra("url", deepApproveUrl) val approvalFragment = DocumentWebFragment() - approvalFragment.arguments = deepLink.intents[0].extras + approvalFragment.arguments = intent.extras supportFragmentManager.beginTransaction() .addToBackStack(null) @@ -203,6 +192,7 @@ class MainActivity : AppCompatActivity() { companion object { const val APPROVAL_DEEPLINK_CODE_KEY = "main:deeplink:approval:code" const val APPROVAL_DEEPLINK_NAME_KEY = "main:deeplink:approval:name" + const val APPROVAL_DEEPLINK_URL_KEY = "approvalDeeplinkUrl" fun start(context: Context, bundle: Bundle?) = context.startActivity(startIntent(context, bundle)) @@ -221,4 +211,5 @@ fun Fragment.updateToolbarCount(count: Int) { fun Intent.toDeepLinkArguments() = Bundle().apply { putNonNullStingFromExtra(this@toDeepLinkArguments, MainActivity.APPROVAL_DEEPLINK_CODE_KEY) putNonNullStingFromExtra(this@toDeepLinkArguments, MainActivity.APPROVAL_DEEPLINK_NAME_KEY) + putNonNullStingFromExtra(this@toDeepLinkArguments, MainActivity.APPROVAL_DEEPLINK_URL_KEY) } \ No newline at end of file diff --git a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetCell.kt b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetCell.kt index 6caab370..39730c8f 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetCell.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetCell.kt @@ -9,7 +9,8 @@ import com.squareup.moshi.JsonClass data class AwAppWidgetCell( val code: String, val name: String, - val count: Int + val count: Int, + val url: String ) {} /** 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 177697a2..230d1036 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt @@ -6,6 +6,7 @@ import android.util.Log import android.view.View import android.widget.RemoteViews import android.widget.RemoteViewsService +import jp.atled.agileworks.AwApp import jp.atled.agileworks.R import jp.atled.agileworks.common.util.toFormattedString import jp.atled.agileworks.model.ApprovalInfo @@ -58,6 +59,7 @@ class AwAppWidgetRemoteViewsFactory(applicationContext: Context, intent: Intent? if (item != null) { putExtra(MainActivity.APPROVAL_DEEPLINK_NAME_KEY, item.name) putExtra(MainActivity.APPROVAL_DEEPLINK_CODE_KEY, item.code) + putExtra(MainActivity.APPROVAL_DEEPLINK_URL_KEY, item.url) } } @@ -139,7 +141,8 @@ class AwAppWidgetRemoteViewsFactory(applicationContext: Context, intent: Intent? val item = AwAppWidgetCell( code = approvalInfoItem.code, name = approvalInfoItem.name, - count = approvalInfoItem.count + count = approvalInfoItem.count, + url = getTransitionDestinationUrl(approvalInfoItem.code) ) itemList.add(item) } @@ -169,6 +172,35 @@ class AwAppWidgetRemoteViewsFactory(applicationContext: Context, intent: Intent? } } + private fun getTransitionDestinationUrl(approvalInfoCode: String): String { + val baseUrl = AwApp.Baseurl() + "Broker/Mobile" + val debugUrl = AwApp.Baseurl() + "Broker/Document" // ToDo 仮URL設定用 削除予定 + + // ToDo URL設定(エイトレッドさん検討中) + // 仮URL設定(仕事画面に遷移する) + when (approvalInfoCode) { + //ApprovalInfo.NOTIFICATION_MESSAGE -> {return "$baseUrl#" } // 通知メッセージ + ApprovalInfo.NOTIFICATION_MESSAGE -> {return "$debugUrl?DocId=171" } // 通知メッセージ + ApprovalInfo.DRAFT -> {return "$baseUrl#work" } // 下書き + ApprovalInfo.REQUEST_APPLICATION -> {return "$baseUrl#agileWorksSearch" } // 申請依頼 + //ApprovalInfo.REQUEST_APPROVAL -> {return "$baseUrl#" } // 承認依頼 + ApprovalInfo.REQUEST_APPROVAL -> {return "$debugUrl?DocId=166" } // 承認依頼 + //ApprovalInfo.REMAND -> {return "$baseUrl#" } // 差戻し + ApprovalInfo.REMAND -> {return "$debugUrl?DocId=164" } // 差戻し + //ApprovalInfo.CHECK_REPORT -> {return "$baseUrl#" } // 報告確認 + ApprovalInfo.CHECK_REPORT -> {return "$debugUrl?DocId=167" } // 報告確認 + //ApprovalInfo.DEMAND -> {return "$baseUrl#" } // 督促あり + ApprovalInfo.DEMAND -> {return "$debugUrl?DocId=168" } // 督促あり + // ToDo API修正待ち + //ApprovalInfo.CIRCULATION -> {return "$baseUrl#" } // 回付予定 + //ApprovalInfo.SHARE -> {return "$baseUrl#" } // 共有した + ApprovalInfo.SHARE -> {return "$debugUrl?DocId=169" } // 共有した + //ApprovalInfo.SHARED -> {return "$baseUrl#" } // 共有された + ApprovalInfo.SHARED -> {return "$debugUrl?DocId=170" } // 共有された + else -> {return ""} + } + } + companion object { const val EXTRA_APPROVAL_FILTER_CODES = "jp.atled.agileworks.widget.EXTRA_APPROVAL_FILTER_CODES" } -- GitLab