You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2015/03/24 18:36:44 UTC
android commit: CB-7085 Add onConfigurationChanged hook for plugins
(close #165)
Repository: cordova-android
Updated Branches:
refs/heads/master 151b86cb7 -> 32e84d231
CB-7085 Add onConfigurationChanged hook for plugins (close #165)
Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/32e84d23
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/32e84d23
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/32e84d23
Branch: refs/heads/master
Commit: 32e84d231607a2b35bc77da3471494e255222ee7
Parents: 151b86c
Author: Tim Lancina <ti...@drifty.com>
Authored: Tue Mar 24 10:29:22 2015 -0500
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Tue Mar 24 13:36:25 2015 -0400
----------------------------------------------------------------------
.../src/org/apache/cordova/CordovaActivity.java | 18 ++++++++++++++++++
.../src/org/apache/cordova/CordovaPlugin.java | 9 +++++++++
.../src/org/apache/cordova/PluginManager.java | 14 ++++++++++++++
3 files changed, 41 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/32e84d23/framework/src/org/apache/cordova/CordovaActivity.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaActivity.java b/framework/src/org/apache/cordova/CordovaActivity.java
index 5d0a586..ab1ef88 100755
--- a/framework/src/org/apache/cordova/CordovaActivity.java
+++ b/framework/src/org/apache/cordova/CordovaActivity.java
@@ -28,6 +28,7 @@ import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.res.Configuration;
import android.graphics.Color;
import android.media.AudioManager;
import android.os.Bundle;
@@ -441,4 +442,21 @@ public class CordovaActivity extends Activity {
super.onSaveInstanceState(outState);
cordovaInterface.onSaveInstanceState(outState);
}
+
+ /**
+ * Called by the system when the device configuration changes while your activity is running.
+ *
+ * @param newConfig The new device configuration
+ */
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ if (this.appView == null) {
+ return;
+ }
+ PluginManager pm = this.appView.getPluginManager();
+ if (pm != null) {
+ pm.onConfigurationChanged(newConfig);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/32e84d23/framework/src/org/apache/cordova/CordovaPlugin.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaPlugin.java b/framework/src/org/apache/cordova/CordovaPlugin.java
index 95a39c7..0d08117 100644
--- a/framework/src/org/apache/cordova/CordovaPlugin.java
+++ b/framework/src/org/apache/cordova/CordovaPlugin.java
@@ -26,6 +26,7 @@ import org.json.JSONArray;
import org.json.JSONException;
import android.content.Intent;
+import android.content.res.Configuration;
import android.net.Uri;
import java.io.FileNotFoundException;
@@ -338,4 +339,12 @@ public class CordovaPlugin {
public boolean onReceivedClientCertRequest(CordovaWebView view, ICordovaClientCertRequest request) {
return false;
}
+
+ /**
+ * Called by the system when the device configuration changes while your activity is running.
+ *
+ * @param newConfig The new device configuration
+ */
+ public void onConfigurationChanged(Configuration newConfig) {
+ }
}
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/32e84d23/framework/src/org/apache/cordova/PluginManager.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/PluginManager.java b/framework/src/org/apache/cordova/PluginManager.java
index 9306009..7115bb1 100755
--- a/framework/src/org/apache/cordova/PluginManager.java
+++ b/framework/src/org/apache/cordova/PluginManager.java
@@ -24,6 +24,7 @@ import java.util.LinkedHashMap;
import org.json.JSONException;
import android.content.Intent;
+import android.content.res.Configuration;
import android.net.Uri;
import android.os.Debug;
import android.util.Log;
@@ -488,4 +489,17 @@ public class PluginManager {
}
return ret;
}
+
+ /**
+ * Called by the system when the device configuration changes while your activity is running.
+ *
+ * @param newConfig The new device configuration
+ */
+ public void onConfigurationChanged(Configuration newConfig) {
+ for (CordovaPlugin plugin : this.pluginMap.values()) {
+ if (plugin != null) {
+ plugin.onConfigurationChanged(newConfig);
+ }
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org