Compare commits

..

29 Commits
4.0.3 ... 4.1.0

Author SHA1 Message Date
Steve Gill
326f13220e CB-13542 Updated version and RELEASENOTES.md for release 4.1.0 (via coho) 2017-11-06 14:37:46 -08:00
Alexander Sorokin
5ca43e8c5d CB-13473: (CI) Removed browser builds from AppVeyor 2017-10-20 10:23:27 +03:00
Alexander Sorokin
278c5d8168 CB-13472: (CI) Fixed Travis Android builds again 2017-10-20 08:59:26 +03:00
MartijnW49
7cb318727b Update readme
This closes #116
2017-10-18 14:21:52 -07:00
MartijnW49
c2c3a980e1 Tabs to spaces 2017-10-18 14:21:51 -07:00
MartijnW49
1a4b51fbc8 CB-12011: (android) added the possibility to change the spinner color on Android 5.0+ apps 2017-10-18 14:21:51 -07:00
Joe Bowser
0b75c1faa0 This closes #85 2017-10-10 14:15:58 -07:00
Joe Bowser
09e95a2628 This closes #81 2017-10-10 14:14:13 -07:00
Joe Bowser
3180758a4e This closes #132 2017-10-10 14:08:31 -07:00
Andrea Lazzarotto
50a55883d3 CB-12626: Updated Android plugin
This closes #125

Prefer a slightly slower, but bulletproof, way to check for the splashscreen instead of relying on the Cordova preferences. This fixes the splash screen on several phones.
2017-10-05 14:05:50 -07:00
Andrea Lazzarotto
833dc7f783 Samsung crash quick-n-dirty fix 2017-10-05 13:57:45 -07:00
Alexander Sorokin
e443871785 CB-13299 (CI) Fix Android builds 2017-09-19 09:07:06 +03:00
Alexander Sorokin
fcef678a7f CB-13028 (CI) Browser builds on Travis and AppVeyor 2017-07-28 14:22:12 +03:00
Andrey Sharapov
e5c6772f17 CB-13094: (android) Don't show splash when activity being finished 2017-07-24 16:36:34 +04:00
filmaj
7c0ab0fa51 Closes #109 2017-07-18 21:26:05 -07:00
Alexander Sorokin
7735ae0598 CB-11487 (browser) Documented AutoHideSplashScreen for browser
this closes #107
2017-07-11 11:56:02 +03:00
Peter (Somogyvari) Metz
b0e1157c8a CB-11488 (browser) Guarding code against the case when deviceready fires earlier than the plugin init on cold-start 2017-07-11 10:55:19 +03:00
Peter (Somogyvari) Metz
a18cc8241a CB-11488 (browser) The hide() call became non re-entrant after the addition of fade out. This fixes the issue. 2017-07-11 10:55:18 +03:00
Peter (Somogyvari) Metz
bf9607e27f CB-11488 (browser) Added a 1 second long fade out to the splash screen instead of the hard remove from the DOM whenever hide() is called.
Also made a high z-index the default. This could be added from the user's stylesheets but if that only
gets parsed later, there may be flickering between the application UI and the splash screen itself.
2017-07-11 10:55:18 +03:00
Peter (Somogyvari) Metz
87d29ad6d3 CB-11487 (browser) The "standard" AutoHideSplashScreen config.xml property is now supported by the browser platform. 2017-07-11 10:55:18 +03:00
Peter (Somogyvari) Metz
2db7bac571 CB-11486 (browser) splashScreenDelay now feed through parseInt to ensure it's an integer by the time it's value is passed in to setTimeout() in hide(). 2017-07-11 10:55:17 +03:00
Alexander Sorokin
d6db9f3459 CB-13000: (CI) Speed up android builds 2017-07-10 10:34:56 +03:00
Alexander Sorokin
be635a36c1 CB-12991: (CI) Updated CI badges 2017-07-07 11:36:52 +03:00
Alexander Sorokin
d63786d33b CB-12935: (windows) Enable paramedic builds on AppVeyor 2017-06-30 09:32:26 +03:00
Alexander Sorokin
98f83fea5a CB-12935: (ios, android) Enable paramedic builds on Travis CI 2017-06-27 08:40:39 +03:00
jab
c81df6f274 CB-12947: (docs) Fix iPhone 5 and 5s resolution
(and add iPhone SE which was missing)
2017-06-23 11:39:29 -04:00
filmaj
ffda2e81b9 CB-12847: added bugs entry to package.json. 2017-05-25 19:03:13 +02:00
filmaj
e0cf396835 Close #126 2017-05-23 21:10:42 +02:00
filmaj
7f140e0176 Set VERSION to 4.0.4-dev (via coho) 2017-04-27 13:05:10 -07:00
9 changed files with 226 additions and 34 deletions

