예제 #1
0
            public override void OnReceive(Context context, Intent intent)
            {
                var pluginPackage = intent.GetStringExtra(Strings.ExtraSender);

                if (new PluginDatabase(context).IsValidAccessToken(pluginPackage,
                                                                   intent.GetStringExtra(Strings.ExtraAccessToken),
                                                                   Strings.ScopeCurrentEntry))
                {
                    if (intent.GetStringExtra(Strings.ExtraEntryId) != _activity.Entry.Uuid.ToHexString())
                    {
                        Kp2aLog.Log("received action for wrong entry " + intent.GetStringExtra(Strings.ExtraEntryId));
                        return;
                    }
                    _activity.AddPluginAction(pluginPackage,
                                              intent.GetStringExtra(Strings.ExtraFieldId),
                                              intent.GetStringExtra(Strings.ExtraActionId),
                                              intent.GetStringExtra(Strings.ExtraActionDisplayText),
                                              intent.GetIntExtra(Strings.ExtraActionIconResId, -1),
                                              intent.GetBundleExtra(Strings.ExtraActionData));
                }
                else
                {
                    Kp2aLog.Log("received invalid request. Plugin not authorized.");
                }
            }