[ 
https://issues.apache.org/jira/browse/CB-10653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15363829#comment-15363829
 ] 

ASF GitHub Bot commented on CB-10653:
-------------------------------------

Github user afourney commented on the issue:

    https://github.com/apache/cordova-windows/pull/173
  
    To follow up: I was testing on Windows 10 desktop and Windows 10 mobile. On 
both platforms the e.detail.result field goes missing when e.detail.kind === 
activation.ActivationKind.voiceCommand and accessed outside of the event 
handler.
    
    I don't think that both cloning and keeping the original object is a 
solution. It sounds like clone fails when it's Activation.ActivationKind.file.  
I suppose we could wrap the clone in a try/catch, or build a more robust clone 
operator for this use case.


> Universal Windows Platform -- activationContext is incomplete
> -------------------------------------------------------------
>
>                 Key: CB-10653
>                 URL: https://issues.apache.org/jira/browse/CB-10653
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Windows
>         Environment: Windows 10, Windows 10 Phone
>            Reporter: Adam Fourney
>            Assignee: Raghav Katyal
>            Priority: Minor
>              Labels: easyfix
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> CB-8674 modified cordova-js-src/platform.js to capture the application's 
> onactivated event, and record the details in the platform.activationContext 
> instance. 
> Unfortunately, CB-8674 covers only a few of the 12 types of UWP activation 
> events. As an example, if an app is activated by a Cortana voice command, the 
> details are missed. See here for more details: 
> https://msdn.microsoft.com/en-us/library/windows/apps/br212679.aspx
> The proposed fix is to change:
> var activationHandler = function (e) {
>        var args = e.detail.arguments;
>        var actType = e.detail.type;
>        platform.activationContext = { type: actType, args: args };
>        cordova.fireDocumentEvent('activated', platform.activationContext, 
> true);
> };
> To be: 
>             var activationHandler = function (e) {
>                 platform.activationContext = utils.clone(e.detail);
>                 platform.activationContext.args = e.detail.arguments; // 
> Backwards compatibility
>                 cordova.fireDocumentEvent('activated', 
> platform.activationContext, true);
>             };
> This also means that platform.js should require("cordova/utils")



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to