28
.appveyor.yml Normal file
View File

@@ -0,0 +1,28 @@
# appveyor file
# http://www.appveyor.com/docs/appveyor-yml
max_jobs: 1
shallow_clone: true
init:
- git config --global core.autocrlf true
image:
- Visual Studio 2017
environment:
nodejs_version: "4"
matrix:
- PLATFORM: windows-10-store
JUST_BUILD: --justBuild
install:
- npm cache clean -f
- node --version
- npm install -g cordova-paramedic@https://github.com/apache/cordova-paramedic.git
- npm install -g cordova
build: off
test_script:
- cordova-paramedic --config pr\%PLATFORM% --plugin . %JUST_BUILD%

View File

@@ -1,9 +1,94 @@
language: objective-c
osx_image: xcode7
sudo: false
node_js:
- "4.2"
addons:
jwt:
secure: UmbBQ73ydIzhTCfaTb/g0beTwnOHjYxlILmQYK2Tl9Gna/KbpawiVmbloX1eZakevkeYgzQmAHEF0LyDINy5AUk97azYeP0Sz/IOjIDfXAdc6U6sZb7BScneBMt6ET/hCprG4f3mbmleQ+gx+dmNWez6rlb3Xu+XWfJuwDfAWm0=
env:
- TEST_DIR=.
- TEST_DIR=./tests/ios
script: cd $TEST_DIR && npm install && (npm test || npm test)
global:
- SAUCE_USERNAME=snay
- TRAVIS_NODE_VERSION="4.2"
matrix:
include:
- env: PLATFORM=browser-chrome
os: linux
language: node_js
node_js: '4.2'
- env: PLATFORM=browser-firefox
os: linux
language: node_js
node_js: '4.2'
- env: PLATFORM=browser-safari
os: linux
language: node_js
node_js: '4.2'
- env: PLATFORM=browser-edge
os: linux
language: node_js
node_js: '4.2'
- env: TEST_DIR=.
language: objective-c
osx_image: xcode7
- env: TEST_DIR=./tests/ios
language: objective-c
osx_image: xcode7
- env: PLATFORM=ios-9.3
os: osx
osx_image: xcode7.3
language: node_js
node_js: '4.2'
- env: PLATFORM=ios-10.0
os: osx
osx_image: xcode7.3
language: node_js
node_js: '4.2'
- env: PLATFORM=android-4.4
os: linux
language: android
jdk: oraclejdk8
android:
components:
- tools
- extra-android-m2repository
- env: PLATFORM=android-5.1
os: linux
language: android
jdk: oraclejdk8
android:
components:
- tools
- extra-android-m2repository
- env: PLATFORM=android-6.0
os: linux
language: android
jdk: oraclejdk8
android:
components:
- tools
- extra-android-m2repository
- env: PLATFORM=android-7.0
os: linux
language: android
jdk: oraclejdk8
android:
components:
- tools
- extra-android-m2repository
before_install:
- rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm
&& git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm
install $TRAVIS_NODE_VERSION
- node --version
- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
- if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi
- if [[ "$PLATFORM" =~ android ]]; then echo y | android update sdk -u --filter android-22,android-23,android-24,android-25,android-26;
fi
- git clone https://github.com/apache/cordova-paramedic /tmp/paramedic && pushd /tmp/paramedic
&& npm install && popd
- npm install -g cordova
install:
- npm install
script:
- if [[ "$TEST_DIR" != "" ]];
then cd $TEST_DIR && npm install && (npm test || npm test);
else node /tmp/paramedic/main.js --config pr/$PLATFORM --plugin $(pwd) --shouldUseSauce
--buildName travis-plugin-splashscreen-$TRAVIS_JOB_NUMBER;
fi

