public virtual async void OnReceive(Context context, Intent intent) { NotificationBroadcastReceiver broadcastReceiver = this; if (context == null || intent == null || !(intent.get_Action() == "OpenNotification")) { return; } await MvvmCrossHelper.Init(context); bool isNewTaskRequired = broadcastReceiver.IsContextIsService(context); if (MainActivity.instance == null) { broadcastReceiver.StartNewMainActivity(context, isNewTaskRequired, intent); } else if (CrossCurrentActivity.get_Current().get_Activity() == null) { broadcastReceiver.StartNewMainActivity(context, isNewTaskRequired, intent); ((IMvxMessenger)Mvx.get_IoCProvider().Resolve <IMvxMessenger>()).Publish <DelayedOpenNotificationMessage>((M0) new DelayedOpenNotificationMessage((object)broadcastReceiver, NotificationBroadcastReceiver.CreatePushMessageBundle(intent.get_Extras()))); } else { await broadcastReceiver.NavigateToRootPage(); ((IMvxMessenger)Mvx.get_IoCProvider().Resolve <IMvxMessenger>()).Publish <DelayedOpenNotificationMessage>((M0) new DelayedOpenNotificationMessage((object)broadcastReceiver, NotificationBroadcastReceiver.CreatePushMessageBundle(intent.get_Extras()))); } }
private async Task Init() { FirebaseIdService firebaseIdService = this; await MvvmCrossHelper.Init((Context)firebaseIdService); if (!Mvx.get_IoCProvider().CanResolve <IPushNotificationService>()) { return; } firebaseIdService._pushNotificationService = (IPushNotificationService)Mvx.get_IoCProvider().Resolve <IPushNotificationService>(); }