From 33c77dcce3af71afc33fb437df8057f03c966cdc Mon Sep 17 00:00:00 2001 From: Daniel Toplak Date: Wed, 26 Nov 2014 08:31:45 +0100 Subject: [PATCH 1/2] CB-8079 use application package name instead of activity package name, because the application package name could be different from the activity package name --- framework/src/org/apache/cordova/CordovaActivity.java | 2 +- framework/src/org/apache/cordova/CordovaPreferences.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/CordovaActivity.java b/framework/src/org/apache/cordova/CordovaActivity.java index 3c12a97a6c..02e7e8b661 100755 --- a/framework/src/org/apache/cordova/CordovaActivity.java +++ b/framework/src/org/apache/cordova/CordovaActivity.java @@ -362,7 +362,7 @@ public void loadUrl(String url) { String splash = preferences.getString("SplashScreen", null); if(this.splashscreenTime > 0 && splash != null) { - this.splashscreen = getResources().getIdentifier(splash, "drawable", getClass().getPackage().getName());; + this.splashscreen = getResources().getIdentifier(splash, "drawable", this.getPackageName()); if(this.splashscreen != 0) { this.showSplashScreen(this.splashscreenTime); diff --git a/framework/src/org/apache/cordova/CordovaPreferences.java b/framework/src/org/apache/cordova/CordovaPreferences.java index 536f25a2d9..9413b05c68 100644 --- a/framework/src/org/apache/cordova/CordovaPreferences.java +++ b/framework/src/org/apache/cordova/CordovaPreferences.java @@ -132,7 +132,7 @@ public void copyIntoIntentExtras(Activity action) { LOG.setLogLevel(value); } else if (name.equals("splashscreen")) { // Note: We should probably pass in the classname for the variable splash on splashscreen! - int resource = action.getResources().getIdentifier(value, "drawable", action.getClass().getPackage().getName()); + int resource = action.getResources().getIdentifier(value, "drawable", action.getPackageName()); action.getIntent().putExtra(name, resource); } else if(name.equals("backgroundcolor")) { From 2b7d525de4effce8f425e1013a28476c46340028 Mon Sep 17 00:00:00 2001 From: Daniel Toplak Date: Mon, 1 Dec 2014 11:58:19 +0100 Subject: [PATCH 2/2] CB-8079 use old resource lookup behavior. The old behavior uses the activity class package name. The fallback uses the application package name, when the resource is not found. --- framework/src/org/apache/cordova/CordovaActivity.java | 5 ++++- framework/src/org/apache/cordova/CordovaPreferences.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/CordovaActivity.java b/framework/src/org/apache/cordova/CordovaActivity.java index c896dc794a..2eae8c307c 100755 --- a/framework/src/org/apache/cordova/CordovaActivity.java +++ b/framework/src/org/apache/cordova/CordovaActivity.java @@ -365,7 +365,10 @@ public void loadUrl(String url) { String splash = preferences.getString("SplashScreen", null); if(this.splashscreenTime > 0 && splash != null) { - this.splashscreen = getResources().getIdentifier(splash, "drawable", this.getPackageName()); + this.splashscreen = getResources().getIdentifier(splash, "drawable", getClass().getPackage().getName()); + if(this.splashscreen == 0) { + this.splashscreen = getResources().getIdentifier(splash, "drawable", this.getPackageName()); + } if(this.splashscreen != 0) { this.showSplashScreen(this.splashscreenTime); diff --git a/framework/src/org/apache/cordova/CordovaPreferences.java b/framework/src/org/apache/cordova/CordovaPreferences.java index 9413b05c68..ed0b9b8951 100644 --- a/framework/src/org/apache/cordova/CordovaPreferences.java +++ b/framework/src/org/apache/cordova/CordovaPreferences.java @@ -132,7 +132,10 @@ public void copyIntoIntentExtras(Activity action) { LOG.setLogLevel(value); } else if (name.equals("splashscreen")) { // Note: We should probably pass in the classname for the variable splash on splashscreen! - int resource = action.getResources().getIdentifier(value, "drawable", action.getPackageName()); + int resource = action.getResources().getIdentifier(value, "drawable", action.getClass().getPackage().getName()); + if(resource == 0) { + resource = action.getResources().getIdentifier(value, "drawable", action.getPackageName()); + } action.getIntent().putExtra(name, resource); } else if(name.equals("backgroundcolor")) {