View File

@@ -21,9 +21,9 @@ description: Control the splash screen for your app.
# under the License.
-->
|Android 4.4|Android 5.1|Android 6.0|iOS 9.3|iOS 10.0|Windows 10 Store|Travis CI|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|[![Build Status](http://cordova-ci.cloudapp.net:8080/buildStatus/icon?job=cordova-periodic-build/PLATFORM=android-4.4,PLUGIN=cordova-plugin-splashscreen)](http://cordova-ci.cloudapp.net:8080/job/cordova-periodic-build/PLATFORM=android-4.4,PLUGIN=cordova-plugin-splashscreen/)|[![Build Status](http://cordova-ci.cloudapp.net:8080/buildStatus/icon?job=cordova-periodic-build/PLATFORM=android-5.1,PLUGIN=cordova-plugin-splashscreen)](http://cordova-ci.cloudapp.net:8080/job/cordova-periodic-build/PLATFORM=android-5.1,PLUGIN=cordova-plugin-splashscreen/)|[![Build Status](http://cordova-ci.cloudapp.net:8080/buildStatus/icon?job=cordova-periodic-build/PLATFORM=android-6.0,PLUGIN=cordova-plugin-splashscreen)](http://cordova-ci.cloudapp.net:8080/job/cordova-periodic-build/PLATFORM=android-6.0,PLUGIN=cordova-plugin-splashscreen/)|[![Build Status](http://cordova-ci.cloudapp.net:8080/buildStatus/icon?job=cordova-periodic-build/PLATFORM=ios-9.3,PLUGIN=cordova-plugin-splashscreen)](http://cordova-ci.cloudapp.net:8080/job/cordova-periodic-build/PLATFORM=ios-9.3,PLUGIN=cordova-plugin-splashscreen/)|[![Build Status](http://cordova-ci.cloudapp.net:8080/buildStatus/icon?job=cordova-periodic-build/PLATFORM=ios-10.0,PLUGIN=cordova-plugin-splashscreen)](http://cordova-ci.cloudapp.net:8080/job/cordova-periodic-build/PLATFORM=ios-10.0,PLUGIN=cordova-plugin-splashscreen/)|[![Build Status](http://cordova-ci.cloudapp.net:8080/buildStatus/icon?job=cordova-periodic-build/PLATFORM=windows-10-store,PLUGIN=cordova-plugin-splashscreen)](http://cordova-ci.cloudapp.net:8080/job/cordova-periodic-build/PLATFORM=windows-10-store,PLUGIN=cordova-plugin-splashscreen/)|[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg?branch=master)](https://travis-ci.org/apache/cordova-plugin-splashscreen)|
|AppVeyor|Travis CI|
|:-:|:-:|
|[![Build status](https://ci.appveyor.com/api/projects/status/github/apache/cordova-plugin-splashscreen?branch=master)](https://ci.appveyor.com/project/ApacheSoftwareFoundation/cordova-plugin-splashscreen)|[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg?branch=master)](https://travis-ci.org/apache/cordova-plugin-splashscreen)|
# cordova-plugin-splashscreen
@@ -81,10 +81,11 @@ If you choose to use legacy launch images, you will use the following syntax in
Technically the filename for the `src` attribute can be anything you want; the filenames are used because they match what will be used when your project is compiled. The width and height attributes determine which launch images are displayed on which devices as follows:
| width | height | device (orientation) |
|:-----------:|:------------:|:-------------------------:|
| width | height | device (orientation) |
|:-----------:|:------------:|:--------------------------------:|
| 320 | 480 | All non-retina iPhones and iPods |
| 640 | 960 | iPhone 4/4s/5/5s (portrait) |
| 640 | 960 | iPhone 4/4s (portrait) |
| 640 | 1136 | iPhone 5/5s/SE (portrait) |
| 750 | 1334 | iPhone 6/6s/7 (portrait) |
| 1242 | 2208 | iPhone 6+/6s+/7+ (portrait) |
| 2208 | 1242 | iPhone 6+/6s+/7+ (landscape) |
@@ -435,6 +436,7 @@ In your `config.xml`, you can add the following preferences:
```xml
<preference name="SplashMaintainAspectRatio" value="true|false" />
<preference name="SplashShowOnlyFirstTime" value="true|false" />
<preference name="SplashScreenSpinnerColor" value="white" />
```
"SplashMaintainAspectRatio" preference is optional. If set to true, splash screen drawable is not stretched to fit screen, but instead simply "covers" the screen, like CSS "background-size:cover". This is very useful when splash screen images cannot be distorted in any way, for example when they contain scenery or text. This setting works best with images that have large margins (safe areas) that can be safely cropped on screens with different aspect ratios.
@@ -443,6 +445,8 @@ The plugin reloads splash drawable whenever orientation changes, so you can spec
"SplashShowOnlyFirstTime" preference is also optional and defaults to `true`. When set to `true` splash screen will only appear on application launch. However, if you plan to use `navigator.app.exitApp()` to close application and force splash screen appear on next launch, you should set this property to `false` (this also applies to closing the App with Back button).
"SplashScreenSpinnerColor" preference is also optional and is ignored when not set. Setting it to a valid color name or HEX color code will change the color of the spinner on Android 5.0+ devices.
### Browser Quirks
You can use the following preferences in your `config.xml`:
@@ -450,6 +454,7 @@ You can use the following preferences in your `config.xml`:
```xml
<platform name="browser">
<preference name="SplashScreen" value="/images/browser/splashscreen.jpg" /> <!-- defaults to "/img/logo.png" -->
<preference name="AutoHideSplashScreen" value="true" /> <!-- defaults to "true" -->
<preference name="SplashScreenDelay" value="3000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->

View File

@@ -20,6 +20,17 @@
-->
# Release Notes
### 4.1.0 (Nov 06, 2017)
* [CB-13473](https://issues.apache.org/jira/browse/CB-13473) (CI) Removed **Browser** builds from AppVeyor
* [CB-12011](https://issues.apache.org/jira/browse/CB-12011) (android) added the possibility to change the spinner color on **Android 5.0**+ apps
* [CB-13028](https://issues.apache.org/jira/browse/CB-13028) (CI) **Browser** builds on Travis and AppVeyor
* [CB-13094](https://issues.apache.org/jira/browse/CB-13094) (android) Don't show splash when activity being finished
* [CB-11487](https://issues.apache.org/jira/browse/CB-11487) (browser) Documented `AutoHideSplashScreen` for **Browser**
* [CB-11488](https://issues.apache.org/jira/browse/CB-11488) (browser) The `hide()` call became non re-entrant after the addition of fade out. This fixes the issue.
* [CB-11487](https://issues.apache.org/jira/browse/CB-11487) (browser) The standard `AutoHideSplashScreen` `config.xml` property is now supported by the **Browser** platform.
* [CB-11486](https://issues.apache.org/jira/browse/CB-11486) (browser) `splashScreenDelay` now feed through `parseInt` to ensure it is an integer by the time it's value is passed in to `setTimeout()` in `hide()`.
* [CB-12847](https://issues.apache.org/jira/browse/CB-12847) added `bugs` entry to `package.json`.
### 4.0.3 (Apr 27, 2017)
* [CB-12622](https://issues.apache.org/jira/browse/CB-12622) Added **Android 6.0** build badge to `README`
* [CB-12685](https://issues.apache.org/jira/browse/CB-12685) added `package.json` to tests folder

View File

@@ -1,6 +1,6 @@
{
"name": "cordova-plugin-splashscreen",
"version": "4.0.3",
"version": "4.1.0",
"description": "Cordova Splashscreen Plugin",
"types": "./types/index.d.ts",
"cordova": {
@@ -21,6 +21,9 @@
"type": "git",
"url": "https://github.com/apache/cordova-plugin-splashscreen"
},
"bugs": {
"url": "https://issues.apache.org/jira/browse/CB"
},
"keywords": [
"cordova",
"splashscreen",

View File

@@ -20,7 +20,7 @@
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="cordova-plugin-splashscreen"
version="4.0.3">
version="4.1.0">
<name>Splashscreen</name>
<description>Cordova Splashscreen Plugin</description>
<license>Apache 2.0</license>

View File

@@ -24,6 +24,7 @@ import android.app.ProgressDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Configuration;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Handler;
@@ -77,6 +78,18 @@ public class SplashScreen extends CordovaPlugin {
}
}
private int getSplashId() {
int drawableId = 0;
String splashResource = preferences.getString("SplashScreen", "screen");
if (splashResource != null) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getClass().getPackage().getName());
if (drawableId == 0) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getPackageName());
}
}
return drawableId;
}
@Override
protected void pluginInitialize() {
if (HAS_BUILT_IN_SPLASH_SCREEN) {
@@ -90,17 +103,7 @@ public class SplashScreen extends CordovaPlugin {
getView().setVisibility(View.INVISIBLE);
}
});
int drawableId = preferences.getInteger("SplashDrawableId", 0);
if (drawableId == 0) {
String splashResource = preferences.getString("SplashScreen", "screen");
if (splashResource != null) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getClass().getPackage().getName());
if (drawableId == 0) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getPackageName());
}
preferences.set("SplashDrawableId", drawableId);
}
}
int drawableId = getSplashId();
// Save initial orientation.
orientation = cordova.getActivity().getResources().getConfiguration().orientation;
@@ -205,7 +208,7 @@ public class SplashScreen extends CordovaPlugin {
// Splash drawable may change with orientation, so reload it.
if (splashImageView != null) {
int drawableId = preferences.getInteger("SplashDrawableId", 0);
int drawableId = getSplashId();
if (drawableId != 0) {
splashImageView.setImageDrawable(cordova.getActivity().getResources().getDrawable(drawableId));
}
@@ -263,13 +266,17 @@ public class SplashScreen extends CordovaPlugin {
@SuppressWarnings("deprecation")
private void showSplashScreen(final boolean hideAfterDelay) {
final int splashscreenTime = preferences.getInteger("SplashScreenDelay", DEFAULT_SPLASHSCREEN_DURATION);
final int drawableId = preferences.getInteger("SplashDrawableId", 0);
final int drawableId = getSplashId();
final int fadeSplashScreenDuration = getFadeDuration();
final int effectiveSplashDuration = Math.max(0, splashscreenTime - fadeSplashScreenDuration);
lastHideAfterDelay = hideAfterDelay;
// Prevent to show the splash dialog if the activity is in the process of finishing
if (cordova.getActivity().isFinishing()) {
return;
}
// If the splash dialog is showing don't try to show it again
if (splashDialog != null && splashDialog.isShowing()) {
return;
@@ -361,6 +368,27 @@ public class SplashScreen extends CordovaPlugin {
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
progressBar.setLayoutParams(layoutParams);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
String colorName = preferences.getString("SplashScreenSpinnerColor", null);
if(colorName != null){
int[][] states = new int[][] {
new int[] { android.R.attr.state_enabled}, // enabled
new int[] {-android.R.attr.state_enabled}, // disabled
new int[] {-android.R.attr.state_checked}, // unchecked
new int[] { android.R.attr.state_pressed} // pressed
};
int progressBarColor = Color.parseColor(colorName);
int[] colors = new int[] {
progressBarColor,
progressBarColor,
progressBarColor,
progressBarColor
};
ColorStateList colorStateList = new ColorStateList(states, colors);
progressBar.setIndeterminateTintList(colorStateList);
}
}
centeredLayout.addView(progressBar);
spinnerDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

View File

@@ -31,6 +31,7 @@ var splashScreenDelay = 3000; // in milliseconds
var showSplashScreen = true; // show splashcreen by default
var cordova = require('cordova');
var configHelper = cordova.require('cordova/confighelper');
var autoHideSplashScreen = true;
function updateImageLocation() {
position.width = Math.min(splashImageWidth, window.innerWidth);
@@ -66,6 +67,7 @@ var SplashScreen = {
localSplash = document.createElement("div");
localSplash.style.backgroundColor = bgColor;
localSplash.style.position = "absolute";
localSplash.style["z-index"] = "99999";
localSplashImage = document.createElement("img");
localSplashImage.src = imageSrc;
@@ -75,13 +77,34 @@ var SplashScreen = {
localSplash.appendChild(localSplashImage);
document.body.appendChild(localSplash);
// deviceready fires earlier than the plugin init on cold-start
if (SplashScreen.shouldHideImmediately) {
SplashScreen.shouldHideImmediately = false;
window.setTimeout(function () {
SplashScreen.hide();
}, 1000);
}
}
},
hide: function () {
if(localSplash) {
window.removeEventListener("resize", onResize, false);
document.body.removeChild(localSplash);
var innerLocalSplash = localSplash;
localSplash = null;
window.removeEventListener("resize", onResize, false);
innerLocalSplash.style.opacity = '0';
innerLocalSplash.style["-webkit-transition"] = "opacity 1s ease-in-out";
innerLocalSplash.style["-moz-transition"] = "opacity 1s ease-in-out";
innerLocalSplash.style["-ms-transition"] = "opacity 1s ease-in-out";
innerLocalSplash.style["-o-transition"] = "opacity 1s ease-in-out";
window.setTimeout(function () {
document.body.removeChild(innerLocalSplash);
innerLocalSplash = null;
}, 1000);
} else {
SplashScreen.shouldHideImmediately = true;
}
}
};
@@ -97,12 +120,16 @@ function readPreferencesFromCfg(cfg) {
}
splashScreenDelay = cfg.getPreferenceValue('SplashScreenDelay') || splashScreenDelay;
splashScreenDelay = parseInt(splashScreenDelay, 10);
imageSrc = cfg.getPreferenceValue('SplashScreen') || imageSrc;
bgColor = cfg.getPreferenceValue('SplashScreenBackgroundColor') || bgColor;
splashImageWidth = cfg.getPreferenceValue('SplashScreenWidth') || splashImageWidth;
splashImageHeight = cfg.getPreferenceValue('SplashScreenHeight') || splashImageHeight;
autoHideSplashScreen = cfg.getPreferenceValue('AutoHideSplashScreen') || autoHideSplashScreen;
autoHideSplashScreen = (autoHideSplashScreen === true || autoHideSplashScreen.toLowerCase() === 'true');
} catch(e) {
var msg = '[Browser][SplashScreen] Error occured on loading preferences from config.xml: ' + JSON.stringify(e);
var msg = '[Browser][SplashScreen] Error occurred on loading preferences from config.xml: ' + JSON.stringify(e);
console.error(msg);
}
}
@@ -121,12 +148,17 @@ function showAndHide() {
}
/**
* Tries to read config.xml and override default properties and then shows and hides splashcreen if it is enabled.
* Tries to read config.xml and override default properties and then shows and hides splashscreen if it is enabled.
*/
(function initAndShow() {
configHelper.readConfig(function(config) {
readPreferencesFromCfg(config);
showAndHide();
if (autoHideSplashScreen) {
showAndHide();
} else {
SplashScreen.show();
}
}, function(err) {
console.error(err);
});

View File

@@ -20,7 +20,7 @@
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="cordova-plugin-splashscreen-tests"
version="4.0.3">
version="4.1.0">
<name>Cordova Splashscreen Plugin Tests</name>
<license>Apache 2.0</license>