[ https://issues.apache.org/jira/browse/CB-13309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16329346#comment-16329346 ]
ASF GitHub Bot commented on CB-13309: ------------------------------------- infil00p closed pull request #242: CB-13309: InAppBrowser as a Library Project URL: https://github.com/apache/cordova-plugin-inappbrowser/pull/242 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/plugin.xml b/plugin.xml index 5329fdfd..7031c239 100644 --- a/plugin.xml +++ b/plugin.xml @@ -45,25 +45,7 @@ </feature> </config-file> - <source-file src="src/android/InAppBrowser.java" target-dir="src/org/apache/cordova/inappbrowser" /> - <source-file src="src/android/InAppBrowserDialog.java" target-dir="src/org/apache/cordova/inappbrowser" /> - <source-file src="src/android/InAppChromeClient.java" target-dir="src/org/apache/cordova/inappbrowser" /> - - <!-- drawable src/android/resources --> - <resource-file src="src/android/res/drawable-hdpi/ic_action_next_item.png" target="res/drawable-hdpi/ic_action_next_item.png" /> - <resource-file src="src/android/res/drawable-mdpi/ic_action_next_item.png" target="res/drawable-mdpi/ic_action_next_item.png" /> - <resource-file src="src/android/res/drawable-xhdpi/ic_action_next_item.png" target="res/drawable-xhdpi/ic_action_next_item.png" /> - <resource-file src="src/android/res/drawable-xxhdpi/ic_action_next_item.png" target="res/drawable-xxhdpi/ic_action_next_item.png" /> - - <resource-file src="src/android/res/drawable-hdpi/ic_action_previous_item.png" target="res/drawable-hdpi/ic_action_previous_item.png" /> - <resource-file src="src/android/res/drawable-mdpi/ic_action_previous_item.png" target="res/drawable-mdpi/ic_action_previous_item.png" /> - <resource-file src="src/android/res/drawable-xhdpi/ic_action_previous_item.png" target="res/drawable-xhdpi/ic_action_previous_item.png" /> - <resource-file src="src/android/res/drawable-xxhdpi/ic_action_previous_item.png" target="res/drawable-xxhdpi/ic_action_previous_item.png" /> - - <resource-file src="src/android/res/drawable-hdpi/ic_action_remove.png" target="res/drawable-hdpi/ic_action_remove.png" /> - <resource-file src="src/android/res/drawable-mdpi/ic_action_remove.png" target="res/drawable-mdpi/ic_action_remove.png" /> - <resource-file src="src/android/res/drawable-xhdpi/ic_action_remove.png" target="res/drawable-xhdpi/ic_action_remove.png" /> - <resource-file src="src/android/res/drawable-xxhdpi/ic_action_remove.png" target="res/drawable-xxhdpi/ic_action_remove.png" /> + <framework src="src/android/InAppBrowser" custom="true" /> </platform> diff --git a/src/android/InAppBrowser/.gitignore b/src/android/InAppBrowser/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/src/android/InAppBrowser/.gitignore @@ -0,0 +1 @@ +/build diff --git a/src/android/InAppBrowser/InAppBrowser.iml b/src/android/InAppBrowser/InAppBrowser.iml new file mode 100644 index 00000000..d545ea40 --- /dev/null +++ b/src/android/InAppBrowser/InAppBrowser.iml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module external.linked.project.id=":InAppBrowser" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="LibraryDevProject" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> + <component name="FacetManager"> + <facet type="android-gradle" name="Android-Gradle"> + <configuration> + <option name="GRADLE_PROJECT_PATH" value=":InAppBrowser" /> + </configuration> + </facet> + <facet type="android" name="Android"> + <configuration> + <option name="SELECTED_BUILD_VARIANT" value="debug" /> + <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" /> + <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" /> + <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" /> + <afterSyncTasks> + <task>generateDebugSources</task> + </afterSyncTasks> + <option name="ALLOW_USER_CONFIGURATION" value="false" /> + <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" /> + <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" /> + <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" /> + <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" /> + <option name="LIBRARY_PROJECT" value="true" /> + </configuration> + </facet> + </component> + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false"> + <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" /> + <output-test url="file://$MODULE_DIR$/build/intermediates/classes/test/debug" /> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" /> + <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" /> + <excludeFolder url="file://$MODULE_DIR$/build/outputs" /> + <excludeFolder url="file://$MODULE_DIR$/build/tmp" /> + </content> + <orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" /> + <orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" /> + <orderEntry type="module" module-name="CordovaLib" exported="" /> + </component> +</module> \ No newline at end of file diff --git a/src/android/InAppBrowser/build.gradle b/src/android/InAppBrowser/build.gradle new file mode 100644 index 00000000..6fc1a36f --- /dev/null +++ b/src/android/InAppBrowser/build.gradle @@ -0,0 +1,40 @@ +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'com.android.tools.build:gradle:2.1.0' + } +} + +apply plugin: 'com.android.library' + +android { + compileSdkVersion 23 + buildToolsVersion "23.0.2" + + defaultConfig { + minSdkVersion 14 + targetSdkVersion 23 + versionCode 1 + versionName "1.0" + } + + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } + + // This is required once you specify debug and non-debug builds + publishNonDefault true + +} + +dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') + testCompile 'junit:junit:4.12' + compile project(':CordovaLib') +} diff --git a/src/android/InAppBrowser/proguard-rules.pro b/src/android/InAppBrowser/proguard-rules.pro new file mode 100644 index 00000000..73631aff --- /dev/null +++ b/src/android/InAppBrowser/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/jbowser/Library/Android/sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/src/android/InAppBrowser/src/androidTest/java/org/apache/cordova/inappbrowser/ApplicationTest.java b/src/android/InAppBrowser/src/androidTest/java/org/apache/cordova/inappbrowser/ApplicationTest.java new file mode 100644 index 00000000..5e52219a --- /dev/null +++ b/src/android/InAppBrowser/src/androidTest/java/org/apache/cordova/inappbrowser/ApplicationTest.java @@ -0,0 +1,13 @@ +package org.apache.cordova.inappbrowser; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a> + */ +public class ApplicationTest extends ApplicationTestCase<Application> { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/src/android/InAppBrowser/src/main/AndroidManifest.xml b/src/android/InAppBrowser/src/main/AndroidManifest.xml new file mode 100644 index 00000000..ff4380ae --- /dev/null +++ b/src/android/InAppBrowser/src/main/AndroidManifest.xml @@ -0,0 +1,11 @@ +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.apache.cordova.inappbrowser"> + + <application + android:allowBackup="true" + android:label="@string/app_name" + android:supportsRtl="true"> + + </application> + +</manifest> diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser/src/main/java/org/apache/cordova/inappbrowser/InAppBrowser.java similarity index 100% rename from src/android/InAppBrowser.java rename to src/android/InAppBrowser/src/main/java/org/apache/cordova/inappbrowser/InAppBrowser.java diff --git a/src/android/InAppBrowserDialog.java b/src/android/InAppBrowser/src/main/java/org/apache/cordova/inappbrowser/InAppBrowserDialog.java similarity index 100% rename from src/android/InAppBrowserDialog.java rename to src/android/InAppBrowser/src/main/java/org/apache/cordova/inappbrowser/InAppBrowserDialog.java diff --git a/src/android/InAppChromeClient.java b/src/android/InAppBrowser/src/main/java/org/apache/cordova/inappbrowser/InAppChromeClient.java similarity index 100% rename from src/android/InAppChromeClient.java rename to src/android/InAppBrowser/src/main/java/org/apache/cordova/inappbrowser/InAppChromeClient.java diff --git a/src/android/res/drawable-hdpi/ic_action_next_item.png b/src/android/InAppBrowser/src/main/res/drawable-hdpi/ic_action_next_item.png similarity index 100% rename from src/android/res/drawable-hdpi/ic_action_next_item.png rename to src/android/InAppBrowser/src/main/res/drawable-hdpi/ic_action_next_item.png diff --git a/src/android/res/drawable-hdpi/ic_action_previous_item.png b/src/android/InAppBrowser/src/main/res/drawable-hdpi/ic_action_previous_item.png similarity index 100% rename from src/android/res/drawable-hdpi/ic_action_previous_item.png rename to src/android/InAppBrowser/src/main/res/drawable-hdpi/ic_action_previous_item.png diff --git a/src/android/res/drawable-hdpi/ic_action_remove.png b/src/android/InAppBrowser/src/main/res/drawable-hdpi/ic_action_remove.png similarity index 100% rename from src/android/res/drawable-hdpi/ic_action_remove.png rename to src/android/InAppBrowser/src/main/res/drawable-hdpi/ic_action_remove.png diff --git a/src/android/res/drawable-mdpi/ic_action_next_item.png b/src/android/InAppBrowser/src/main/res/drawable-mdpi/ic_action_next_item.png similarity index 100% rename from src/android/res/drawable-mdpi/ic_action_next_item.png rename to src/android/InAppBrowser/src/main/res/drawable-mdpi/ic_action_next_item.png diff --git a/src/android/res/drawable-mdpi/ic_action_previous_item.png b/src/android/InAppBrowser/src/main/res/drawable-mdpi/ic_action_previous_item.png similarity index 100% rename from src/android/res/drawable-mdpi/ic_action_previous_item.png rename to src/android/InAppBrowser/src/main/res/drawable-mdpi/ic_action_previous_item.png diff --git a/src/android/res/drawable-mdpi/ic_action_remove.png b/src/android/InAppBrowser/src/main/res/drawable-mdpi/ic_action_remove.png similarity index 100% rename from src/android/res/drawable-mdpi/ic_action_remove.png rename to src/android/InAppBrowser/src/main/res/drawable-mdpi/ic_action_remove.png diff --git a/src/android/res/drawable-xhdpi/ic_action_next_item.png b/src/android/InAppBrowser/src/main/res/drawable-xhdpi/ic_action_next_item.png similarity index 100% rename from src/android/res/drawable-xhdpi/ic_action_next_item.png rename to src/android/InAppBrowser/src/main/res/drawable-xhdpi/ic_action_next_item.png diff --git a/src/android/res/drawable-xhdpi/ic_action_previous_item.png b/src/android/InAppBrowser/src/main/res/drawable-xhdpi/ic_action_previous_item.png similarity index 100% rename from src/android/res/drawable-xhdpi/ic_action_previous_item.png rename to src/android/InAppBrowser/src/main/res/drawable-xhdpi/ic_action_previous_item.png diff --git a/src/android/res/drawable-xhdpi/ic_action_remove.png b/src/android/InAppBrowser/src/main/res/drawable-xhdpi/ic_action_remove.png similarity index 100% rename from src/android/res/drawable-xhdpi/ic_action_remove.png rename to src/android/InAppBrowser/src/main/res/drawable-xhdpi/ic_action_remove.png diff --git a/src/android/res/drawable-xxhdpi/ic_action_next_item.png b/src/android/InAppBrowser/src/main/res/drawable-xxhdpi/ic_action_next_item.png similarity index 100% rename from src/android/res/drawable-xxhdpi/ic_action_next_item.png rename to src/android/InAppBrowser/src/main/res/drawable-xxhdpi/ic_action_next_item.png diff --git a/src/android/res/drawable-xxhdpi/ic_action_previous_item.png b/src/android/InAppBrowser/src/main/res/drawable-xxhdpi/ic_action_previous_item.png similarity index 100% rename from src/android/res/drawable-xxhdpi/ic_action_previous_item.png rename to src/android/InAppBrowser/src/main/res/drawable-xxhdpi/ic_action_previous_item.png diff --git a/src/android/res/drawable-xxhdpi/ic_action_remove.png b/src/android/InAppBrowser/src/main/res/drawable-xxhdpi/ic_action_remove.png similarity index 100% rename from src/android/res/drawable-xxhdpi/ic_action_remove.png rename to src/android/InAppBrowser/src/main/res/drawable-xxhdpi/ic_action_remove.png diff --git a/src/android/InAppBrowser/src/main/res/values/strings.xml b/src/android/InAppBrowser/src/main/res/values/strings.xml new file mode 100644 index 00000000..2dcfb1f0 --- /dev/null +++ b/src/android/InAppBrowser/src/main/res/values/strings.xml @@ -0,0 +1,3 @@ +<resources> + <string name="app_name">InAppBrowser</string> +</resources> diff --git a/src/android/InAppBrowser/src/test/java/org/apache/cordova/inappbrowser/ExampleUnitTest.java b/src/android/InAppBrowser/src/test/java/org/apache/cordova/inappbrowser/ExampleUnitTest.java new file mode 100644 index 00000000..7a6af167 --- /dev/null +++ b/src/android/InAppBrowser/src/test/java/org/apache/cordova/inappbrowser/ExampleUnitTest.java @@ -0,0 +1,15 @@ +package org.apache.cordova.inappbrowser; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * To work on unit tests, switch the Test Artifact in the Build Variants view. + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() throws Exception { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Make InAppBrowser a Library Module for easier maintenance > --------------------------------------------------------- > > Key: CB-13309 > URL: https://issues.apache.org/jira/browse/CB-13309 > Project: Apache Cordova > Issue Type: Improvement > Components: cordova-plugin-inappbrowser > Reporter: Joe Bowser > Priority: Major > > We currently just copy in Java files directly in a project, but that has some > major problems with layouts and resources. Now that Android allows Library > Projects, we can now add modules as plugins and allow for certain plugins > which require layouts (like the InAppBrowser) to define them in XML instead > of programmatically, which will allow for a lot of code to be deleted from > the project, and for the project to be easier to maintain for Android. > Another upshot of this change is that we can then add JUnit and Espresso > Integration Tests to plugins so that we can actually test plugin changes the > same way we run native tests on Android with the Android Test Project. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org