You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2016/10/26 20:02:43 UTC
cordova-plugin-compat git commit: CB-11625: Adding the BuildConfig
fetching code as a backup to using a new preference
Repository: cordova-plugin-compat
Updated Branches:
refs/heads/master 6f4395982 -> 23520f8e5
CB-11625: Adding the BuildConfig fetching code as a backup to using a new preference
This closes #2
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-compat/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-compat/commit/23520f8e
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-compat/tree/23520f8e
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-compat/diff/23520f8e
Branch: refs/heads/master
Commit: 23520f8e5d45f4231195db3f12748545a74c1340
Parents: 6f43959
Author: Joe Bowser <bo...@apache.org>
Authored: Fri Oct 21 13:53:41 2016 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Wed Oct 26 13:01:08 2016 -0700
----------------------------------------------------------------------
plugin.xml | 3 +-
src/android/BuildHelper.java | 70 +++++++++++++++++++++++++++++++++++++++
2 files changed, 72 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-compat/blob/23520f8e/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
index e1c816d..875e751 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -30,7 +30,8 @@
<!-- android -->
<platform name="android">
- <source-file src="src/android/PermissionHelper.java" target-dir="src/org/apache/cordova" />
+ <source-file src="src/android/PermissionHelper.java" target-dir="src/org/apache/cordova" />
+ <source-file src="src/android/BuildHelper.java" target-dir="src/org/apache/cordova" />
</platform>
</plugin>
http://git-wip-us.apache.org/repos/asf/cordova-plugin-compat/blob/23520f8e/src/android/BuildHelper.java
----------------------------------------------------------------------
diff --git a/src/android/BuildHelper.java b/src/android/BuildHelper.java
new file mode 100644
index 0000000..d9b18aa
--- /dev/null
+++ b/src/android/BuildHelper.java
@@ -0,0 +1,70 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/
+
+package org.apache.cordova;
+
+/*
+ * This is a utility class that allows us to get the BuildConfig variable, which is required
+ * for the use of different providers. This is not guaranteed to work, and it's better for this
+ * to be set in the build step in config.xml
+ *
+ */
+
+import android.app.Activity;
+import android.content.Context;
+
+import java.lang.reflect.Field;
+
+
+public class BuildHelper {
+
+
+ private static String TAG="BuildHelper";
+
+ /*
+ * This needs to be implemented if you wish to use the Camera Plugin or other plugins
+ * that read the Build Configuration.
+ *
+ * Thanks to Phil@Medtronic and Graham Borland for finding the answer and posting it to
+ * StackOverflow. This is annoying as hell! However, this method does not work with
+ * ProGuard, and you should use the config.xml to define the application_id
+ *
+ */
+
+ public static Object getBuildConfigValue(Context ctx, String key)
+ {
+ try
+ {
+ Class<?> clazz = Class.forName(ctx.getPackageName() + ".BuildConfig");
+ Field field = clazz.getField(key);
+ return field.get(null);
+ } catch (ClassNotFoundException e) {
+ LOG.d(TAG, "Unable to get the BuildConfig, is this built with ANT?");
+ e.printStackTrace();
+ } catch (NoSuchFieldException e) {
+ LOG.d(TAG, key + " is not a valid field. Check your build.gradle");
+ } catch (IllegalAccessException e) {
+ LOG.d(TAG, "Illegal Access Exception: Let's print a stack trace.");
+ e.printStackTrace();
+ }
+
+ return null;
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org