diff --git a/bin/lib/create.js b/bin/lib/create.js index cc13bc44..5e21b894 100755 --- a/bin/lib/create.js +++ b/bin/lib/create.js @@ -155,14 +155,32 @@ exports.createProject = function(project_path, package_name, project_name, proje return Q.reject('Project already exists! Delete and recreate'); } + //Make the package conform to Java package types if (!/[a-zA-Z0-9_]+\.[a-zA-Z0-9_](.[a-zA-Z0-9_])*/.test(package_name)) { return Q.reject('Package name must look like: com.company.Name'); } + //Enforce underscore limitation + if (/[_]+[a-zA-Z0-9_]*/.test(package_name)) { + return Q.reject("Package name can't begin with an underscore"); + } + + //Enforce stupid name error if (project_name === 'CordovaActivity') { return Q.reject('Project name cannot be CordovaActivity'); } + //Classes in Java don't begin with numbers + if (/[0-9]+[a-zA-Z0-9]/.test(project_name)) { + return Q.reject('Project name must not begin with a number'); + } + + //Class is a reserved word + if(/[C|c]+lass+[\s|\.]/.test(package_name) && !/[a-zA-Z0-9_]+[C|c]+lass/.test(package_name)) + { + return Q.reject('class is a reserved word'); + } + // Check that requirements are met and proper targets are installed return check_reqs.run() .then(function() { diff --git a/bin/templates/project/AndroidManifest.xml b/bin/templates/project/AndroidManifest.xml index 9f1c4e40..8f7d9593 100644 --- a/bin/templates/project/AndroidManifest.xml +++ b/bin/templates/project/AndroidManifest.xml @@ -17,8 +17,8 @@ specific language governing permissions and limitations under the License. --> - + diff --git a/framework/src/org/apache/cordova/AndroidChromeClient.java b/framework/src/org/apache/cordova/AndroidChromeClient.java index 1297a6c7..e0e9dfab 100755 --- a/framework/src/org/apache/cordova/AndroidChromeClient.java +++ b/framework/src/org/apache/cordova/AndroidChromeClient.java @@ -107,6 +107,7 @@ public class AndroidChromeClient extends WebChromeClient implements CordovaChrom * @param url * @param message * @param result + * @see Other implementation in the Dialogs plugin. */ @Override public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { @@ -150,6 +151,7 @@ public class AndroidChromeClient extends WebChromeClient implements CordovaChrom * @param url * @param message * @param result + * @see Other implementation in the Dialogs plugin. */ @Override public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) { @@ -204,6 +206,7 @@ public class AndroidChromeClient extends WebChromeClient implements CordovaChrom * @param message * @param defaultValue * @param result + * @see Other implementation in the Dialogs plugin. */ @Override public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) { diff --git a/framework/src/org/apache/cordova/AndroidWebView.java b/framework/src/org/apache/cordova/AndroidWebView.java index f1378c4f..5001b641 100755 --- a/framework/src/org/apache/cordova/AndroidWebView.java +++ b/framework/src/org/apache/cordova/AndroidWebView.java @@ -772,12 +772,6 @@ public class AndroidWebView extends WebView implements CordovaWebView { return true; } // If not, then invoke default behavior - else { - //this.activityState = ACTIVITY_EXITING; - //return false; - // If they hit back button when app is initializing, app should exit instead of hang until initialization (CB2-458) - this.cordova.getActivity().finish(); - } } } }