Peter created CB-3996:
-------------------------

             Summary: Helper methods in CallbackContext are not being used 
where they could be
                 Key: CB-3996
                 URL: https://issues.apache.org/jira/browse/CB-3996
             Project: Apache Cordova
          Issue Type: Improvement
          Components: Android
    Affects Versions: 2.7.0
            Reporter: Peter
            Assignee: Joe Bowser
            Priority: Trivial


The CallbackContext class has a variety of success/error "helper" methods which 
seem intended to hide the details of constructing/sending the PluginResult.

Reviewing the code found:

1. Not all kinds of PluginResult message are represented. For example the float 
one is absent; maybe others:
{code}
public void success(float message)
{code}

2. Most JavaDoc for those success/error methods is not correct: Some are 
cut/paste comments. Some others refer to *@param callbackId* when no such 
parameter exists.

3. There are many places where these helper methods should be used as intended 
to reduce complexity of the calling code. For example,
{code}
org\apache\cordova\App.java(84): callbackContext.sendPluginResult(new 
PluginResult(status, result));
org\apache\cordova\AudioHandler.java(95): callbackContext.sendPluginResult(new 
PluginResult(status, f));
org\apache\cordova\AudioHandler.java(100): callbackContext.sendPluginResult(new 
PluginResult(status, f));
org\apache\cordova\AudioHandler.java(111): callbackContext.sendPluginResult(new 
PluginResult(status, b));
org\apache\cordova\AudioHandler.java(118): callbackContext.sendPluginResult(new 
PluginResult(status, result));
org\apache\cordova\Capture.java(249): this.callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, results));
org\apache\cordova\Capture.java(295): this.callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, results));
org\apache\cordova\Capture.java(312): this.callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, results));
org\apache\cordova\Capture.java(323): this.callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, results));
org\apache\cordova\Capture.java(334): this.callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, results));
org\apache\cordova\CompassListener.java(102): 
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, i));
org\apache\cordova\CompassListener.java(120): 
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, 
getCompassHeading()));
org\apache\cordova\CompassListener.java(127): 
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, l));
org\apache\cordova\ContactManager.java(62): 
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR, 
ContactManager.NOT_SUPPORTED_ERROR));
org\apache\cordova\ContactManager.java(100): 
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR, 
UNKNOWN_ERROR));
org\apache\cordova\ContactManager.java(112): 
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR, 
UNKNOWN_ERROR));
org\apache\cordova\FileTransfer.java(517): context.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, result.toJSONObject()));
org\apache\cordova\FileTransfer.java(945): context.sendPluginResult(new 
PluginResult(PluginResult.Status.ERROR, error));
org\apache\cordova\FileUtils.java(97): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, b));
org\apache\cordova\FileUtils.java(101): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, l));
org\apache\cordova\FileUtils.java(105): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, b));
org\apache\cordova\FileUtils.java(109): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, b));
org\apache\cordova\FileUtils.java(138): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, fileSize));
org\apache\cordova\FileUtils.java(142): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, fileSize));
org\apache\cordova\FileUtils.java(147): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.ERROR, FileUtils.QUOTA_EXCEEDED_ERR));
org\apache\cordova\FileUtils.java(158): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, getMetadata(args.getString(0))));
org\apache\cordova\Globalization.java(128): 
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR, 
ge.toJson()));
org\apache\cordova\InAppBrowser.java(152): 
this.callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
org\apache\cordova\Notification.java(169): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, 0));
org\apache\cordova\Notification.java(176): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, 0));
org\apache\cordova\Notification.java(215): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, 1));
org\apache\cordova\Notification.java(228): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, 2));
org\apache\cordova\Notification.java(241): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, 3));
org\apache\cordova\Notification.java(251): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, 0));
org\apache\cordova\Notification.java(301): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, result));
org\apache\cordova\Notification.java(318): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, result));
org\apache\cordova\Notification.java(335): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, result));
org\apache\cordova\Notification.java(349): callbackContext.sendPluginResult(new 
PluginResult(PluginResult.Status.OK, result));
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to