Compare commits

..

54 Commits
4.0.2 ... 5.0.2

Author SHA1 Message Date
Suraj Pindoria
09e1f06fb0 CB-13826 Updated version and RELEASENOTES.md for release 5.0.2 2018-01-25 11:41:07 -08:00
jcesarmobile
9a6ff27008 Merge pull request #147 from jcesarmobile/CB-13750
CB-13750: Add build-tools-26.0.2 to travis
2018-01-09 23:33:21 +01:00
Julio César
cadc68f75b CB-13750: Add build-tools-26.0.2 to travis 2018-01-09 20:23:26 +01:00
jcesarmobile
be8be330ac Merge pull request #146 from jcesarmobile/CB-13737
CB-13737 (iOS): fix Splash screen images for iPhone X
2018-01-09 20:00:00 +01:00
Julio César
4ffaaa2952 CB-13737 (iOS): fix Splash screen images for iPhone X 2018-01-07 17:30:23 +01:00
jcesarmobile
b5e0c786c5 Fix release notes (#145) 2017-12-30 00:54:06 -05:00
Simon MacDonald
5197c664c3 Set VERSION to 5.0.2-dev (via coho) 2017-12-27 19:13:50 -05:00
Simon MacDonald
fb606fec6a CB-13714 Updated version and RELEASENOTES.md for release 5.0.1 (via coho) 2017-12-27 19:13:36 -05:00
jcesarmobile
57b553a68e CB-13709: Fix to allow 5.0.0 version install (#144) 2017-12-27 10:50:30 -05:00
Steve Gill
031afc5056 Set VERSION to 5.0.1-dev (via coho) 2017-12-15 17:26:45 -08:00
Steve Gill
36bf91c9e8 CB-13681 Updated version and RELEASENOTES.md for release 5.0.0 (via coho) 2017-12-15 17:25:13 -08:00
Vishal Mishra
a606af98ca Merge pull request #143 from maverickmishra/master
CB-13677: Remove deprecated platforms
2017-12-13 23:20:58 -08:00
maverickmishra
2ae821c4a8 CB-13677: Remove deprecated platforms 2017-12-13 11:39:44 -08:00
Steve Gill
36c43827bb Set VERSION to 4.1.1-dev (via coho) 2017-11-06 14:38:40 -08:00
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
filmaj
85aa605a12 CB-12736 Updated version and RELEASENOTES.md for release 4.0.3 (via coho) 2017-04-27 13:05:08 -07:00
Alexander Sorokin
7c687957f8 CB-12622 Added Android 6.0 build badge to README 2017-04-26 16:30:20 +03:00
Steve Gill
13849c3d20 CB-12685: added package.json to tests folder 2017-04-21 19:26:24 -07:00
Steve Gill
90ba3dfc5b Set VERSION to 4.0.3-dev (via coho) 2017-03-02 15:26:49 -08:00
Steve Gill
b1ceb532f8 CB-12519 Updated version and RELEASENOTES.md for release 4.0.2 2017-02-28 17:41:27 -08:00
daserge
1185561549 CB-12353 Corrected merges usage in plugin.xml 2017-01-20 14:57:35 +03:00
Nikita Matrosov
894d164191 CB-12369: Add plugin typings from DefinitelyTyped
This closes #123
2017-01-20 11:56:43 +03:00
Alexander Sorokin
caa5534c0d CB-12363 Added build badges for iOS 9.3 and 10.0 2017-01-18 13:38:07 +03:00
Shazron Abdullah
a922ce0453 CB-12236 - Fixed RELEASENOTES for cordova-plugin-splashscreen 2016-12-11 12:58:03 -08:00
Alexander Sorokin
6195d6741b CB-12230 Removed Windows 8.1 build badges 2016-12-09 13:58:36 +03:00
Shazron Abdullah
0f2a069588 CB-12224 Incremented plugin version. 2016-12-07 16:55:08 -08:00
16 changed files with 278 additions and 284 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,98 @@
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
- build-tools-26.0.2
- env: PLATFORM=android-5.1
os: linux
language: android
jdk: oraclejdk8
android:
components:
- tools
- extra-android-m2repository
- build-tools-26.0.2
- env: PLATFORM=android-6.0
os: linux
language: android
jdk: oraclejdk8
android:
components:
- tools
- extra-android-m2repository
- build-tools-26.0.2
- env: PLATFORM=android-7.0
os: linux
language: android
jdk: oraclejdk8
android:
components:
- tools
- extra-android-m2repository
- build-tools-26.0.2
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|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=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
@@ -41,11 +41,8 @@ Report issues with this plugin on the [Apache Cordova issue tracker][Apache Cord
## Supported Platforms
- Amazon Fire OS
- Android
- BlackBerry 10
- iOS
- Windows Phone 7 and 8
- Windows (`cordova-windows` version >= 4.4.0 is required)
- Browser
@@ -81,10 +78,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) |
@@ -352,12 +350,6 @@ projectRoot
<splash src="res/screen/windows/splashscreenphone.png" width="1152" height="1920"/>
</platform>-->
<platform name="blackberry10">
<!-- Add a rim:splash element for each resolution and locale you wish -->
<!-- http://developer.blackberry.com/html5/documentation/rim_splash_element.html -->
<rim:splash src="res/screen/blackberry/splashscreen.png"/>
</platform>
<preference name="SplashScreenDelay" value="10000" />
```
@@ -435,6 +427,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 +436,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 +445,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" -->
@@ -494,7 +490,7 @@ navigator.splashscreen.hide();
```
### BlackBerry 10, WP8, iOS Quirk
### iOS Quirk
The `config.xml` file's `AutoHideSplashScreen` setting must be
`false`. To delay hiding the splash screen for two seconds, add a

View File

@@ -20,6 +20,31 @@
-->
# Release Notes
### 5.0.2 (Jan 24, 2018)
* [CB-13750](https://issues.apache.org/jira/browse/CB-13750) Add build-tools-26.0.2 to travis
* [CB-13737](https://issues.apache.org/jira/browse/CB-13737) (iOS): fix Splash screen images for iPhone X
### 5.0.1 (Dec 27, 2017)
* [CB-13709](https://issues.apache.org/jira/browse/CB-13709) Fix to allow 5.0.0 version install (#144)
### 5.0.0 (Dec 15, 2017)
* [CB-13677](https://issues.apache.org/jira/browse/CB-13677) Remove deprecated platforms
### 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
### 4.0.2 (Feb 28, 2017)
* [CB-12353](https://issues.apache.org/jira/browse/CB-12353) Corrected merges usage in `plugin.xml`
* [CB-12369](https://issues.apache.org/jira/browse/CB-12369) Add plugin typings from `DefinitelyTyped`

View File

@@ -1,39 +1,32 @@
{
"name": "cordova-plugin-splashscreen",
"version": "4.0.2",
"version": "5.0.2",
"description": "Cordova Splashscreen Plugin",
"types": "./types/index.d.ts",
"cordova": {
"id": "cordova-plugin-splashscreen",
"platforms": [
"android",
"amazon-fireos",
"ubuntu",
"ios",
"blackberry10",
"wp8",
"windows8",
"windows",
"tizen"
"browser"
]
},
"repository": {
"type": "git",
"url": "https://github.com/apache/cordova-plugin-splashscreen"
},
"bugs": {
"url": "https://issues.apache.org/jira/browse/CB"
},
"keywords": [
"cordova",
"splashscreen",
"ecosystem:cordova",
"cordova-android",
"cordova-amazon-fireos",
"cordova-ubuntu",
"cordova-ios",
"cordova-blackberry10",
"cordova-wp8",
"cordova-windows8",
"cordova-windows",
"cordova-tizen"
"cordova-windows"
],
"scripts": {
"test": "npm run jshint",
@@ -48,7 +41,7 @@
"cordova-android": ">=3.6.0",
"cordova-windows": ">=4.4.0"
},
"5.0.0": {
"6.0.0": {
"cordova": ">100"
}
}

View File

@@ -20,7 +20,7 @@
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
id="cordova-plugin-splashscreen"
version="4.0.2">
version="5.0.2">
<name>Splashscreen</name>
<description>Cordova Splashscreen Plugin</description>
<license>Apache 2.0</license>
@@ -49,23 +49,6 @@
<source-file src="src/android/SplashScreen.java" target-dir="src/org/apache/cordova/splashscreen" />
</platform>
<!-- amazon-fireos -->
<platform name="amazon-fireos">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/>
</feature>
</config-file>
<source-file src="src/android/SplashScreen.java" target-dir="src/org/apache/cordova/splashscreen" />
</platform>
<!-- ubuntu -->
<platform name="ubuntu">
<header-file src="src/ubuntu/splashscreen.h" />
<source-file src="src/ubuntu/splashscreen.cpp" />
</platform>
<!-- ios -->
<platform name="ios">
<config-file target="config.xml" parent="/*">
@@ -83,35 +66,6 @@
<framework src="CoreGraphics.framework" />
</platform>
<!-- blackberry10 -->
<platform name="blackberry10">
<source-file src="src/blackberry10/index.js" target-dir="SplashScreen" />
<config-file target="www/config.xml" parent="/widget">
<feature name="SplashScreen" value="SplashScreen"/>
</config-file>
</platform>
<!-- wp8 -->
<platform name="wp8">
<config-file target="config.xml" parent="/*">
<feature name="SplashScreen">
<param name="wp-package" value="SplashScreen"/>
<param name="onload" value="true"/>
</feature>
</config-file>
<source-file src="src/wp/SplashScreen.cs" />
<source-file src="src/wp/ResolutionHelper.cs" />
</platform>
<!-- windows8 -->
<platform name="windows8">
<js-module src="www/windows/SplashScreenProxy.js" name="SplashScreenProxy">
<runs />
</js-module>
</platform>
<!-- windows -->
<platform name="windows">
<js-module src="www/windows/SplashScreenProxy.js" name="SplashScreenProxy">
@@ -119,13 +73,6 @@
</js-module>
</platform>
<!-- tizen -->
<platform name="tizen">
<js-module src="src/tizen/SplashScreenProxy.js" name="SplashScreenProxy">
<runs />
</js-module>
</platform>
<!-- browser -->
<platform name="browser">
<js-module src="src/browser/SplashScreenProxy.js" name="SplashScreenProxy">

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

@@ -1,30 +0,0 @@
/*
* Copyright 2013 Research In Motion Limited.
*
* Licensed 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.
*/
/* global PluginResult */
module.exports = {
show: function (success, fail, args, env) {
var result = new PluginResult(args, env);
result.error("Not supported on platform", false);
},
hide: function (success, fail, args, env) {
var result = new PluginResult(args, env);
window.qnx.webplatform.getApplication().windowVisible = true;
result.ok(undefined, false);
}
};

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

@@ -28,6 +28,7 @@ typedef struct {
BOOL iPhone6;
BOOL iPhone6Plus;
BOOL retina;
BOOL iPhoneX;
} CDV_iOSDevice;

View File

@@ -74,7 +74,7 @@
// Determine whether rotation should be enabled for this device
// Per iOS HIG, landscape is only supported on iPad and iPhone 6+
CDV_iOSDevice device = [self getCurrentDevice];
BOOL autorotateValue = (device.iPad || device.iPhone6Plus) ?
BOOL autorotateValue = (device.iPad || device.iPhone6Plus || device.iPhoneX) ?
[(CDVViewController *)self.viewController shouldAutorotateDefaultValue] :
NO;
@@ -174,6 +174,7 @@
// this is appropriate for detecting the runtime screen environment
device.iPhone6 = (device.iPhone && limit == 667.0);
device.iPhone6Plus = (device.iPhone && limit == 736.0);
device.iPhoneX = (device.iPhone && limit == 812.0);
return device;
}
@@ -222,8 +223,12 @@
imageName = [imageName stringByAppendingString:@"-700"];
} else if(device.iPhone6) {
imageName = [imageName stringByAppendingString:@"-800"];
} else if(device.iPhone6Plus) {
imageName = [imageName stringByAppendingString:@"-800"];
} else if(device.iPhone6Plus || device.iPhoneX ) {
if(device.iPhone6Plus) {
imageName = [imageName stringByAppendingString:@"-800"];
} else {
imageName = [imageName stringByAppendingString:@"-1100"];
}
if (currentOrientation == UIInterfaceOrientationPortrait || currentOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
imageName = [imageName stringByAppendingString:@"-Portrait"];
@@ -239,7 +244,7 @@
{ // does not support landscape
imageName = [imageName stringByAppendingString:@"-667h"];
}
else if (device.iPhone6Plus)
else if (device.iPhone6Plus || device.iPhoneX)
{ // supports landscape
if (isOrientationLocked)
{
@@ -257,8 +262,11 @@
break;
}
}
imageName = [imageName stringByAppendingString:@"-736h"];
if (device.iPhoneX) {
imageName = [imageName stringByAppendingString:@"-2436h"];
} else {
imageName = [imageName stringByAppendingString:@"-736h"];
}
}
else if (device.iPad)
{ // supports landscape
@@ -370,7 +378,7 @@
* correctly.
*/
CDV_iOSDevice device = [self getCurrentDevice];
if (UIInterfaceOrientationIsLandscape(orientation) && !device.iPhone6Plus && !device.iPad)
if (UIInterfaceOrientationIsLandscape(orientation) && !device.iPhone6Plus && !device.iPad && !device.iPhoneX)
{
imgTransform = CGAffineTransformMakeRotation(M_PI / 2);
imgBounds.size = CGSizeMake(imgBounds.size.height, imgBounds.size.width);

View File

@@ -1,43 +0,0 @@
/*
*
* 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.
*
*/
( function() {
var win = null;
module.exports = {
show: function() {
if ( win === null ) {
win = window.open('splashscreen.html');
}
},
hide: function() {
if ( win !== null ) {
win.close();
win = null;
}
}
};
require("cordova/tizen/commandProxy").add("SplashScreen", module.exports);
})();

View File

@@ -1,42 +0,0 @@
/*
*
* Copyright 2013 Canonical Ltd.
*
* 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.
*
*/
#include <QQuickItem>
#include "splashscreen.h"
#include <cordova.h>
#define SPLASHSCREEN_STATE_NAME "splashscreen"
Splashscreen::Splashscreen(Cordova *cordova): CPlugin(cordova) {
}
void Splashscreen::show(int, int) {
m_cordova->rootObject()->setProperty("splashscreenPath", m_cordova->getSplashscreenPath());
m_cordova->pushViewState(SPLASHSCREEN_STATE_NAME);
}
void Splashscreen::hide(int, int) {
m_cordova->popViewState(SPLASHSCREEN_STATE_NAME);
}

View File

@@ -1,52 +0,0 @@
/*
*
* Copyright 2013 Canonical Ltd.
*
* 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.
*
*/
#ifndef SPLASHSCREEN_H
#define SPLASHSCREEN_H
#include <QtCore>
#include <cplugin.h>
class Splashscreen: public CPlugin {
Q_OBJECT
public:
explicit Splashscreen(Cordova *cordova);
virtual const QString fullName() override {
return Splashscreen::fullID();
}
virtual const QString shortName() override {
return "SplashScreen";
}
static const QString fullID() {
return "SplashScreen";
}
public slots:
void show(int, int);
void hide(int, int);
};
#endif // SPLASHSCREEN_H

14
tests/package.json Normal file
View File

@@ -0,0 +1,14 @@
{
"name": "cordova-plugin-splashscreen-tests",
"version": "4.0.3-dev",
"description": "",
"cordova": {
"id": "cordova-plugin-splashscreen-tests",
"platforms": []
},
"keywords": [
"ecosystem:cordova"
],
"author": "",
"license": "Apache 2.0"
}

View File

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