Compare commits
286 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bbcf0fc781 | ||
|
|
213c8e2217 | ||
|
|
7e5b4fd93d | ||
|
|
14d17c5c64 | ||
|
|
f41610c2f7 | ||
|
|
a9e73eb642 | ||
|
|
faa8aa937d | ||
|
|
3389695fc5 | ||
|
|
2ee4ff97ff | ||
|
|
050f29cfca | ||
|
|
b893339a98 | ||
|
|
3ede66ef8f | ||
|
|
893ba08e8f | ||
|
|
369f8d148f | ||
|
|
0fba4f31dd | ||
|
|
097ca6ac42 | ||
|
|
d85e440e15 | ||
|
|
3d66c880bc | ||
|
|
048702cb9c | ||
|
|
c1ab711039 | ||
|
|
5bc7d0d63f | ||
|
|
ed1db6650c | ||
|
|
ed30498177 | ||
|
|
06a76567b9 | ||
|
|
94631e171a | ||
|
|
db3adec857 | ||
|
|
d3ea3d1771 | ||
|
|
35c41091d1 | ||
|
|
46acbadd70 | ||
|
|
054387e02a | ||
|
|
a7706fef58 | ||
|
|
0ffc88915b | ||
|
|
be85a1b14e | ||
|
|
7936e7ea54 | ||
|
|
0934d126d2 | ||
|
|
e44f9d1f1f | ||
|
|
5339fcf377 | ||
|
|
49769ba2d4 | ||
|
|
6800de23b1 | ||
|
|
76bec98b94 | ||
|
|
61e353f549 | ||
|
|
4d8cd6f2fe | ||
|
|
8490496c0b | ||
|
|
95f91bf50c | ||
|
|
e78f1d10b1 | ||
|
|
8ba8f41637 | ||
|
|
91a8210890 | ||
|
|
c95a26ab34 | ||
|
|
d96c08e00b | ||
|
|
09e1f06fb0 | ||
|
|
f9c88b8ab8 | ||
|
|
9a6ff27008 | ||
|
|
cadc68f75b | ||
|
|
be8be330ac | ||
|
|
4ffaaa2952 | ||
|
|
b5e0c786c5 | ||
|
|
5197c664c3 | ||
|
|
fb606fec6a | ||
|
|
57b553a68e | ||
|
|
031afc5056 | ||
|
|
36bf91c9e8 | ||
|
|
a606af98ca | ||
|
|
2ae821c4a8 | ||
|
|
36c43827bb | ||
|
|
326f13220e | ||
|
|
5f41762722 | ||
|
|
5ca43e8c5d | ||
|
|
278c5d8168 | ||
|
|
7cb318727b | ||
|
|
c2c3a980e1 | ||
|
|
1a4b51fbc8 | ||
|
|
0b75c1faa0 | ||
|
|
09e95a2628 | ||
|
|
3180758a4e | ||
|
|
50a55883d3 | ||
|
|
833dc7f783 | ||
|
|
e443871785 | ||
|
|
fcef678a7f | ||
|
|
e5c6772f17 | ||
|
|
7c0ab0fa51 | ||
|
|
7735ae0598 | ||
|
|
b0e1157c8a | ||
|
|
a18cc8241a | ||
|
|
bf9607e27f | ||
|
|
87d29ad6d3 | ||
|
|
2db7bac571 | ||
|
|
d6db9f3459 | ||
|
|
be635a36c1 | ||
|
|
d63786d33b | ||
|
|
98f83fea5a | ||
|
|
c81df6f274 | ||
|
|
ffda2e81b9 | ||
|
|
e0cf396835 | ||
|
|
7f140e0176 | ||
|
|
85aa605a12 | ||
|
|
7c687957f8 | ||
|
|
13849c3d20 | ||
|
|
90ba3dfc5b | ||
|
|
b1ceb532f8 | ||
|
|
1185561549 | ||
|
|
894d164191 | ||
|
|
caa5534c0d | ||
|
|
a922ce0453 | ||
|
|
6195d6741b | ||
|
|
0f2a069588 | ||
|
|
782939f7ef | ||
|
|
04667e04c0 | ||
|
|
de28cf89bf | ||
|
|
770c264d2c | ||
|
|
5a1ade6114 | ||
|
|
62509f6b47 | ||
|
|
2eb78b3724 | ||
|
|
6e43615e25 | ||
|
|
ac39b04b6f | ||
|
|
66f7ee34d1 | ||
|
|
41ca5809b1 | ||
|
|
0a8b5be3d1 | ||
|
|
d65c0c7cc5 | ||
|
|
4102589bd5 | ||
|
|
1eac08c558 | ||
|
|
80b01049c8 | ||
|
|
4adff6f1c9 | ||
|
|
3d924fce1b | ||
|
|
6a737203da | ||
|
|
acb45f3a38 | ||
|
|
8d66b9e353 | ||
|
|
edb6c3d6f8 | ||
|
|
14061d1999 | ||
|
|
6863886d74 | ||
|
|
9832d2e165 | ||
|
|
bea0a4e408 | ||
|
|
41d9ae94ff | ||
|
|
9ca15db91a | ||
|
|
f8311aaca8 | ||
|
|
abbb07e5ee | ||
|
|
2012ba9ab6 | ||
|
|
e877722bac | ||
|
|
617ad81090 | ||
|
|
03ea0a4e80 | ||
|
|
850159490c | ||
|
|
5ea854d8c3 | ||
|
|
e401a4de0f | ||
|
|
2e1ec32916 | ||
|
|
4bc552848f | ||
|
|
5af0016c67 | ||
|
|
617960ee3e | ||
|
|
109c82b29b | ||
|
|
799b0a1737 | ||
|
|
5b3c2c8b14 | ||
|
|
7a12204ba9 | ||
|
|
eada9a6ac1 | ||
|
|
12dcd57d51 | ||
|
|
0f4a9d3f18 | ||
|
|
50318213c4 | ||
|
|
34bc1dbf16 | ||
|
|
3b2e9e5912 | ||
|
|
d7841c7ec9 | ||
|
|
1e67606c60 | ||
|
|
fa3b665223 | ||
|
|
875ccbf5bc | ||
|
|
ccb3c2f453 | ||
|
|
cfc6d74506 | ||
|
|
78d8ef94eb | ||
|
|
e2239306d6 | ||
|
|
ea3f7f7b07 | ||
|
|
d348168e08 | ||
|
|
848bd487e0 | ||
|
|
d034ceee6e | ||
|
|
93aaf0529e | ||
|
|
60fb0621ae | ||
|
|
7eec7c8b43 | ||
|
|
3a79663680 | ||
|
|
b83392df21 | ||
|
|
2b5187b909 | ||
|
|
fb0764c528 | ||
|
|
9a69f12ada | ||
|
|
9bd0ec7091 | ||
|
|
f675376de1 | ||
|
|
9ea2d4c86f | ||
|
|
5aff6590f8 | ||
|
|
f4a92d21ff | ||
|
|
0916db61b4 | ||
|
|
ac23964ac6 | ||
|
|
57ad3602f4 | ||
|
|
4b1df233ae | ||
|
|
c4ba138de5 | ||
|
|
805bcf505d | ||
|
|
fa29a85fcb | ||
|
|
ab26925e25 | ||
|
|
ed00c63d2d | ||
|
|
52c025bbef | ||
|
|
87f3c3a3ac | ||
|
|
6cc3d1f3fe | ||
|
|
b7750760f4 | ||
|
|
00e8999eeb | ||
|
|
9549ce3a9d | ||
|
|
62e92afae8 | ||
|
|
fa60f01adc | ||
|
|
d23ea4e011 | ||
|
|
0a46c4cbbb | ||
|
|
a510cd21ec | ||
|
|
76bf7655a0 | ||
|
|
9575c92db6 | ||
|
|
a9ac114130 | ||
|
|
48def1443a | ||
|
|
559b300d29 | ||
|
|
35272415d3 | ||
|
|
dd9c88204c | ||
|
|
5dc26d7e65 | ||
|
|
1c41959288 | ||
|
|
43e9c75345 | ||
|
|
9b3f750085 | ||
|
|
ba6730e594 | ||
|
|
89c23fad03 | ||
|
|
1d89a2aa1b | ||
|
|
0ff8d52081 | ||
|
|
bb65993a51 | ||
|
|
6ce8a32865 | ||
|
|
5afde1c62f | ||
|
|
6b1e72c631 | ||
|
|
98edfeb73e | ||
|
|
688b138e31 | ||
|
|
8bc540e454 | ||
|
|
4430cfce6b | ||
|
|
c1d4ca8d83 | ||
|
|
bcbc23958f | ||
|
|
b232cd7447 | ||
|
|
a9f0faa499 | ||
|
|
c3a5867c81 | ||
|
|
e86a9cc7a4 | ||
|
|
ddec7008cb | ||
|
|
e320e2504a | ||
|
|
e593fe3f53 | ||
|
|
50e4887aa1 | ||
|
|
f67216d64a | ||
|
|
67e8b9f01d | ||
|
|
29ac24ff9d | ||
|
|
3947f8570a | ||
|
|
d2e62a551c | ||
|
|
c67622f1b9 | ||
|
|
2f37eed184 | ||
|
|
887f0f6c81 | ||
|
|
8804977c84 | ||
|
|
b46cdca795 | ||
|
|
1009019372 | ||
|
|
129830a76c | ||
|
|
24e6f2e0dd | ||
|
|
21f372acc9 | ||
|
|
4d548e67c2 | ||
|
|
55722de1c4 | ||
|
|
0ffe1c2d46 | ||
|
|
95f407ea0d | ||
|
|
99803ba7c6 | ||
|
|
6b87577801 | ||
|
|
d0614c532b | ||
|
|
483182f33a | ||
|
|
d85c6a9359 | ||
|
|
fcd628ffc9 | ||
|
|
e1f17d6665 | ||
|
|
ec7c6aac30 | ||
|
|
0b001fb209 | ||
|
|
e4d8b77027 | ||
|
|
0f63861e88 | ||
|
|
e364377d4f | ||
|
|
395302ee16 | ||
|
|
333b0e7f90 | ||
|
|
3b58cd69b3 | ||
|
|
be8d340f31 | ||
|
|
f833c39ed3 | ||
|
|
8eb2533e78 | ||
|
|
5d25cf0250 | ||
|
|
cd61952efc | ||
|
|
6f23d8e828 | ||
|
|
cf5c5beafb | ||
|
|
1f50d90d9e | ||
|
|
c56bb9efec | ||
|
|
1943a88c8c | ||
|
|
ac1422f49f | ||
|
|
b109c7f234 | ||
|
|
829dbcc819 | ||
|
|
ae7daf48e3 | ||
|
|
4fda49b771 | ||
|
|
2c68427a8a | ||
|
|
0498d90517 | ||
|
|
5c245c2bc8 | ||
|
|
ec5bbc51e7 |
32
.appveyor.yml
Normal file
32
.appveyor.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
# 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:
|
||||
matrix:
|
||||
- nodejs_version: "10"
|
||||
- nodejs_version: "12"
|
||||
|
||||
platform:
|
||||
- x86
|
||||
- x64
|
||||
|
||||
install:
|
||||
- ps: Install-Product node $env:nodejs_version
|
||||
- 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\windows-10-store --plugin . --justBuild
|
||||
22
.asf.yaml
Normal file
22
.asf.yaml
Normal file
@@ -0,0 +1,22 @@
|
||||
# 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.
|
||||
|
||||
notifications:
|
||||
commits: commits@cordova.apache.org
|
||||
issues: issues@cordova.apache.org
|
||||
pullrequests_status: issues@cordova.apache.org
|
||||
pullrequests_comment: issues@cordova.apache.org
|
||||
23
.eslintrc.yml
Normal file
23
.eslintrc.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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.
|
||||
|
||||
root: true
|
||||
extends: '@cordova/eslint-config/browser'
|
||||
|
||||
overrides:
|
||||
- files: [tests/**/*.js]
|
||||
extends: '@cordova/eslint-config/node-tests'
|
||||
42
.github/ISSUE_TEMPLATE.md
vendored
Normal file
42
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
<!--
|
||||
Please have a look at the issue templates you get when you click "New issue" in the GitHub UI.
|
||||
We very much prefer issues created by using one of these templates.
|
||||
-->
|
||||
|
||||
### Issue Type
|
||||
<!-- Please check the boxes by putting an x in the [ ] like so: [x] -->
|
||||
|
||||
- [ ] Bug Report
|
||||
- [ ] Feature Request
|
||||
- [ ] Support Question
|
||||
|
||||
## Description
|
||||
|
||||
## Information
|
||||
<!-- Include all relevant information that might help understand and reproduce the problem -->
|
||||
|
||||
### Command or Code
|
||||
<!-- What command or code is needed to reproduce the problem? -->
|
||||
|
||||
### Environment, Platform, Device
|
||||
<!-- In what environment, on what platform or on which device are you experiencing the issue? -->
|
||||
|
||||
|
||||
|
||||
### Version information
|
||||
<!--
|
||||
What are relevant versions you are using?
|
||||
For example:
|
||||
Cordova: Cordova CLI, Cordova Platforms, Cordova Plugins
|
||||
Other Frameworks: Ionic Framework and CLI version
|
||||
Operating System, Android Studio, Xcode etc.
|
||||
-->
|
||||
|
||||
|
||||
|
||||
## Checklist
|
||||
<!-- Please check the boxes by putting an `x` in the `[ ]` like so: `[x]` -->
|
||||
|
||||
- [ ] I searched for already existing GitHub issues about this
|
||||
- [ ] I updated all Cordova tooling to their most recent version
|
||||
- [ ] I included all the necessary information above
|
||||
50
.github/ISSUE_TEMPLATE/BUG_REPORT.md
vendored
Normal file
50
.github/ISSUE_TEMPLATE/BUG_REPORT.md
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
name: 🐛 Bug Report
|
||||
about: If something isn't working as expected.
|
||||
|
||||
---
|
||||
|
||||
# Bug Report
|
||||
|
||||
## Problem
|
||||
|
||||
### What is expected to happen?
|
||||
|
||||
|
||||
|
||||
### What does actually happen?
|
||||
|
||||
|
||||
|
||||
## Information
|
||||
<!-- Include all relevant information that might help understand and reproduce the problem -->
|
||||
|
||||
|
||||
|
||||
### Command or Code
|
||||
<!-- What command or code is needed to reproduce the problem? -->
|
||||
|
||||
|
||||
|
||||
### Environment, Platform, Device
|
||||
<!-- In what environment, on what platform or on which device are you experiencing the issue? -->
|
||||
|
||||
|
||||
|
||||
### Version information
|
||||
<!--
|
||||
What are relevant versions you are using?
|
||||
For example:
|
||||
Cordova: Cordova CLI, Cordova Platforms, Cordova Plugins
|
||||
Other Frameworks: Ionic Framework and CLI version
|
||||
Operating System, Android Studio, Xcode etc.
|
||||
-->
|
||||
|
||||
|
||||
|
||||
## Checklist
|
||||
<!-- Please check the boxes by putting an x in the [ ] like so: [x] -->
|
||||
|
||||
- [ ] I searched for existing GitHub issues
|
||||
- [ ] I updated all Cordova tooling to most recent version
|
||||
- [ ] I included all the necessary information above
|
||||
29
.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
vendored
Normal file
29
.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
name: 🚀 Feature Request
|
||||
about: A suggestion for a new functionality
|
||||
|
||||
---
|
||||
|
||||
# Feature Request
|
||||
|
||||
## Motivation Behind Feature
|
||||
<!-- Why should this feature be implemented? What problem does it solve? -->
|
||||
|
||||
|
||||
|
||||
## Feature Description
|
||||
<!--
|
||||
Describe your feature request in detail
|
||||
Please provide any code examples or screenshots of what this feature would look like
|
||||
Are there any drawbacks? Will this break anything for existing users?
|
||||
-->
|
||||
|
||||
|
||||
|
||||
## Alternatives or Workarounds
|
||||
<!--
|
||||
Describe alternatives or workarounds you are currently using
|
||||
Are there ways to do this with existing functionality?
|
||||
-->
|
||||
|
||||
|
||||
27
.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md
vendored
Normal file
27
.github/ISSUE_TEMPLATE/SUPPORT_QUESTION.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
name: 💬 Support Question
|
||||
about: If you have a question, please check out our Slack or StackOverflow!
|
||||
|
||||
---
|
||||
|
||||
<!------------^ Click "Preview" for a nicer view! -->
|
||||
|
||||
Apache Cordova uses GitHub Issues as a feature request and bug tracker _only_.
|
||||
For usage and support questions, please check out the resources below. Thanks!
|
||||
|
||||
---
|
||||
|
||||
You can get answers to your usage and support questions about **Apache Cordova** on:
|
||||
|
||||
* Slack Community Chat: https://cordova.slack.com (you can sign-up at http://slack.cordova.io/)
|
||||
* StackOverflow: https://stackoverflow.com/questions/tagged/cordova using the tag `cordova`
|
||||
|
||||
---
|
||||
|
||||
If you are using a tool that uses Cordova internally, like e.g. Ionic, check their support channels:
|
||||
|
||||
* **Ionic Framework**
|
||||
* [Ionic Community Forum](https://forum.ionicframework.com/)
|
||||
* [Ionic Worldwide Slack](https://ionicworldwide.herokuapp.com/)
|
||||
* **PhoneGap**
|
||||
* [PhoneGap Developer Community](https://forums.adobe.com/community/phonegap)
|
||||
35
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
35
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
<!--
|
||||
Please make sure the checklist boxes are all checked before submitting the PR. The checklist is intended as a quick reference, for complete details please see our Contributor Guidelines:
|
||||
|
||||
http://cordova.apache.org/contribute/contribute_guidelines.html
|
||||
|
||||
Thanks!
|
||||
-->
|
||||
|
||||
### Platforms affected
|
||||
|
||||
|
||||
|
||||
### Motivation and Context
|
||||
<!-- Why is this change required? What problem does it solve? -->
|
||||
<!-- If it fixes an open issue, please link to the issue here. -->
|
||||
|
||||
|
||||
|
||||
### Description
|
||||
<!-- Describe your changes in detail -->
|
||||
|
||||
|
||||
|
||||
### Testing
|
||||
<!-- Please describe in detail how you tested your changes. -->
|
||||
|
||||
|
||||
|
||||
### Checklist
|
||||
|
||||
- [ ] I've run the tests to see all new and existing tests pass
|
||||
- [ ] I added automated test coverage as appropriate for this change
|
||||
- [ ] Commit is prefixed with `(platform)` if this change only applies to one platform (e.g. `(android)`)
|
||||
- [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct [keyword to close issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))
|
||||
- [ ] I've updated the documentation if necessary
|
||||
12
.gitignore
vendored
12
.gitignore
vendored
@@ -1,4 +1,4 @@
|
||||
#If ignorance is bliss, then somebody knock the smile off my face
|
||||
#If ignorance is bliss, then somebody knock the smile off my face
|
||||
|
||||
*.csproj.user
|
||||
*.suo
|
||||
@@ -12,12 +12,4 @@ Thumbs.db
|
||||
*.swp
|
||||
*.user
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
node_modules
|
||||
|
||||
3
.npmignore
Normal file
3
.npmignore
Normal file
@@ -0,0 +1,3 @@
|
||||
.*
|
||||
appveyor.yml
|
||||
tests
|
||||
106
.travis.yml
Normal file
106
.travis.yml
Normal file
@@ -0,0 +1,106 @@
|
||||
# This Travis configuration file is built after a Cordova Paramedic
|
||||
# specific template with minimal modifications and adaptations:
|
||||
# https://github.com/apache/cordova-paramedic/blob/master/.travis.yml
|
||||
|
||||
sudo: false
|
||||
|
||||
addons:
|
||||
jwt:
|
||||
# sauce labs key
|
||||
secure: UmbBQ73ydIzhTCfaTb/g0beTwnOHjYxlILmQYK2Tl9Gna/KbpawiVmbloX1eZakevkeYgzQmAHEF0LyDINy5AUk97azYeP0Sz/IOjIDfXAdc6U6sZb7BScneBMt6ET/hCprG4f3mbmleQ+gx+dmNWez6rlb3Xu+XWfJuwDfAWm0=
|
||||
|
||||
env:
|
||||
global:
|
||||
- SAUCE_USERNAME=snay
|
||||
- TRAVIS_NODE_VERSION=12
|
||||
- ANDROID_API_LEVEL=29
|
||||
- ANDROID_BUILD_TOOLS_VERSION=29.0.2
|
||||
|
||||
language: node_js
|
||||
node_js: 12
|
||||
|
||||
# yaml anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027
|
||||
|
||||
_android: &_android
|
||||
language: android
|
||||
os: linux
|
||||
jdk: oraclejdk8
|
||||
android:
|
||||
components:
|
||||
- tools
|
||||
- build-tools-$ANDROID_BUILD_TOOLS_VERSION
|
||||
- android-$ANDROID_API_LEVEL
|
||||
licenses:
|
||||
- "android-sdk-preview-license-.+"
|
||||
- "android-sdk-license-.+"
|
||||
- "google-gdk-license-.+"
|
||||
|
||||
matrix:
|
||||
include:
|
||||
# one local test, without saucelabs
|
||||
- env: PLATFORM=local/browser
|
||||
os: osx
|
||||
|
||||
# many tests with saucelabs
|
||||
- env: PLATFORM=browser-chrome
|
||||
- env: PLATFORM=browser-firefox
|
||||
- env: PLATFORM=browser-safari
|
||||
- env: PLATFORM=browser-edge
|
||||
|
||||
- env: PLATFORM=android-5.1
|
||||
<<: *_android
|
||||
- env: PLATFORM=android-6.0
|
||||
<<: *_android
|
||||
- env: PLATFORM=android-7.0
|
||||
<<: *_android
|
||||
- env: PLATFORM=android-7.1
|
||||
<<: *_android
|
||||
- env: PLATFORM=android-8.0
|
||||
<<: *_android
|
||||
- env: PLATFORM=android-8.1
|
||||
<<: *_android
|
||||
- env: PLATFORM=android-9.0
|
||||
<<: *_android
|
||||
|
||||
before_install:
|
||||
# manually install Node for `language: android`
|
||||
- if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi
|
||||
- node --version
|
||||
- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi
|
||||
- npm install -g cordova
|
||||
# install paramedic if not running on paramedic repo
|
||||
- if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi
|
||||
|
||||
install:
|
||||
- npm install
|
||||
|
||||
before_script:
|
||||
- |
|
||||
if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then
|
||||
# when used in the cordova-paramedic repo
|
||||
TEST_COMMAND="npm run eslint"
|
||||
PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/"
|
||||
PARAMEDIC_COMMAND="node main.js"
|
||||
else
|
||||
# when used in any other (plugin) repo
|
||||
TEST_COMMAND="npm test"
|
||||
PARAMEDIC_PLUGIN_TO_TEST=$(pwd)
|
||||
PARAMEDIC_COMMAND="cordova-paramedic"
|
||||
fi
|
||||
- PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER
|
||||
- |
|
||||
echo "Variables now are set to:"
|
||||
echo "TEST_COMMAND=$TEST_COMMAND"
|
||||
echo "ADDITIONAL_TESTS=$ADDITIONAL_TESTS"
|
||||
echo "PARAMEDIC_COMMAND=$PARAMEDIC_COMMAND"
|
||||
echo "PLATFORM=$PLATFORM"
|
||||
echo "PARAMEDIC_PLUGIN_TO_TEST=$PARAMEDIC_PLUGIN_TO_TEST"
|
||||
echo "PARAMEDIC_BUILDNAME=$PARAMEDIC_BUILDNAME"
|
||||
script:
|
||||
- $TEST_COMMAND
|
||||
- |
|
||||
if [[ "$ADDITIONAL_TESTS_DIR" != "" ]]; then
|
||||
cd $ADDITIONAL_TESTS_DIR && npm install && npm test;
|
||||
else
|
||||
$PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME;
|
||||
fi
|
||||
@@ -25,13 +25,13 @@ Anyone can contribute to Cordova. And we need your contributions.
|
||||
|
||||
There are multiple ways to contribute: report bugs, improve the docs, and
|
||||
contribute code.
|
||||
|
||||
For instructions on this, start with the
|
||||
[contribution overview](http://cordova.apache.org/#contribute).
|
||||
|
||||
For instructions on this, start with the
|
||||
[contribution overview](http://cordova.apache.org/contribute/).
|
||||
|
||||
The details are explained there, but the important items are:
|
||||
- Sign and submit an Apache ICLA (Contributor License Agreement).
|
||||
- Have a Jira issue open that corresponds to your contribution.
|
||||
- Check for Github issues that corresponds to your contribution and link or create them if necessary.
|
||||
- Run the tests so your patch doesn't break existing functionality.
|
||||
|
||||
We look forward to your contributions!
|
||||
|
||||
|
||||
69
README.md
69
README.md
@@ -1,22 +1,53 @@
|
||||
<!---
|
||||
license: 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.
|
||||
---
|
||||
title: 可设置全屏显示的 Splashscreen
|
||||
description: Control the splash screen for your app.
|
||||
---
|
||||
<!--
|
||||
# license: 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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
# cordova-plugin-splashscreen
|
||||
|
||||
Plugin documentation: [doc/index.md](doc/index.md)
|
||||
在 [cordova-plugin-splashscreen](https://github.com/apache/cordova-plugin-splashscreen.git) 的基础上添加了全屏设置,处理了android启动app时黑屏的问题
|
||||
|
||||
- [Installation](#installation)
|
||||
- [Preferences](#preferences)
|
||||
* [config.xml](#configxml)
|
||||
- [Other](#other)
|
||||
|
||||
## Installation
|
||||
|
||||
// 安装前请先卸载 cordova-plugin-splashscreen 插件
|
||||
cordova plugin rm cordova-plugin-splashscreen
|
||||
|
||||
// 安装插件
|
||||
cordova plugin add https://github.com/shuto-cn/cordova-plugin-splashscreen.git
|
||||
|
||||
## Preferences
|
||||
|
||||
### config.xml
|
||||
|
||||
- `SplashFullScreen` (boolean, default to `true`). 在app未设置全屏的情况下FadeSplash是否全屏显示
|
||||
|
||||
```xml
|
||||
<preference name="SplashFullScreen" value="true" />
|
||||
```
|
||||
## Other
|
||||
|
||||
- 关于android启动黑屏 请保持`SplashScreen`参数值为`screen`否则请修改`src/android/res/values/style.xml`中对应资源id
|
||||
- 其他配置及插件使用方法请移步[cordova-plugin-splashscreen](https://github.com/apache/cordova-plugin-splashscreen.git)
|
||||
266
RELEASENOTES.md
266
RELEASENOTES.md
@@ -20,43 +20,203 @@
|
||||
-->
|
||||
# Release Notes
|
||||
|
||||
### 0.2.2 (Sept 25, 2013)
|
||||
* CB-4889 bumping&resetting version
|
||||
* CB-4889 renaming org.apache.cordova.core.splashscreen to org.apache.cordova.splashscreen
|
||||
* Rename CHANGELOG.md -> RELEASENOTES.md
|
||||
* [CB-4806] Update splashscreen image bounds for iOS 7
|
||||
* [CB-4752] Incremented plugin version on dev branch.
|
||||
### 6.0.0 (Jul 07, 2020)
|
||||
|
||||
### 0.2.3 (Oct 9, 2013)
|
||||
* [CB-4806] Re-fix Update splashscreen image bounds for iOS 7
|
||||
* [CB-4934] plugin-splashscreen should not show by default on Windows8
|
||||
* [CB-4929] plugin-splashscreen not loading proxy windows8
|
||||
* [CB-4915] Incremented plugin version on dev branch.
|
||||
* [GH-282](https://github.com/apache/cordova-plugin-splashscreen/pull/282) fix: js `clobber` only on supported platforms
|
||||
* [GH-281](https://github.com/apache/cordova-plugin-splashscreen/pull/281) chore: adds `package-lock` file
|
||||
* [GH-280](https://github.com/apache/cordova-plugin-splashscreen/pull/280) doc(android): various improvements including size specs
|
||||
* [GH-200](https://github.com/apache/cordova-plugin-splashscreen/pull/200) fix(windows): implementation structure
|
||||
* [GH-279](https://github.com/apache/cordova-plugin-splashscreen/pull/279) chore: add missing supported platform **Browser** to `npm` keywords
|
||||
* [GH-278](https://github.com/apache/cordova-plugin-splashscreen/pull/278) chore: update `engine` checks to cover newer versions
|
||||
* [GH-277](https://github.com/apache/cordova-plugin-splashscreen/pull/277) breaking: replace `jshint` with `eslint`
|
||||
* [GH-276](https://github.com/apache/cordova-plugin-splashscreen/pull/276) breaking: drop `node` `engine` requirement
|
||||
* [GH-275](https://github.com/apache/cordova-plugin-splashscreen/pull/275) chore: cleanup repo
|
||||
* [GH-274](https://github.com/apache/cordova-plugin-splashscreen/pull/274) breaking: bump `engine` restriction for cordova dependencies
|
||||
* [GH-263](https://github.com/apache/cordova-plugin-splashscreen/pull/263) breaking: remove **iOS** platform code from plugin repo
|
||||
* [GH-267](https://github.com/apache/cordova-plugin-splashscreen/pull/267) test: force `cordova-ios`@^5.1.1
|
||||
|
||||
### 0.2.4 (Oct 28, 2013)
|
||||
* CB-5128: add repo + issue tag to plugin.xml for splashscreen plugin
|
||||
* [CB-5010] Incremented plugin version on dev branch.
|
||||
### 5.0.4 (Jun 03, 2020)
|
||||
* [GH-261](https://github.com/apache/cordova-plugin-splashscreen/pull/261) chore: add `cordova-ios` requirement <6.0.0
|
||||
* chore(asf): update git notification settings
|
||||
* update CONTRIBUTING.md
|
||||
* [GH-251](https://github.com/apache/cordova-plugin-splashscreen/pull/251) chore(npm): adds ignore list
|
||||
* [GH-252](https://github.com/apache/cordova-plugin-splashscreen/pull/252) ci: updates Node.js versions
|
||||
* [GH-236](https://github.com/apache/cordova-plugin-splashscreen/pull/236) update homepage to github `README` page
|
||||
* [GH-239](https://github.com/apache/cordova-plugin-splashscreen/pull/239) update `README`.md by adding missing info
|
||||
* ci(travis): Upgrade node from 6 to 8
|
||||
* ci(travis): Remove **Android 4.4**, Add **Android** 9.0
|
||||
* [GH-212](https://github.com/apache/cordova-plugin-splashscreen/pull/212) ci(travis): Add ADDITIONAL_TESTS_DIR=./tests/ios
|
||||
|
||||
### 0.2.5 (Dec 4, 2013)
|
||||
* add ubuntu platform
|
||||
* Added amazon-fireos platform. Change to use amazon-fireos as a platform if the user agent string contains 'cordova-amazon-fireos'
|
||||
* CB-5124 - Remove splashscreen config.xml values from iOS Configuration Docs, move to plugin docs
|
||||
### 5.0.3 (May 09, 2019)
|
||||
* Update CI configuration and README ([#210](https://github.com/apache/cordova-plugin-splashscreen/pull/210), [#208](https://github.com/apache/cordova-plugin-splashscreen/pull/208), [#198](https://github.com/apache/cordova-plugin-splashscreen/pull/198), [#194](https://github.com/apache/cordova-plugin-splashscreen/pull/194))
|
||||
* Add or update GitHub pull request and issue template
|
||||
* [CB-13826](https://issues.apache.org/jira/browse/CB-13826) Incremented plugin version.
|
||||
* [CB-12277](https://issues.apache.org/jira/browse/CB-12277) (android) avoid NullPointerException on splashImageView when removing splashscreen
|
||||
|
||||
### 0.2.6 (Jan 02, 2014)
|
||||
* CB-5658 Add doc/index.md for Splashscreen plugin
|
||||
* Handle error when splash image is missing.
|
||||
### 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
|
||||
|
||||
### 0.2.7 (Feb 05, 2014)
|
||||
* [CB-3562] Fix aspect ratio on landscape-only iPhone applications
|
||||
* CB-4051 fix for splashscreen rotation problem
|
||||
### 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)
|
||||
|
||||
### 0.3.0 (Apr 17, 2014)
|
||||
* Add Tizen support to plugin
|
||||
* CB-6422: [windows8] use cordova/exec/proxy
|
||||
* CB-4051: [ios] - Re-fix - Splashscreen rotation problem (closes #13)
|
||||
* CB-6460: Update license headers
|
||||
* CB-6465: Add license headers to Tizen code
|
||||
* Add NOTICE file
|
||||
### 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`
|
||||
* [CB-12363](https://issues.apache.org/jira/browse/CB-12363) Added build badges for **iOS 9.3** and **iOS 10.0**
|
||||
* [CB-12230](https://issues.apache.org/jira/browse/CB-12230) Removed **Windows 8.1** build badges
|
||||
|
||||
### 4.0.1 (Dec 07, 2016)
|
||||
* [CB-12224](https://issues.apache.org/jira/browse/CB-12224) Updated version and RELEASENOTES.md for release 4.0.1
|
||||
* [CB-11751](https://issues.apache.org/jira/browse/CB-11751) 'extendedSplashScreen' is undefined Document that splashscreen needs to be disabled on Windows in case of updating entire document body
|
||||
* [CB-9287](https://issues.apache.org/jira/browse/CB-9287) Not enough Icons and Splashscreens for **Windows 8.1** and Windows Phone 8.1
|
||||
* [CB-11917](https://issues.apache.org/jira/browse/CB-11917) - Remove pull request template checklist item: "iCLA has been submitted…"
|
||||
* [CB-11830](https://issues.apache.org/jira/browse/CB-11830) (iOS) Fix doc typos in PR#114
|
||||
* [CB-11829](https://issues.apache.org/jira/browse/CB-11829) (iOS) Support for CB-9762; docs (CB-11830)
|
||||
* [CB-11832](https://issues.apache.org/jira/browse/CB-11832) Incremented plugin version.
|
||||
|
||||
### 4.0.0 (Sep 08, 2016)
|
||||
* [CB-11795](https://issues.apache.org/jira/browse/CB-11795) Add 'protective' entry to cordovaDependencies
|
||||
* [CB-11326](https://issues.apache.org/jira/browse/CB-11326) Prevent crash when initializing plugin after navigating to another URL
|
||||
* Fix crash on **iOS** when reloading page from remote **Safari**
|
||||
* Add badges for paramedic builds on Jenkins
|
||||
* Add pull request template.
|
||||
* [CB-11179](https://issues.apache.org/jira/browse/CB-11179) Extend the windows-splashscreen docs
|
||||
* [CB-11159](https://issues.apache.org/jira/browse/CB-11159) Fix flaky splashscreen native tests
|
||||
* [CB-11156](https://issues.apache.org/jira/browse/CB-11156) Change default `FadeSplashScreenDuration` value
|
||||
* [CB-8056](https://issues.apache.org/jira/browse/CB-8056) Updated the dependency version, added it to the docs
|
||||
* [CB-10996](https://issues.apache.org/jira/browse/CB-10996) Adding front matter to README.md
|
||||
* [CB-8056](https://issues.apache.org/jira/browse/CB-8056) Implement splashscreen for **Windows** platform
|
||||
* [CB-6498](https://issues.apache.org/jira/browse/CB-6498) Misleading documentation in **Android** Quirks
|
||||
|
||||
### 3.2.2 (Apr 15, 2016)
|
||||
* [CB-10979](https://issues.apache.org/jira/browse/CB-10979) Fix splashscreen **iOS** native tests. Added `jshintignore` for tests/ios
|
||||
* [CB-10895](https://issues.apache.org/jira/browse/CB-10895) Transparent Splashscreen view sometimes remains
|
||||
* [CB-10562](https://issues.apache.org/jira/browse/CB-10562) `hide()` not working in latest splashscreen plug in 3.1.0 in **iOS**
|
||||
* [CB-10688](https://issues.apache.org/jira/browse/CB-10688) Plugin Splashscreen Readme must have examples.
|
||||
* [CB-10864](https://issues.apache.org/jira/browse/CB-10864) Run **iOS** native tests on Travis
|
||||
|
||||
### 3.2.1 (Mar 09, 2016)
|
||||
* [CB-10764](https://issues.apache.org/jira/browse/CB-10764) Remove emoji in cordova-plugin-splashscreen
|
||||
* [CB-10650](https://issues.apache.org/jira/browse/CB-10650) Non-index content.src causes Splashscreen to be not displayed on **Browser**
|
||||
* [CB-10636](https://issues.apache.org/jira/browse/CB-10636) Add JSHint for plugins
|
||||
* [CB-10606](https://issues.apache.org/jira/browse/CB-10606) fix deprecation warning for interfaceOrientation on **iOS**
|
||||
* chore: edit package.json license to match SPDX id
|
||||
|
||||
### 3.2.0 (Feb 09, 2016)
|
||||
* [CB-10422](https://issues.apache.org/jira/browse/CB-10422) Splashscreen displays black screen with no image on Android
|
||||
* [CB-10412](https://issues.apache.org/jira/browse/CB-10412) AutoHideSplashScreen "false" isn't taken in account on iOS
|
||||
* [CB-9516](https://issues.apache.org/jira/browse/CB-9516) Android SplashScreen - Spinner Does Not Display
|
||||
* [CB-9094](https://issues.apache.org/jira/browse/CB-9094) Smarter autohide logic on Android
|
||||
* [CB-8396](https://issues.apache.org/jira/browse/CB-8396) Add AutoHideSplashScreen logic to Android's Splashscreen
|
||||
|
||||
### 3.1.0 (Jan 15, 2016)
|
||||
* [CB-9538](https://issues.apache.org/jira/browse/CB-9538) Implementing `FadeSplashScreen` feature for **Android**
|
||||
* [CB-9240](https://issues.apache.org/jira/browse/CB-9240) Cordova splash screen plugin **iPad** landscape mode issue
|
||||
* [CB-10263](https://issues.apache.org/jira/browse/CB-10263) Fix splashscreen plugin filenames for Asset Catalog
|
||||
* [CB-9374](https://issues.apache.org/jira/browse/CB-9374) **Android** add `SplashShowOnlyFirstTime` as preference
|
||||
* [CB-10244](https://issues.apache.org/jira/browse/CB-10244) Don't rotate the **iPhone 6 Plus** splash
|
||||
* [CB-9043](https://issues.apache.org/jira/browse/CB-9043) Fix the **ios** splashscreen being deformed on orientation change
|
||||
* [CB-10079](https://issues.apache.org/jira/browse/CB-10079) Splashscreen plugin does not honor `SplashScreenDelay` on **iOS**
|
||||
* [CB-10231](https://issues.apache.org/jira/browse/CB-10231) Fix `FadeSplashScreen` to default to true on **iOS**
|
||||
|
||||
### 3.0.0 (Nov 18, 2015)
|
||||
* [CB-10035](https://issues.apache.org/jira/browse/CB-10035) Updated `RELEASENOTES` to be newest to oldest
|
||||
* Fixing contribute link.
|
||||
* [CB-9750](https://issues.apache.org/jira/browse/CB-9750) `FadeSplashDuration` is now in `msecs`
|
||||
* [CB-8875](https://issues.apache.org/jira/browse/CB-8875) `FadeSplashScreen` was not fading
|
||||
* [CB-9467](https://issues.apache.org/jira/browse/CB-9467) SplashScreen does not show any image in hosted app on **Windows 10**
|
||||
* [CB-7282](https://issues.apache.org/jira/browse/CB-7282) Document `AutoHideSplashScreenpreference`
|
||||
* [CB-9327](https://issues.apache.org/jira/browse/CB-9327) - Splashscreen not receiving `CDVPageLoadNotification`
|
||||
* WP8: Avoid config `value` of a wrong element.
|
||||
|
||||
### 2.1.0 (Jun 17, 2015)
|
||||
* added missing license headers
|
||||
* [CB-9128](https://issues.apache.org/jira/browse/CB-9128) cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen
|
||||
* fix npm md issue
|
||||
* Fixed iOS unit tests.
|
||||
* [CB-3562](https://issues.apache.org/jira/browse/CB-3562): Disable screen rotation for iPhone when splash screen is shown. (closes #47)
|
||||
* [CB-8988](https://issues.apache.org/jira/browse/CB-8988): Fix rotation on iOS/iPad (closes #46)
|
||||
* [CB-8904](https://issues.apache.org/jira/browse/CB-8904): Don't reset the static variable when it's destroyed, otherwise we might as well just have a member variable
|
||||
* Removed wp7 from `plugin.xml` and package.json
|
||||
* [CB-8750](https://issues.apache.org/jira/browse/CB-8750) [wp8]: Rewrite resoultion helper
|
||||
* [CB-8750](https://issues.apache.org/jira/browse/CB-8750) [wp8]: Allow resolution-specific splashscreen images
|
||||
* [CB-8758](https://issues.apache.org/jira/browse/CB-8758) [wp8]: UnauthorizedAccessException on hide()
|
||||
|
||||
### 2.0.0 (Apr 15, 2015)
|
||||
* give users a way to install the bleeding edge.
|
||||
* [CB-8746](https://issues.apache.org/jira/browse/CB-8746) gave plugin major version bump
|
||||
* [CB-8797](https://issues.apache.org/jira/browse/CB-8797) - Splashscreen preferences FadeSplashScreenDuration and FadeSplashScreen (iOS) are missing
|
||||
* [CB-8836](https://issues.apache.org/jira/browse/CB-8836) - Crashes after animating splashscreen
|
||||
* [CB-8753](https://issues.apache.org/jira/browse/CB-8753) android: Fix missing import in previous commit
|
||||
* [CB-8753](https://issues.apache.org/jira/browse/CB-8753) android: Adds `SplashMaintainAspectRatio` preference (close #43)
|
||||
* [CB-8683](https://issues.apache.org/jira/browse/CB-8683) changed plugin-id to pacakge-name
|
||||
* [CB-8653](https://issues.apache.org/jira/browse/CB-8653) properly updated translated docs to use new id
|
||||
* [CB-8653](https://issues.apache.org/jira/browse/CB-8653) updated translated docs to use new id
|
||||
* [CB-8345](https://issues.apache.org/jira/browse/CB-8345) Make default for splashscreen resource "screen" (which is what template and CLI assume it to be)
|
||||
* Revert "CB-8345 android: Make "splash" the default resource ID instead of null"
|
||||
* Use TRAVIS_BUILD_DIR, install paramedic by npm
|
||||
* [CB-8345](https://issues.apache.org/jira/browse/CB-8345) android: Make "splash" the default resource ID instead of null
|
||||
* docs: added Windows to supported platforms
|
||||
* [CB-7964](https://issues.apache.org/jira/browse/CB-7964) Add cordova-plugin-splashscreen support for browser platform
|
||||
* [CB-8653](https://issues.apache.org/jira/browse/CB-8653) Updated Readme
|
||||
* [wp8] oops, Added back config parse result checks
|
||||
* [WP8] code cleanup, minor refactors, comments to clarify some stuff.
|
||||
* Extend WP8 Splash Screen to respect SplashScreen and SplashScreenDelay preferences from config file
|
||||
* [CB-8574](https://issues.apache.org/jira/browse/CB-8574) Integrate TravisCI
|
||||
* [CB-8438](https://issues.apache.org/jira/browse/CB-8438) cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen
|
||||
* [CB-8538](https://issues.apache.org/jira/browse/CB-8538) Added package.json file
|
||||
* [CB-8397](https://issues.apache.org/jira/browse/CB-8397) Add support to 'windows' for showing the Windows Phone splashscreen
|
||||
|
||||
### 1.0.0 (Feb 04, 2015)
|
||||
* [CB-8351](https://issues.apache.org/jira/browse/CB-8351) ios: Stop using deprecated IsIpad macro
|
||||
* [CB-3679](https://issues.apache.org/jira/browse/CB-3679) Add engine tag for Android >= 3.6.0 due to use of `preferences`
|
||||
* [CB-3679](https://issues.apache.org/jira/browse/CB-3679) Make SplashScreen plugin compatible with cordova-android@4.0.x
|
||||
|
||||
### 0.3.5 (Dec 02, 2014)
|
||||
* [CB-7204](https://issues.apache.org/jira/browse/CB-7204) - Race condition when hiding and showing spinner (closes #21)
|
||||
* [CB-7700](https://issues.apache.org/jira/browse/CB-7700) cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen
|
||||
|
||||
### 0.3.4 (Oct 03, 2014)
|
||||
* Finalized iOS splash screen (image name) tests. 176 tests in all, 44 for each type of device (iPad, iPhone, iPhone5, iPhone6, iPhone 6 Plus).
|
||||
* [CB-7633](https://issues.apache.org/jira/browse/CB-7633) - (Re-fix based on updated unit tests) iPhone 6 Plus support
|
||||
* Updated iOS tests for locked orientations
|
||||
* Added more iOS splash screen tests.
|
||||
* [CB-7633](https://issues.apache.org/jira/browse/CB-7633) - Add support for iPhone 6/6+
|
||||
* Added failing iPhone 6/6 Plus tests.
|
||||
* Added 'npm test'
|
||||
* [CB-7663](https://issues.apache.org/jira/browse/CB-7663) - iOS unit tests for splash screen
|
||||
* Properly formatted splashscreen preference docs.
|
||||
|
||||
### 0.3.3 (Sep 17, 2014)
|
||||
* [CB-7249](https://issues.apache.org/jira/browse/CB-7249) cordova-plugin-splashscreen documentation translation
|
||||
* Renamed test dir, added nested `plugin.xml`
|
||||
* added documentation for manual tests
|
||||
* [CB-7196](https://issues.apache.org/jira/browse/CB-7196) port splashscreen tests to framework
|
||||
|
||||
### 0.3.2 (Aug 06, 2014)
|
||||
* [CB-6127](https://issues.apache.org/jira/browse/CB-6127) Updated translations for docs
|
||||
* [CB-7041](https://issues.apache.org/jira/browse/CB-7041) ios: Fix image filename logic when setting the iPad splash screen
|
||||
* fixes Splashscreen crash on WP8
|
||||
* Remove outdated doc
|
||||
|
||||
### 0.3.1 (Jun 05, 2014)
|
||||
* documentation translation: cordova-plugin-splashscreen
|
||||
@@ -64,10 +224,48 @@
|
||||
* Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen
|
||||
* Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen
|
||||
* Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen
|
||||
* CB-6810 Add license to CONTRIBUTING.md
|
||||
* [CB-6810](https://issues.apache.org/jira/browse/CB-6810) Add license to CONTRIBUTING.md
|
||||
* [wp8] updated quirk for and combined iOS,WP8,BB10 quirks as they are all the same
|
||||
* [wp] implemented OnInit so splash screen can be shown before cordova page is loaded
|
||||
* [wp] plugin must be autoloaded for AutoHideSplashScreen preference to work
|
||||
* CB-6483 Use splash screen image from manifest on Windows8
|
||||
* CB-6491 add CONTRIBUTING.md
|
||||
* [CB-6483](https://issues.apache.org/jira/browse/CB-6483) Use splash screen image from manifest on Windows8
|
||||
* [CB-6491](https://issues.apache.org/jira/browse/CB-6491) add CONTRIBUTING.md
|
||||
* Revert "Merge branch 'tizen' of http://github.com/siovene/cordova-plugin-splashscreen"
|
||||
|
||||
### 0.3.0 (Apr 17, 2014)
|
||||
* Add Tizen support to plugin
|
||||
* [CB-6422](https://issues.apache.org/jira/browse/CB-6422): [windows8] use cordova/exec/proxy
|
||||
* [CB-4051](https://issues.apache.org/jira/browse/CB-4051): [ios] - Re-fix - Splashscreen rotation problem (closes #13)
|
||||
* [CB-6460](https://issues.apache.org/jira/browse/CB-6460): Update license headers
|
||||
* [CB-6465](https://issues.apache.org/jira/browse/CB-6465): Add license headers to Tizen code
|
||||
* Add NOTICE file
|
||||
|
||||
### 0.2.7 (Feb 05, 2014)
|
||||
* [CB-3562](https://issues.apache.org/jira/browse/CB-3562) Fix aspect ratio on landscape-only iPhone applications
|
||||
* [CB-4051](https://issues.apache.org/jira/browse/CB-4051) fix for splashscreen rotation problem
|
||||
|
||||
### 0.2.6 (Jan 02, 2014)
|
||||
* [CB-5658](https://issues.apache.org/jira/browse/CB-5658) Add doc/index.md for Splashscreen plugin
|
||||
* Handle error when splash image is missing.
|
||||
|
||||
### 0.2.5 (Dec 4, 2013)
|
||||
* add ubuntu platform
|
||||
* Added amazon-fireos platform. Change to use amazon-fireos as a platform if the user agent string contains 'cordova-amazon-fireos'
|
||||
* [CB-5124](https://issues.apache.org/jira/browse/CB-5124) - Remove splashscreen config.xml values from iOS Configuration Docs, move to plugin docs
|
||||
|
||||
### 0.2.4 (Oct 28, 2013)
|
||||
* [CB-5128](https://issues.apache.org/jira/browse/CB-5128): add repo + issue tag to `plugin.xml` for splashscreen plugin
|
||||
* [CB-5010](https://issues.apache.org/jira/browse/CB-5010) Incremented plugin version on dev branch.
|
||||
|
||||
### 0.2.3 (Oct 9, 2013)
|
||||
* [CB-4806](https://issues.apache.org/jira/browse/CB-4806) Re-fix Update splashscreen image bounds for iOS 7
|
||||
* [CB-4934](https://issues.apache.org/jira/browse/CB-4934) plugin-splashscreen should not show by default on Windows8
|
||||
* [CB-4929](https://issues.apache.org/jira/browse/CB-4929) plugin-splashscreen not loading proxy windows8
|
||||
* [CB-4915](https://issues.apache.org/jira/browse/CB-4915) Incremented plugin version on dev branch.
|
||||
|
||||
### 0.2.2 (Sept 25, 2013)
|
||||
* [CB-4889](https://issues.apache.org/jira/browse/CB-4889) bumping&resetting version
|
||||
* [CB-4889](https://issues.apache.org/jira/browse/CB-4889) renaming org.apache.cordova.core.splashscreen to org.apache.cordova.splashscreen
|
||||
* Rename CHANGELOG.md -> RELEASENOTES.md
|
||||
* [CB-4806](https://issues.apache.org/jira/browse/CB-4806) Update splashscreen image bounds for iOS 7
|
||||
* [CB-4752](https://issues.apache.org/jira/browse/CB-4752) Incremented plugin version on dev branch.
|
||||
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
Dieses Plugin zeigt und verbirgt einen Splash-Screen beim Start der Anwendung.
|
||||
|
||||
## Installation
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## Unterstützte Plattformen
|
||||
|
||||
* Amazon Fire OS
|
||||
* Android
|
||||
* BlackBerry 10
|
||||
* iOS
|
||||
* Windows Phone 7 und 8
|
||||
* Windows 8
|
||||
|
||||
## Methoden
|
||||
|
||||
* SplashScreen.Show
|
||||
* SplashScreen.Hide
|
||||
|
||||
### Android Macken
|
||||
|
||||
In Ihrem "config.xml" müssen Sie die folgende Einstellung hinzufügen
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
Wo Foo ist der Name der Datei Splashscreen. Vorzugsweise eine 9-Patch-Datei. Stellen Sie sicher, Splashcreen Dateien zu Ihrem Res/Xml-Verzeichnis unter den entsprechenden Ordnern hinzuzufügen.
|
||||
|
||||
Für Android müssen Sie auch Ihre wichtigsten Java-Projekte-Datei bearbeiten. Sie müssen hinzufügen, einen zweiten Parameter, die eine zeitliche Verzögerung zu Ihren super.loadUrl darstellt.
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## SplashScreen.Hide
|
||||
|
||||
Schließen Sie den Splash-Screen.
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### BlackBerry 10 Quirk
|
||||
|
||||
Die `config.xml` der Datei `AutoHideSplashScreen` muss`false`.
|
||||
|
||||
### iOS Quirk
|
||||
|
||||
Die `config.xml` Datei `AutoHideSplashScreen` muss `false` . Verstecken den Splash-Screen für zwei Sekunden Verzögerung, fügen Sie einen Timer wie die folgende in der `deviceready` -Ereignishandler:
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## SplashScreen.Show
|
||||
|
||||
Zeigt den Begrüßungsbildschirm.
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
Ihre Anwendung kann nicht aufgerufen werden `navigator.splashscreen.show()` bis die app gestartet hat und das `deviceready` -Ereignis ausgelöst hat. Aber da in der Regel der Splash-Screen soll sichtbar sein, bevor die Anwendung gestartet wurde, scheint die Niederlage der Zweck des Begrüßungsbildschirms. Somit einige Konfiguration in `config.xml` wird automatisch `show` den Splash-Screen unmittelbar nach Ihrer app starten und bevor es voll gestartet und hat das `deviceready` Ereignis. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens][1] . Aus diesem Grund ist es unwahrscheinlich, dass Sie aufrufen müssen `navigator.splashscreen.show()` den Splash-Screen beim Starten der app sichtbar zu machen.
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
Este plugin muestra y esconde una pantalla de bienvenida durante el inicio de la aplicación.
|
||||
|
||||
## Instalación
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## Plataformas soportadas
|
||||
|
||||
* Amazon fuego OS
|
||||
* Android
|
||||
* BlackBerry 10
|
||||
* iOS
|
||||
* Windows Phone 7 y 8
|
||||
* Windows 8
|
||||
|
||||
## Métodos
|
||||
|
||||
* splashscreen.show
|
||||
* splashscreen.hide
|
||||
|
||||
### Rarezas Android
|
||||
|
||||
En el archivo config.xml, tienes que añadir la siguiente preferencia
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
Donde foo es el nombre del archivo splashscreen. Preferiblemente un archivo de 9 parche. Asegúrese de agregar tus archivos splashcreen en tu directorio res/xml bajo las carpetas apropiadas.
|
||||
|
||||
Para Android, también tienes que editar el archivo java principales proyectos. Debe agregar un segundo parámetro que representa un intervalo de tiempo para su super.loadUrl.
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.hide
|
||||
|
||||
Despedir a la pantalla de bienvenida.
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### BlackBerry 10 chanfle
|
||||
|
||||
El `config.xml` del archivo `AutoHideSplashScreen` ajuste debe ser`false`.
|
||||
|
||||
### iOS Quirk
|
||||
|
||||
El `config.xml` del archivo `AutoHideSplashScreen` la configuración debe ser `false` . Para retrasar oculta la pantalla splash durante dos segundos, agregue un temporizador como la siguiente en el `deviceready` controlador de eventos:
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## splashscreen.show
|
||||
|
||||
Muestra la pantalla de bienvenida.
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
La aplicación no se puede llamar `navigator.splashscreen.show()` hasta que haya iniciado la aplicación y el `deviceready` evento ha despedido. Pero puesto que normalmente la pantalla está destinada a ser visible antes de que comience su aplicación, que parecería que el propósito de la pantalla de bienvenida. Proporcionar cierta configuración en `config.xml` automáticamente `show` la pantalla de presentación inmediatamente después de su lanzamiento de la aplicación y antes de ser completamente ha iniciado y recibió el `deviceready` evento. Ver [los iconos y salpicadura pantallas][1] para obtener más información sobre haciendo esta configuración. Por esta razón, es poco probable que necesitas llamar a `navigator.splashscreen.show()` para hacer la pantalla visible para el inicio de la aplicación.
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
Ce plugin affiche et masque un écran de démarrage lors du lancement de l'application.
|
||||
|
||||
## Installation
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## Plates-formes prises en charge
|
||||
|
||||
* Amazon Fire OS
|
||||
* Android
|
||||
* BlackBerry 10
|
||||
* iOS
|
||||
* Windows Phone 7 et 8
|
||||
* Windows 8
|
||||
|
||||
## Méthodes
|
||||
|
||||
* splashscreen.Show
|
||||
* splashscreen.Hide
|
||||
|
||||
### Quirks Android
|
||||
|
||||
Dans votre fichier config.xml, vous devez ajouter la préférence suivante
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
Où foo est le nom du fichier splashscreen. Préférence un fichier de 9 correctif. Assurez-vous d'ajouter vos fichiers splashcreen dans votre répertoire res/xml dans les dossiers appropriés.
|
||||
|
||||
Pour Android, vous devez également modifier votre fichier java principal de projets. Vous devez ajouter un deuxième paramètre, ce qui représente un temps de retard à votre super.loadUrl.
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.Hide
|
||||
|
||||
Fait disparaître l'écran de démarrage.
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### BlackBerry 10 Quirk
|
||||
|
||||
La `config.xml` du fichier `AutoHideSplashScreen` doit être`false`.
|
||||
|
||||
### iOS Quirk
|
||||
|
||||
Le paramètre `AutoHideSplashScreen</code du fichier <code>config.xml` doit être réglé à `false` . Pour retarder la disparition de l'écran de démarrage de deux secondes, ajoute un minuteur comme ci-dessous dans le gestionnaire d'événements `deviceready` :
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## splashscreen.Show
|
||||
|
||||
Affiche l'écran de démarrage.
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
Votre application ne peut pas appeler `navigator.splashscreen.show()` jusqu'à ce que l'application a commencé et le `deviceready` événement a été déclenché. Mais puisqu'en général, l'écran de démarrage est destiné à être visible avant que votre application a commencé, qui semblerait à l'encontre des objectifs de l'écran de démarrage. Fournir une configuration en `config.xml` sera automatiquement `show` l'écran de démarrage immédiatement après votre lancement de l'app et avant qu'il a complètement démarré et a reçu le `deviceready` événement. Voir les [icônes et les écrans de démarrage][1] pour plus d'informations sur la conduite de cette configuration. Pour cette raison, il est peu probable que vous devez appeler `navigator.splashscreen.show()` pour rendre l'écran de démarrage visible pour le démarrage de l'application.
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
90
doc/index.md
90
doc/index.md
@@ -1,90 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
This plugin displays and hides a splash screen during application launch.
|
||||
|
||||
## Installation
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- Amazon Fire OS
|
||||
- Android
|
||||
- BlackBerry 10
|
||||
- iOS
|
||||
- Windows Phone 7 and 8
|
||||
- Windows 8
|
||||
|
||||
|
||||
## Methods
|
||||
|
||||
- splashscreen.show
|
||||
- splashscreen.hide
|
||||
|
||||
### Android Quirks
|
||||
|
||||
In your config.xml, you need to add the following preference
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
Where foo is the name of the splashscreen file. Preferably a 9 patch file. Make sure to add your splashcreen files to your res/xml directory under the appropriate folders.
|
||||
|
||||
For Android, you also have to edit your projects main java file. You must add a second parameter representing a time delay to your super.loadUrl.
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.hide
|
||||
|
||||
Dismiss the splash screen.
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### BlackBerry 10, WP8, iOS Quirk
|
||||
|
||||
The `config.xml` file's `AutoHideSplashScreen` setting must be
|
||||
`false`. To delay hiding the splash screen for two seconds, add a
|
||||
timer such as the following in the `deviceready` event handler:
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
## splashscreen.show
|
||||
|
||||
Displays the splash screen.
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
Your application cannot call `navigator.splashscreen.show()` until the app has
|
||||
started and the `deviceready` event has fired. But since typically the splash
|
||||
screen is meant to be visible before your app has started, that would seem to
|
||||
defeat the purpose of the splash screen. Providing some configuration in
|
||||
`config.xml` will automatically `show` the splash screen immediately after your
|
||||
app launch and before it has fully started and received the `deviceready`
|
||||
event. See [Icons and Splash Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)
|
||||
for more information on doing this configuration. For this reason, it is
|
||||
unlikely you need to call `navigator.splashscreen.show()` to make the splash
|
||||
screen visible for app startup.
|
||||
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
Questo plugin Visualizza e nasconde una schermata iniziale durante l'avvio dell'applicazione.
|
||||
|
||||
## Installazione
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## Piattaforme supportate
|
||||
|
||||
* Amazon fuoco OS
|
||||
* Android
|
||||
* BlackBerry 10
|
||||
* iOS
|
||||
* Windows Phone 7 e 8
|
||||
* Windows 8
|
||||
|
||||
## Metodi
|
||||
|
||||
* splashscreen
|
||||
* splashscreen.Hide
|
||||
|
||||
### Stranezze Android
|
||||
|
||||
Nel vostro config. xml, è necessario aggiungere la seguente preferenza
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
Dove foo è il nome del file splashscreen. Preferibilmente un file di 9 patch. Assicurati di aggiungere i tuoi file splashcreen res/xml nella directory sotto cartelle appropriate.
|
||||
|
||||
Per Android, devi anche modificare il file di progetti java principale. È necessario aggiungere un secondo parametro che rappresenta un tempo di ritardo alla tua super.loadUrl.
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.Hide
|
||||
|
||||
Respingere la schermata iniziale.
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### BlackBerry 10 Quirk
|
||||
|
||||
Il `config.xml` di file `AutoHideSplashScreen` impostazione deve essere`false`.
|
||||
|
||||
### iOS Quirk
|
||||
|
||||
Il `config.xml` di file `AutoHideSplashScreen` impostazione deve essere `false` . Per ritardare nascondendo la schermata iniziale per due secondi, aggiungere un timer ad esempio nel `deviceready` gestore di evento:
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## splashscreen
|
||||
|
||||
Visualizza la schermata iniziale.
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
L'applicazione non può chiamare `navigator.splashscreen.show()` fino a quando ha iniziato l'app e il `deviceready` ha generato l'evento. Ma poiché in genere la schermata iniziale è destinata ad essere visibile prima app ha iniziato, che sembrerebbe per sconfiggere lo scopo della schermata iniziale. Fornendo qualche configurazione in `config.xml` verrà automaticamente `show` la schermata iniziale subito dopo il lancio dell'app e prima che completamente ha iniziato e ha ricevuto il `deviceready` evento. Per ulteriori informazioni su facendo questa configurazione, vedere [icone e schermate iniziali][1] . Per questo motivo, è improbabile che dovete chiamare `navigator.splashscreen.show()` per rendere la schermata visibile per avvio di app.
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
このプラグインが表示され、アプリケーションの起動中にスプラッシュ スクリーンを非表示にします。
|
||||
|
||||
## インストール
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## サポートされているプラットフォーム
|
||||
|
||||
* アマゾン火 OS
|
||||
* アンドロイド
|
||||
* ブラックベリー 10
|
||||
* iOS
|
||||
* Windows Phone 7 と 8
|
||||
* Windows 8
|
||||
|
||||
## メソッド
|
||||
|
||||
* splashscreen.show
|
||||
* splashscreen.hide
|
||||
|
||||
### Android の癖
|
||||
|
||||
あなた config.xml で、以下の設定を追加する必要があります。
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
Foo は splashscreen ファイルの名前です。できれば 9 パッチ ファイルです。解像度/xml ディレクトリの適切なフォルダーの下に splashcreen ファイルを追加することを確認します。
|
||||
|
||||
アンドロイドのためまた、プロジェクトの主要な java ファイルを編集する必要があります。あなたの super.loadUrl への遅延時間を表す 2 番目のパラメーターを追加する必要があります。
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.hide
|
||||
|
||||
スプラッシュ スクリーンを閉じます。
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### ブラックベリー 10 気まぐれ
|
||||
|
||||
`config.xml`ファイルの `AutoHideSplashScreen` 設定する必要があります`false`.
|
||||
|
||||
### iOS の気まぐれ
|
||||
|
||||
`config.xml`ファイルの `AutoHideSplashScreen` 設定する必要があります `false` 。 遅延を 2 秒間スプラッシュ スクリーンを非表示、する、タイマーを追加しますで次のように `deviceready` イベント ハンドラー。
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## splashscreen.show
|
||||
|
||||
スプラッシュ画面が表示されます。
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
アプリケーションを呼び出すことはできません `navigator.splashscreen.show()` 、アプリが開始されるまで、 `deviceready` イベントが発生します。 しかし、以来、通常スプラッシュ画面アプリ開始前に表示するものですと思われる、スプラッシュ スクリーンの目的の敗北します。 いくつかの構成を提供する `config.xml` は自動的に `show` スプラッシュ画面、アプリを起動後すぐに、それが完全に起動し、受信する前に、 `deviceready` イベント。 詳細についてはこの構成を行うには、[アイコンとスプラッシュ画面][1]を参照してください。 このような理由から、それは可能性を呼び出す必要があります `navigator.splashscreen.show()` アプリ起動時のスプラッシュ画面を見やすくします。
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
이 플러그인은 표시 하 고 응용 프로그램 실행 하는 동안 시작 화면을 숨깁니다.
|
||||
|
||||
## 설치
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## 지원 되는 플랫폼
|
||||
|
||||
* 아마존 화재 운영 체제
|
||||
* 안 드 로이드
|
||||
* 블랙베리 10
|
||||
* iOS
|
||||
* Windows Phone 7과 8
|
||||
* 윈도우 8
|
||||
|
||||
## 메서드
|
||||
|
||||
* splashscreen.show
|
||||
* splashscreen.hide
|
||||
|
||||
### 안 드 로이드 단점
|
||||
|
||||
당신의 config.xml에 다음 기본 설정 추가 해야
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
여기서 foo splashscreen 파일의 이름입니다. 가급적 이면 9 패치 파일입니다. 적절 한 폴더 아래 res/xml 디렉토리에 splashcreen 파일을 추가 해야 합니다.
|
||||
|
||||
안 드 로이드, 또한 프로젝트 주요 자바 파일을 편집 해야 합니다. 당신의 super.loadUrl 시간 지연을 나타내는 두 번째 매개 변수를 추가 해야 합니다.
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.hide
|
||||
|
||||
시작 화면을 닫습니다.
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### 블랙베리 10 특질
|
||||
|
||||
`config.xml`파일의 `AutoHideSplashScreen` 설정을 해야 합니다`false`.
|
||||
|
||||
### iOS 특질
|
||||
|
||||
`config.xml`파일의 `AutoHideSplashScreen` 설정을 해야 합니다 `false` . 2 초 동안 시작 화면을 숨기고 지연에 다음과 같이 타이머 추가 `deviceready` 이벤트 처리기:
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## splashscreen.show
|
||||
|
||||
시작 화면을 표시합니다.
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
응용 프로그램 호출할 수 없습니다 `navigator.splashscreen.show()` 응용 프로그램은 시작 될 때까지 및 `deviceready` 이벤트를 해 고 했다. 하지만 그 스플래시 스크린의 목적 것 같다 일반적으로 시작 화면이 당신의 애플 리 케이 션 시작 하기 전에 표시 될 운명이 다, 이후. 몇 가지 구성을 제공 `config.xml` 자동으로 `show` 시작 화면 응용 프로그램 실행 후 즉시 및 그것은 완벽 하 게 시작 하 고 받은 전에 `deviceready` 이벤트. 이 구성 하 고 자세한 내용은 [아이콘 및 시작 화면을][1] 참조 하십시오. 이러한 이유로, 그것은 가능성이 호출 해야 `navigator.splashscreen.show()` 시작 화면은 응용 프로그램 시작에 대 한 표시 되도록 합니다.
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
Ten plugin wyświetla i ukrywa ekran powitalny podczas uruchamiania aplikacji.
|
||||
|
||||
## Instalacji
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## Obsługiwane platformy
|
||||
|
||||
* Amazon ogień OS
|
||||
* Android
|
||||
* Jeżyna 10
|
||||
* iOS
|
||||
* Windows Phone 7 i 8
|
||||
* Windows 8
|
||||
|
||||
## Metody
|
||||
|
||||
* splashscreen.show
|
||||
* splashscreen.Hide
|
||||
|
||||
### Android dziwactwa
|
||||
|
||||
W pliku config.xml musisz dodać następujące preferencje
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
Gdzie foo jest nazwą pliku ekranu powitalnego. Najlepiej plik poprawki 9. Upewnij się dodać pliki splashcreen do katalogu res/xml w odpowiednich folderach.
|
||||
|
||||
Dla Androida należy edytować plik java głównych projektów. Należy dodać drugi parametr reprezentujących opóźnienie do Twojej super.loadUrl.
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.Hide
|
||||
|
||||
Odrzucić ten opryskaæ têcza.
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### Zrządzenie blackBerry 10
|
||||
|
||||
`config.xml`Pliku `AutoHideSplashScreen` ustawienie musi być`false`.
|
||||
|
||||
### iOS dziwactwo
|
||||
|
||||
`config.xml`Pliku `AutoHideSplashScreen` ustawienie musi być `false` . Opóźnienia, ukrywanie ekranu powitalnego przez dwie sekundy, dodać timer następujących w `deviceready` obsługa zdarzeń:
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## splashscreen.show
|
||||
|
||||
Wyświetla ekran powitalny.
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
Aplikacja nie może wywołać `navigator.splashscreen.show()` aż aplikacja została uruchomiona i `deviceready` imprezy został zwolniony. Ale ponieważ zazwyczaj opryskać tęcza ma być widoczne przed rozpoczęciem aplikacji, wydaje się sprzeczne z celem ekranu powitalnego. Dostarczanie niektórych konfiguracji w `config.xml` będzie automatycznie `show` ekran powitalny, natychmiast po uruchomienie aplikacji i przed pełni rozpoczął i otrzymał `deviceready` zdarzenie. Aby uzyskać więcej informacji na robienie tej konfiguracji, zobacz [ikony i ekrany powitalne w aplikacjach][1] . Z tego powodu, jest mało prawdopodobne, należy zadzwonić `navigator.splashscreen.show()` Aby wyświetlić ekran powitalny dla uruchamiania aplikacji.
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
@@ -1,84 +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.
|
||||
-->
|
||||
|
||||
# org.apache.cordova.splashscreen
|
||||
|
||||
這個外掛程式顯示和隱藏在應用程式啟動期間的初始螢幕。
|
||||
|
||||
## 安裝
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
|
||||
|
||||
## 支援的平臺
|
||||
|
||||
* 亞馬遜火 OS
|
||||
* Android 系統
|
||||
* 黑莓 10
|
||||
* iOS
|
||||
* Windows Phone 7 和 8
|
||||
* Windows 8
|
||||
|
||||
## 方法
|
||||
|
||||
* splashscreen.show
|
||||
* splashscreen.hide
|
||||
|
||||
### Android 的怪癖
|
||||
|
||||
您需要在您的 config.xml 中添加下列優先選項
|
||||
|
||||
`<preference name="splashscreen" value="foo" />`
|
||||
|
||||
美孚在哪裡的閃屏檔的名稱。最好是 9 修補程式檔。請確保您的 splashcreen 檔添加到相應的資料夾下的 res/xml 目錄。
|
||||
|
||||
Android 系統,也可以編輯您的專案主要的 java 檔。您必須添加第二個參數表示一個時間延遲到你 super.loadUrl。
|
||||
|
||||
`super.loadUrl(Config.getStartUrl(), 10000);`
|
||||
|
||||
## splashscreen.hide
|
||||
|
||||
解雇的初始螢幕。
|
||||
|
||||
navigator.splashscreen.hide();
|
||||
|
||||
|
||||
### 黑莓 10 怪癖
|
||||
|
||||
`config.xml`檔的 `AutoHideSplashScreen` 設置必須為`false`.
|
||||
|
||||
### iOS 怪癖
|
||||
|
||||
`config.xml`檔的 `AutoHideSplashScreen` 設置必須為 `false` 。 若要延遲兩秒鐘隱藏的閃屏,添加如下所示在計時器 `deviceready` 事件處理常式:
|
||||
|
||||
setTimeout(function() {
|
||||
navigator.splashscreen.hide();
|
||||
}, 2000);
|
||||
|
||||
|
||||
## splashscreen.show
|
||||
|
||||
顯示初始螢幕。
|
||||
|
||||
navigator.splashscreen.show();
|
||||
|
||||
|
||||
您的應用程式不能調用 `navigator.splashscreen.show()` 直到應用程式已啟動和 `deviceready` 觸發了事件。 但因為通常的閃屏為了是可見的在您的應用程式啟動之前,似乎要打敗閃屏的目的。 提供一些配置在 `config.xml` 自動將 `show` 的初始螢幕,您的應用程式啟動後立即和它在之前已完全開始收到 `deviceready` 事件。 做這種配置的詳細資訊,請參閱[圖示和閃屏][1]。 出於此原因,它是不太可能你需要調用 `navigator.splashscreen.show()` ,使初始螢幕可見為應用程式啟動。
|
||||
|
||||
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
|
||||
1724
package-lock.json
generated
Normal file
1724
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
48
package.json
Normal file
48
package.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "cordova-plugin-splashscreen",
|
||||
"version": "6.0.1-dev",
|
||||
"description": "Cordova Splashscreen Plugin",
|
||||
"types": "./types/index.d.ts",
|
||||
"cordova": {
|
||||
"id": "cordova-plugin-splashscreen",
|
||||
"platforms": [
|
||||
"android",
|
||||
"windows",
|
||||
"browser"
|
||||
]
|
||||
},
|
||||
"repository": "github:apache/cordova-plugin-splashscreen",
|
||||
"bugs": "https://github.com/apache/cordova-plugin-splashscreen/issues",
|
||||
"keywords": [
|
||||
"cordova",
|
||||
"splashscreen",
|
||||
"ecosystem:cordova",
|
||||
"cordova-android",
|
||||
"cordova-windows",
|
||||
"cordova-browser"
|
||||
],
|
||||
"scripts": {
|
||||
"test": "npm run lint",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"engines": {
|
||||
"cordovaDependencies": {
|
||||
"2.0.0": {
|
||||
"cordova-android": ">=3.6.0"
|
||||
},
|
||||
">=4.0.0": {
|
||||
"cordova-android": ">=3.6.0",
|
||||
"cordova-windows": ">=4.4.0"
|
||||
},
|
||||
"7.0.0": {
|
||||
"cordova": ">100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"author": "Apache Software Foundation",
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@cordova/eslint-config": "^3.0.0"
|
||||
},
|
||||
"homepage": "https://github.com/apache/cordova-plugin-splashscreen#readme"
|
||||
}
|
||||
115
plugin.xml
115
plugin.xml
@@ -19,108 +19,53 @@
|
||||
-->
|
||||
|
||||
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
||||
id="org.apache.cordova.splashscreen"
|
||||
version="0.3.1">
|
||||
id="cordova-plugin-splashscreen"
|
||||
version="6.0.1-dev">
|
||||
<name>Splashscreen</name>
|
||||
<description>Cordova Splashscreen Plugin</description>
|
||||
<license>Apache 2.0</license>
|
||||
<keywords>cordova,splashscreen</keywords>
|
||||
<repo>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</repo>
|
||||
<issue>https://issues.apache.org/jira/browse/CB/component/12320653</issue>
|
||||
<repo>https://github.com/apache/cordova-plugin-splashscreen.git</repo>
|
||||
<issue>https://github.com/apache/cordova-plugin-splashscreen/issues</issue>
|
||||
|
||||
|
||||
<js-module src="www/splashscreen.js" name="SplashScreen">
|
||||
<clobbers target="navigator.splashscreen" />
|
||||
</js-module>
|
||||
<engines>
|
||||
<engine name="cordova-android" version=">=3.6.0" /><!-- Requires CordovaPlugin.preferences -->
|
||||
<engine name="cordova-windows" version=">=4.4.0" />
|
||||
</engines>
|
||||
|
||||
<!-- android -->
|
||||
<platform name="android">
|
||||
<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>
|
||||
|
||||
<!-- 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="/*">
|
||||
<feature name="SplashScreen">
|
||||
<param name="ios-package" value="CDVSplashScreen"/>
|
||||
<param name="onload" value="true"/>
|
||||
</feature>
|
||||
</config-file>
|
||||
|
||||
<header-file src="src/ios/CDVSplashScreen.h" />
|
||||
<source-file src="src/ios/CDVSplashScreen.m" />
|
||||
|
||||
<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>
|
||||
|
||||
<!-- wp7 -->
|
||||
<platform name="wp7">
|
||||
<config-file target="config.xml" parent="/*">
|
||||
<feature name="SplashScreen">
|
||||
<param name="wp-package" value="SplashScreen"/>
|
||||
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/>
|
||||
<param name="onload" value="true"/>
|
||||
</feature>
|
||||
</config-file>
|
||||
|
||||
<source-file src="src/wp/SplashScreen.cs" />
|
||||
|
||||
</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" />
|
||||
|
||||
</platform>
|
||||
|
||||
<!-- windows8 -->
|
||||
<platform name="windows8">
|
||||
<js-module src="www/windows8/SplashScreenProxy.js" name="SplashScreenProxy">
|
||||
<merges target="" />
|
||||
<source-file src="src/android/SplashScreen.java" target-dir="src/org/apache/cordova/splashscreen" />
|
||||
<js-module src="www/splashscreen.js" name="SplashScreen">
|
||||
<clobbers target="navigator.splashscreen" />
|
||||
</js-module>
|
||||
</platform>
|
||||
|
||||
<!-- tizen -->
|
||||
<platform name="tizen">
|
||||
<js-module src="src/tizen/SplashScreenProxy.js" name="SplashScreenProxy">
|
||||
<!-- windows -->
|
||||
<platform name="windows">
|
||||
<js-module src="src/windows/SplashScreenProxy.js" name="SplashScreenProxy">
|
||||
<runs />
|
||||
</js-module>
|
||||
|
||||
<js-module src="www/splashscreen.js" name="SplashScreen">
|
||||
<clobbers target="navigator.splashscreen" />
|
||||
</js-module>
|
||||
</platform>
|
||||
|
||||
<!-- browser -->
|
||||
<platform name="browser">
|
||||
<js-module src="src/browser/SplashScreenProxy.js" name="SplashScreenProxy">
|
||||
<runs />
|
||||
</js-module>
|
||||
|
||||
<js-module src="www/splashscreen.js" name="SplashScreen">
|
||||
<clobbers target="navigator.splashscreen" />
|
||||
</js-module>
|
||||
</platform>
|
||||
</plugin>
|
||||
|
||||
@@ -19,20 +19,160 @@
|
||||
|
||||
package org.apache.cordova.splashscreen;
|
||||
|
||||
import android.app.Dialog;
|
||||
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;
|
||||
import android.view.Display;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.view.WindowManager;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AlphaAnimation;
|
||||
import android.view.animation.DecelerateInterpolator;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import org.apache.cordova.CallbackContext;
|
||||
import org.apache.cordova.CordovaPlugin;
|
||||
import org.apache.cordova.CordovaWebView;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
||||
public class SplashScreen extends CordovaPlugin {
|
||||
private static final String LOG_TAG = "SplashScreen";
|
||||
// Cordova 3.x.x has a copy of this plugin bundled with it (SplashScreenInternal.java).
|
||||
// Enable functionality only if running on 4.x.x.
|
||||
private static final boolean HAS_BUILT_IN_SPLASH_SCREEN = Integer.valueOf(CordovaWebView.CORDOVA_VERSION.split("\\.")[0]) < 4;
|
||||
private static final int DEFAULT_SPLASHSCREEN_DURATION = 3000;
|
||||
private static final int DEFAULT_FADE_DURATION = 500;
|
||||
private static Dialog splashDialog;
|
||||
private static ProgressDialog spinnerDialog;
|
||||
private static boolean firstShow = true;
|
||||
private static boolean lastHideAfterDelay; // https://issues.apache.org/jira/browse/CB-9094
|
||||
|
||||
/**
|
||||
* Displays the splash drawable.
|
||||
*/
|
||||
private ImageView splashImageView;
|
||||
|
||||
/**
|
||||
* Remember last device orientation to detect orientation changes.
|
||||
*/
|
||||
private int orientation;
|
||||
|
||||
// Helper to be compile-time compatible with both Cordova 3.x and 4.x.
|
||||
private View getView() {
|
||||
try {
|
||||
return (View)webView.getClass().getMethod("getView").invoke(webView);
|
||||
} catch (Exception e) {
|
||||
return (View)webView;
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
|
||||
if (action.equals("hide")) {
|
||||
this.webView.postMessage("splashscreen", "hide");
|
||||
} else if (action.equals("show")){
|
||||
this.webView.postMessage("splashscreen", "show");
|
||||
protected void pluginInitialize() {
|
||||
if (HAS_BUILT_IN_SPLASH_SCREEN) {
|
||||
return;
|
||||
}
|
||||
else {
|
||||
// Make WebView invisible while loading URL
|
||||
// CB-11326 Ensure we're calling this on UI thread
|
||||
cordova.getActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
getView().setVisibility(View.INVISIBLE);
|
||||
}
|
||||
});
|
||||
int drawableId = getSplashId();
|
||||
|
||||
// Save initial orientation.
|
||||
orientation = cordova.getActivity().getResources().getConfiguration().orientation;
|
||||
|
||||
if (firstShow) {
|
||||
boolean autoHide = preferences.getBoolean("AutoHideSplashScreen", true);
|
||||
showSplashScreen(autoHide);
|
||||
}
|
||||
|
||||
if (preferences.getBoolean("SplashShowOnlyFirstTime", true)) {
|
||||
firstShow = false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Shorter way to check value of "SplashMaintainAspectRatio" preference.
|
||||
*/
|
||||
private boolean isMaintainAspectRatio () {
|
||||
return preferences.getBoolean("SplashMaintainAspectRatio", false);
|
||||
}
|
||||
|
||||
private int getFadeDuration () {
|
||||
int fadeSplashScreenDuration = preferences.getBoolean("FadeSplashScreen", true) ?
|
||||
preferences.getInteger("FadeSplashScreenDuration", DEFAULT_FADE_DURATION) : 0;
|
||||
|
||||
if (fadeSplashScreenDuration < 30) {
|
||||
// [CB-9750] This value used to be in decimal seconds, so we will assume that if someone specifies 10
|
||||
// they mean 10 seconds, and not the meaningless 10ms
|
||||
fadeSplashScreenDuration *= 1000;
|
||||
}
|
||||
|
||||
return fadeSplashScreenDuration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause(boolean multitasking) {
|
||||
if (HAS_BUILT_IN_SPLASH_SCREEN) {
|
||||
return;
|
||||
}
|
||||
// hide the splash screen to avoid leaking a window
|
||||
this.removeSplashScreen(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
if (HAS_BUILT_IN_SPLASH_SCREEN) {
|
||||
return;
|
||||
}
|
||||
// hide the splash screen to avoid leaking a window
|
||||
this.removeSplashScreen(true);
|
||||
// If we set this to true onDestroy, we lose track when we go from page to page!
|
||||
//firstShow = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
|
||||
if (action.equals("hide")) {
|
||||
cordova.getActivity().runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
webView.postMessage("splashscreen", "hide");
|
||||
}
|
||||
});
|
||||
} else if (action.equals("show")) {
|
||||
cordova.getActivity().runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
webView.postMessage("splashscreen", "show");
|
||||
}
|
||||
});
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -40,4 +180,235 @@ public class SplashScreen extends CordovaPlugin {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object onMessage(String id, Object data) {
|
||||
if (HAS_BUILT_IN_SPLASH_SCREEN) {
|
||||
return null;
|
||||
}
|
||||
if ("splashscreen".equals(id)) {
|
||||
if ("hide".equals(data.toString())) {
|
||||
this.removeSplashScreen(false);
|
||||
} else {
|
||||
this.showSplashScreen(false);
|
||||
}
|
||||
} else if ("spinner".equals(id)) {
|
||||
if ("stop".equals(data.toString())) {
|
||||
getView().setVisibility(View.VISIBLE);
|
||||
}
|
||||
} else if ("onReceivedError".equals(id)) {
|
||||
this.spinnerStop();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Don't add @Override so that plugin still compiles on 3.x.x for a while
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
if (newConfig.orientation != orientation) {
|
||||
orientation = newConfig.orientation;
|
||||
|
||||
// Splash drawable may change with orientation, so reload it.
|
||||
if (splashImageView != null) {
|
||||
int drawableId = getSplashId();
|
||||
if (drawableId != 0) {
|
||||
splashImageView.setImageDrawable(cordova.getActivity().getResources().getDrawable(drawableId));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void removeSplashScreen(final boolean forceHideImmediately) {
|
||||
cordova.getActivity().runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
if (splashDialog != null && splashImageView != null && splashDialog.isShowing()) {//check for non-null splashImageView, see https://issues.apache.org/jira/browse/CB-12277
|
||||
final int fadeSplashScreenDuration = getFadeDuration();
|
||||
// CB-10692 If the plugin is being paused/destroyed, skip the fading and hide it immediately
|
||||
if (fadeSplashScreenDuration > 0 && forceHideImmediately == false) {
|
||||
AlphaAnimation fadeOut = new AlphaAnimation(1, 0);
|
||||
fadeOut.setInterpolator(new DecelerateInterpolator());
|
||||
fadeOut.setDuration(fadeSplashScreenDuration);
|
||||
|
||||
splashImageView.setAnimation(fadeOut);
|
||||
splashImageView.startAnimation(fadeOut);
|
||||
|
||||
fadeOut.setAnimationListener(new Animation.AnimationListener() {
|
||||
@Override
|
||||
public void onAnimationStart(Animation animation) {
|
||||
spinnerStop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationEnd(Animation animation) {
|
||||
if (splashDialog != null && splashImageView != null && splashDialog.isShowing()) {//check for non-null splashImageView, see https://issues.apache.org/jira/browse/CB-12277
|
||||
splashDialog.dismiss();
|
||||
splashDialog = null;
|
||||
splashImageView = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAnimationRepeat(Animation animation) {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
spinnerStop();
|
||||
splashDialog.dismiss();
|
||||
splashDialog = null;
|
||||
splashImageView = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the splash screen over the full Activity
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
private void showSplashScreen(final boolean hideAfterDelay) {
|
||||
final int splashscreenTime = preferences.getInteger("SplashScreenDelay", DEFAULT_SPLASHSCREEN_DURATION);
|
||||
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;
|
||||
}
|
||||
if (drawableId == 0 || (splashscreenTime <= 0 && hideAfterDelay)) {
|
||||
return;
|
||||
}
|
||||
|
||||
cordova.getActivity().runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
// Get reference to display
|
||||
Display display = cordova.getActivity().getWindowManager().getDefaultDisplay();
|
||||
Context context = webView.getContext();
|
||||
|
||||
// Use an ImageView to render the image because of its flexible scaling options.
|
||||
splashImageView = new ImageView(context);
|
||||
splashImageView.setImageResource(drawableId);
|
||||
LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
|
||||
splashImageView.setLayoutParams(layoutParams);
|
||||
|
||||
splashImageView.setMinimumHeight(display.getHeight());
|
||||
splashImageView.setMinimumWidth(display.getWidth());
|
||||
|
||||
// TODO: Use the background color of the webView's parent instead of using the preference.
|
||||
splashImageView.setBackgroundColor(preferences.getInteger("backgroundColor", Color.BLACK));
|
||||
|
||||
if (isMaintainAspectRatio()) {
|
||||
// CENTER_CROP scale mode is equivalent to CSS "background-size:cover"
|
||||
splashImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
|
||||
}
|
||||
else {
|
||||
// FIT_XY scales image non-uniformly to fit into image view.
|
||||
splashImageView.setScaleType(ImageView.ScaleType.FIT_XY);
|
||||
}
|
||||
|
||||
// Create and show the dialog
|
||||
splashDialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar);
|
||||
// check to see if the splash screen should be full screen
|
||||
boolean fullscreen = preferences.getBoolean("SplashFullScreen", true);
|
||||
if (fullscreen || ((cordova.getActivity().getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||
== WindowManager.LayoutParams.FLAG_FULLSCREEN)) {
|
||||
splashDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
}
|
||||
splashDialog.setContentView(splashImageView);
|
||||
splashDialog.setCancelable(false);
|
||||
splashDialog.show();
|
||||
|
||||
if (preferences.getBoolean("ShowSplashScreenSpinner", true)) {
|
||||
spinnerStart();
|
||||
}
|
||||
|
||||
// Set Runnable to remove splash screen just in case
|
||||
if (hideAfterDelay) {
|
||||
final Handler handler = new Handler();
|
||||
handler.postDelayed(new Runnable() {
|
||||
public void run() {
|
||||
if (lastHideAfterDelay) {
|
||||
removeSplashScreen(false);
|
||||
}
|
||||
}
|
||||
}, effectiveSplashDuration);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Show only spinner in the center of the screen
|
||||
private void spinnerStart() {
|
||||
cordova.getActivity().runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
spinnerStop();
|
||||
|
||||
spinnerDialog = new ProgressDialog(webView.getContext());
|
||||
spinnerDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
|
||||
public void onCancel(DialogInterface dialog) {
|
||||
spinnerDialog = null;
|
||||
}
|
||||
});
|
||||
|
||||
spinnerDialog.setCancelable(false);
|
||||
spinnerDialog.setIndeterminate(true);
|
||||
|
||||
RelativeLayout centeredLayout = new RelativeLayout(cordova.getActivity());
|
||||
centeredLayout.setGravity(Gravity.CENTER);
|
||||
centeredLayout.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
|
||||
|
||||
ProgressBar progressBar = new ProgressBar(webView.getContext());
|
||||
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
|
||||
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);
|
||||
spinnerDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
spinnerDialog.show();
|
||||
spinnerDialog.setContentView(centeredLayout);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void spinnerStop() {
|
||||
cordova.getActivity().runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
if (spinnerDialog != null && spinnerDialog.isShowing()) {
|
||||
spinnerDialog.dismiss();
|
||||
spinnerDialog = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,28 +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.
|
||||
*/
|
||||
|
||||
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);
|
||||
}
|
||||
};
|
||||
168
src/browser/SplashScreenProxy.js
Normal file
168
src/browser/SplashScreenProxy.js
Normal file
@@ -0,0 +1,168 @@
|
||||
/*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
// Default parameter values including image size can be changed in `config.xml`
|
||||
var splashImageWidth = 170;
|
||||
var splashImageHeight = 200;
|
||||
var position = { x: 0, y: 0, width: splashImageWidth, height: splashImageHeight };
|
||||
var localSplash; // the image to display
|
||||
var localSplashImage;
|
||||
var bgColor = '#464646';
|
||||
var imageSrc = '/img/logo.png';
|
||||
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);
|
||||
position.height = position.width * (splashImageHeight / splashImageWidth);
|
||||
|
||||
localSplash.style.width = window.innerWidth + 'px';
|
||||
localSplash.style.height = window.innerHeight + 'px';
|
||||
localSplash.style.top = '0px';
|
||||
localSplash.style.left = '0px';
|
||||
|
||||
localSplashImage.style.top = '50%';
|
||||
localSplashImage.style.left = '50%';
|
||||
localSplashImage.style.height = position.height + 'px';
|
||||
localSplashImage.style.width = position.width + 'px';
|
||||
localSplashImage.style.marginTop = (-position.height / 2) + 'px';
|
||||
localSplashImage.style.marginLeft = (-position.width / 2) + 'px';
|
||||
}
|
||||
|
||||
function onResize () {
|
||||
updateImageLocation();
|
||||
}
|
||||
|
||||
var SplashScreen = {
|
||||
setBGColor: function (cssBGColor) {
|
||||
bgColor = cssBGColor;
|
||||
if (localSplash) {
|
||||
localSplash.style.backgroundColor = bgColor;
|
||||
}
|
||||
},
|
||||
show: function () {
|
||||
if (!localSplash) {
|
||||
window.addEventListener('resize', onResize, false);
|
||||
localSplash = document.createElement('div');
|
||||
localSplash.style.backgroundColor = bgColor;
|
||||
localSplash.style.position = 'absolute';
|
||||
localSplash.style['z-index'] = '99999';
|
||||
|
||||
localSplashImage = document.createElement('img');
|
||||
localSplashImage.src = imageSrc;
|
||||
localSplashImage.style.position = 'absolute';
|
||||
|
||||
updateImageLocation();
|
||||
|
||||
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) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Reads preferences via ConfigHelper and substitutes default parameters.
|
||||
*/
|
||||
function readPreferencesFromCfg (cfg) {
|
||||
try {
|
||||
var value = cfg.getPreferenceValue('ShowSplashScreen');
|
||||
if (typeof value !== 'undefined') {
|
||||
showSplashScreen = value === 'true';
|
||||
}
|
||||
|
||||
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 occurred on loading preferences from config.xml: ' + JSON.stringify(e);
|
||||
console.error(msg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows and hides splashscreen if it is enabled, with a delay according the current preferences.
|
||||
*/
|
||||
function showAndHide () {
|
||||
if (showSplashScreen) {
|
||||
SplashScreen.show();
|
||||
|
||||
window.setTimeout(function () {
|
||||
SplashScreen.hide();
|
||||
}, splashScreenDelay);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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);
|
||||
if (autoHideSplashScreen) {
|
||||
showAndHide();
|
||||
} else {
|
||||
SplashScreen.show();
|
||||
}
|
||||
}, function (err) {
|
||||
console.error(err);
|
||||
});
|
||||
})();
|
||||
|
||||
module.exports = SplashScreen;
|
||||
|
||||
require('cordova/exec/proxy').add('SplashScreen', SplashScreen);
|
||||
@@ -1,33 +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.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <Cordova/CDVPlugin.h>
|
||||
|
||||
@interface CDVSplashScreen : CDVPlugin {
|
||||
UIActivityIndicatorView* _activityView;
|
||||
UIImageView* _imageView;
|
||||
NSString* _curImageName;
|
||||
BOOL _visible;
|
||||
}
|
||||
|
||||
- (void)show:(CDVInvokedUrlCommand*)command;
|
||||
- (void)hide:(CDVInvokedUrlCommand*)command;
|
||||
|
||||
@end
|
||||
@@ -1,252 +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.
|
||||
*/
|
||||
|
||||
#import "CDVSplashScreen.h"
|
||||
#import <Cordova/CDVViewController.h>
|
||||
|
||||
#define kSplashScreenDurationDefault 0.25f
|
||||
|
||||
@implementation CDVSplashScreen
|
||||
|
||||
- (void)pluginInitialize
|
||||
{
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pageDidLoad) name:CDVPageDidLoadNotification object:self.webView];
|
||||
|
||||
[self setVisible:YES];
|
||||
}
|
||||
|
||||
- (void)show:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
[self setVisible:YES];
|
||||
}
|
||||
|
||||
- (void)hide:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
[self setVisible:NO];
|
||||
}
|
||||
|
||||
- (void)pageDidLoad
|
||||
{
|
||||
id autoHideSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"AutoHideSplashScreen" lowercaseString]];
|
||||
|
||||
// if value is missing, default to yes
|
||||
if ((autoHideSplashScreenValue == nil) || [autoHideSplashScreenValue boolValue]) {
|
||||
[self setVisible:NO];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context
|
||||
{
|
||||
[self updateImage];
|
||||
}
|
||||
|
||||
- (void)createViews
|
||||
{
|
||||
/*
|
||||
* The Activity View is the top spinning throbber in the status/battery bar. We init it with the default Grey Style.
|
||||
*
|
||||
* whiteLarge = UIActivityIndicatorViewStyleWhiteLarge
|
||||
* white = UIActivityIndicatorViewStyleWhite
|
||||
* gray = UIActivityIndicatorViewStyleGray
|
||||
*
|
||||
*/
|
||||
NSString* topActivityIndicator = [self.commandDelegate.settings objectForKey:[@"TopActivityIndicator" lowercaseString]];
|
||||
UIActivityIndicatorViewStyle topActivityIndicatorStyle = UIActivityIndicatorViewStyleGray;
|
||||
|
||||
if ([topActivityIndicator isEqualToString:@"whiteLarge"]) {
|
||||
topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhiteLarge;
|
||||
} else if ([topActivityIndicator isEqualToString:@"white"]) {
|
||||
topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhite;
|
||||
} else if ([topActivityIndicator isEqualToString:@"gray"]) {
|
||||
topActivityIndicatorStyle = UIActivityIndicatorViewStyleGray;
|
||||
}
|
||||
|
||||
UIView* parentView = self.viewController.view;
|
||||
parentView.userInteractionEnabled = NO; // disable user interaction while splashscreen is shown
|
||||
_activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:topActivityIndicatorStyle];
|
||||
_activityView.center = CGPointMake(parentView.bounds.size.width / 2, parentView.bounds.size.height / 2);
|
||||
_activityView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin
|
||||
| UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin;
|
||||
[_activityView startAnimating];
|
||||
|
||||
// Set the frame & image later.
|
||||
_imageView = [[UIImageView alloc] init];
|
||||
[parentView addSubview:_imageView];
|
||||
|
||||
id showSplashScreenSpinnerValue = [self.commandDelegate.settings objectForKey:[@"ShowSplashScreenSpinner" lowercaseString]];
|
||||
// backwards compatibility - if key is missing, default to true
|
||||
if ((showSplashScreenSpinnerValue == nil) || [showSplashScreenSpinnerValue boolValue]) {
|
||||
[parentView addSubview:_activityView];
|
||||
}
|
||||
|
||||
// Frame is required when launching in portrait mode.
|
||||
// Bounds for landscape since it captures the rotation.
|
||||
[parentView addObserver:self forKeyPath:@"frame" options:0 context:nil];
|
||||
[parentView addObserver:self forKeyPath:@"bounds" options:0 context:nil];
|
||||
|
||||
[self updateImage];
|
||||
}
|
||||
|
||||
- (void)destroyViews
|
||||
{
|
||||
[_imageView removeFromSuperview];
|
||||
[_activityView removeFromSuperview];
|
||||
_imageView = nil;
|
||||
_activityView = nil;
|
||||
_curImageName = nil;
|
||||
|
||||
self.viewController.view.userInteractionEnabled = YES; // re-enable user interaction upon completion
|
||||
[self.viewController.view removeObserver:self forKeyPath:@"frame"];
|
||||
[self.viewController.view removeObserver:self forKeyPath:@"bounds"];
|
||||
}
|
||||
|
||||
// Sets the view's frame and image.
|
||||
- (void)updateImage
|
||||
{
|
||||
UIInterfaceOrientation orientation = self.viewController.interfaceOrientation;
|
||||
|
||||
// Use UILaunchImageFile if specified in plist. Otherwise, use Default.
|
||||
NSString* imageName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UILaunchImageFile"];
|
||||
|
||||
// Checks to see if the developer has locked the orientation to use only one of Portrait or Landscape
|
||||
CDVViewController* vc = (CDVViewController*)self.viewController;
|
||||
BOOL supportsLandscape = [vc supportsOrientation:UIInterfaceOrientationLandscapeLeft] || [vc supportsOrientation:UIInterfaceOrientationLandscapeRight];
|
||||
BOOL supportsPortrait = [vc supportsOrientation:UIInterfaceOrientationPortrait] || [vc supportsOrientation:UIInterfaceOrientationPortraitUpsideDown];
|
||||
BOOL isOrientationLocked = !(supportsPortrait && supportsLandscape);
|
||||
|
||||
if (imageName) {
|
||||
imageName = [imageName stringByDeletingPathExtension];
|
||||
} else {
|
||||
imageName = @"Default";
|
||||
}
|
||||
|
||||
if (CDV_IsIPhone5()) {
|
||||
imageName = [imageName stringByAppendingString:@"-568h"];
|
||||
} else if (CDV_IsIPad() && isOrientationLocked) {
|
||||
switch (orientation) {
|
||||
case UIInterfaceOrientationLandscapeLeft:
|
||||
case UIInterfaceOrientationLandscapeRight:
|
||||
imageName = [imageName stringByAppendingString:@"-Landscape"];
|
||||
break;
|
||||
|
||||
case UIInterfaceOrientationPortrait:
|
||||
case UIInterfaceOrientationPortraitUpsideDown:
|
||||
default:
|
||||
imageName = [imageName stringByAppendingString:@"-Portrait"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (![imageName isEqualToString:_curImageName]) {
|
||||
UIImage* img = [UIImage imageNamed:imageName];
|
||||
_imageView.image = img;
|
||||
_curImageName = imageName;
|
||||
}
|
||||
|
||||
// Check that splash screen's image exists before updating bounds
|
||||
if (_imageView.image) {
|
||||
[self updateBounds];
|
||||
} else {
|
||||
NSLog(@"WARNING: The splashscreen image named %@ was not found", imageName);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)updateBounds
|
||||
{
|
||||
UIImage* img = _imageView.image;
|
||||
CGRect imgBounds = (img) ? CGRectMake(0, 0, img.size.width, img.size.height) : CGRectZero;
|
||||
|
||||
CGSize screenSize = [self.viewController.view convertRect:[UIScreen mainScreen].bounds fromView:nil].size;
|
||||
UIInterfaceOrientation orientation = self.viewController.interfaceOrientation;
|
||||
CGAffineTransform imgTransform = CGAffineTransformIdentity;
|
||||
|
||||
/* If and only if an iPhone application is landscape-only as per
|
||||
* UISupportedInterfaceOrientations, the view controller's orientation is
|
||||
* landscape. In this case the image must be rotated in order to appear
|
||||
* correctly.
|
||||
*/
|
||||
if (UIInterfaceOrientationIsLandscape(orientation) && !CDV_IsIPad()) {
|
||||
imgTransform = CGAffineTransformMakeRotation(M_PI / 2);
|
||||
imgBounds.size = CGSizeMake(imgBounds.size.height, imgBounds.size.width);
|
||||
}
|
||||
|
||||
// There's a special case when the image is the size of the screen.
|
||||
if (CGSizeEqualToSize(screenSize, imgBounds.size)) {
|
||||
CGRect statusFrame = [self.viewController.view convertRect:[UIApplication sharedApplication].statusBarFrame fromView:nil];
|
||||
if (!(IsAtLeastiOSVersion(@"7.0"))) {
|
||||
imgBounds.origin.y -= statusFrame.size.height;
|
||||
}
|
||||
} else if (imgBounds.size.width > 0) {
|
||||
CGRect viewBounds = self.viewController.view.bounds;
|
||||
CGFloat imgAspect = imgBounds.size.width / imgBounds.size.height;
|
||||
CGFloat viewAspect = viewBounds.size.width / viewBounds.size.height;
|
||||
// This matches the behaviour of the native splash screen.
|
||||
CGFloat ratio;
|
||||
if (viewAspect > imgAspect) {
|
||||
ratio = viewBounds.size.width / imgBounds.size.width;
|
||||
} else {
|
||||
ratio = viewBounds.size.height / imgBounds.size.height;
|
||||
}
|
||||
imgBounds.size.height *= ratio;
|
||||
imgBounds.size.width *= ratio;
|
||||
}
|
||||
|
||||
_imageView.transform = imgTransform;
|
||||
_imageView.frame = imgBounds;
|
||||
}
|
||||
|
||||
- (void)setVisible:(BOOL)visible
|
||||
{
|
||||
if (visible == _visible) {
|
||||
return;
|
||||
}
|
||||
_visible = visible;
|
||||
|
||||
id fadeSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreen" lowercaseString]];
|
||||
id fadeSplashScreenDuration = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreenDuration" lowercaseString]];
|
||||
|
||||
float fadeDuration = fadeSplashScreenDuration == nil ? kSplashScreenDurationDefault : [fadeSplashScreenDuration floatValue];
|
||||
|
||||
if ((fadeSplashScreenValue == nil) || ![fadeSplashScreenValue boolValue]) {
|
||||
fadeDuration = 0;
|
||||
}
|
||||
|
||||
// Never animate the showing of the splash screen.
|
||||
if (visible) {
|
||||
if (_imageView == nil) {
|
||||
[self createViews];
|
||||
}
|
||||
} else if (fadeDuration == 0) {
|
||||
[self destroyViews];
|
||||
} else {
|
||||
[UIView transitionWithView:self.viewController.view
|
||||
duration:fadeDuration
|
||||
options:UIViewAnimationOptionTransitionNone
|
||||
animations:^(void) {
|
||||
[_imageView setAlpha:0];
|
||||
[_activityView setAlpha:0];
|
||||
}
|
||||
|
||||
completion:^(BOOL finished) {
|
||||
[self destroyViews];
|
||||
}];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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
|
||||
@@ -19,25 +19,17 @@
|
||||
*
|
||||
*/
|
||||
|
||||
( function() {
|
||||
var splash = require('cordova/splashscreen');
|
||||
|
||||
win = null;
|
||||
|
||||
module.exports = {
|
||||
show: function() {
|
||||
if ( win === null ) {
|
||||
win = window.open('splashscreen.html');
|
||||
}
|
||||
var SplashScreen = {
|
||||
show: function () {
|
||||
splash.show();
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
if ( win !== null ) {
|
||||
win.close();
|
||||
win = null;
|
||||
}
|
||||
hide: function () {
|
||||
splash.hide();
|
||||
}
|
||||
};
|
||||
|
||||
require("cordova/tizen/commandProxy").add("SplashScreen", module.exports);
|
||||
module.exports = SplashScreen;
|
||||
|
||||
})();
|
||||
require('cordova/exec/proxy').add('SplashScreen', SplashScreen);
|
||||
@@ -1,167 +0,0 @@
|
||||
/*
|
||||
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.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Documents;
|
||||
using System.Windows.Ink;
|
||||
using System.Windows.Input;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using System.Windows.Shapes;
|
||||
using Microsoft.Phone.Info;
|
||||
using System.Windows.Controls.Primitives;
|
||||
using System.Diagnostics;
|
||||
using System.Windows.Media.Imaging;
|
||||
using System.Windows.Resources;
|
||||
using System.IO;
|
||||
using System.Xml.Linq;
|
||||
using System.Linq;
|
||||
using System.Windows.Threading;
|
||||
|
||||
namespace WPCordovaClassLib.Cordova.Commands
|
||||
{
|
||||
/// <summary>
|
||||
/// Listens for changes to the state of the battery on the device.
|
||||
/// Currently only the "isPlugged" parameter available via native APIs.
|
||||
/// </summary>
|
||||
public class SplashScreen : BaseCommand
|
||||
{
|
||||
private Popup popup;
|
||||
private bool autohide = true;
|
||||
|
||||
private static bool WasShown = false;
|
||||
|
||||
public SplashScreen()
|
||||
{
|
||||
Image SplashScreen = new Image();
|
||||
BitmapImage splash_image = new BitmapImage();
|
||||
splash_image.SetSource(Application.GetResourceStream(new Uri(@"SplashScreenImage.jpg", UriKind.Relative)).Stream);
|
||||
SplashScreen.Source = splash_image;
|
||||
|
||||
// Instansiate the popup and set the Child property of Popup to SplashScreen
|
||||
popup = new Popup() {IsOpen = false, Child = SplashScreen };
|
||||
// Orient the popup accordingly
|
||||
popup.HorizontalAlignment = HorizontalAlignment.Stretch;
|
||||
popup.VerticalAlignment = VerticalAlignment.Center;
|
||||
|
||||
|
||||
LoadConfigValues();
|
||||
}
|
||||
|
||||
public override void OnInit()
|
||||
{
|
||||
// we only want to autoload the first time a page is loaded.
|
||||
if (!WasShown)
|
||||
{
|
||||
WasShown = true;
|
||||
show();
|
||||
}
|
||||
}
|
||||
|
||||
void LoadConfigValues()
|
||||
{
|
||||
StreamResourceInfo streamInfo = Application.GetResourceStream(new Uri("config.xml", UriKind.Relative));
|
||||
|
||||
if (streamInfo != null)
|
||||
{
|
||||
StreamReader sr = new StreamReader(streamInfo.Stream);
|
||||
//This will Read Keys Collection for the xml file
|
||||
XDocument document = XDocument.Parse(sr.ReadToEnd());
|
||||
|
||||
var preferences = from results in document.Descendants()
|
||||
where (string)results.Attribute("name") == "AutoHideSplashScreen"
|
||||
select (string)results.Attribute("value") == "true";
|
||||
|
||||
if (preferences.Count() > 0 && preferences.First() == false)
|
||||
{
|
||||
autohide = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void show(string options = null)
|
||||
{
|
||||
if (popup.IsOpen)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Deployment.Current.Dispatcher.BeginInvoke(() =>
|
||||
{
|
||||
popup.Child.Opacity = 0;
|
||||
|
||||
Storyboard story = new Storyboard();
|
||||
DoubleAnimation animation;
|
||||
animation = new DoubleAnimation();
|
||||
animation.From = 0.0;
|
||||
animation.To = 1.0;
|
||||
animation.Duration = new Duration(TimeSpan.FromSeconds(0.2));
|
||||
|
||||
Storyboard.SetTarget(animation, popup.Child);
|
||||
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
|
||||
story.Children.Add(animation);
|
||||
|
||||
Debug.WriteLine("Fading the splash screen in");
|
||||
|
||||
story.Begin();
|
||||
|
||||
popup.IsOpen = true;
|
||||
|
||||
if (autohide)
|
||||
{
|
||||
DispatcherTimer timer = new DispatcherTimer();
|
||||
timer.Tick += (object sender, EventArgs e) =>
|
||||
{
|
||||
hide();
|
||||
};
|
||||
timer.Interval = TimeSpan.FromSeconds(1.2);
|
||||
timer.Start();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void hide(string options = null)
|
||||
{
|
||||
if (!popup.IsOpen)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Deployment.Current.Dispatcher.BeginInvoke(() =>
|
||||
{
|
||||
popup.Child.Opacity = 1.0;
|
||||
|
||||
Storyboard story = new Storyboard();
|
||||
DoubleAnimation animation;
|
||||
animation = new DoubleAnimation();
|
||||
animation.From = 1.0;
|
||||
animation.To = 0.0;
|
||||
animation.Duration = new Duration(TimeSpan.FromSeconds(0.4));
|
||||
|
||||
Storyboard.SetTarget(animation, popup.Child);
|
||||
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
|
||||
story.Children.Add(animation);
|
||||
story.Completed += (object sender, EventArgs e) =>
|
||||
{
|
||||
popup.IsOpen = false;
|
||||
};
|
||||
story.Begin();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
14
tests/package.json
Normal file
14
tests/package.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "cordova-plugin-splashscreen-tests",
|
||||
"version": "6.0.1-dev",
|
||||
"description": "",
|
||||
"cordova": {
|
||||
"id": "cordova-plugin-splashscreen-tests",
|
||||
"platforms": []
|
||||
},
|
||||
"keywords": [
|
||||
"ecosystem:cordova"
|
||||
],
|
||||
"author": "",
|
||||
"license": "Apache 2.0"
|
||||
}
|
||||
29
tests/plugin.xml
Normal file
29
tests/plugin.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
|
||||
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
||||
id="cordova-plugin-splashscreen-tests"
|
||||
version="6.0.1-dev">
|
||||
<name>Cordova Splashscreen Plugin Tests</name>
|
||||
<license>Apache 2.0</license>
|
||||
|
||||
<js-module src="tests.js" name="tests">
|
||||
</js-module>
|
||||
</plugin>
|
||||
61
tests/tests.js
Normal file
61
tests/tests.js
Normal file
@@ -0,0 +1,61 @@
|
||||
/*
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
exports.defineAutoTests = function () {
|
||||
describe('Splashscreen (cordova)', function () {
|
||||
it('splashscreen.spec.1 should exist', function () {
|
||||
expect(navigator.splashscreen).toBeDefined();
|
||||
});
|
||||
|
||||
it('splashscreen.spec.2 show method should exist', function () {
|
||||
expect(navigator.splashscreen.show).toBeDefined();
|
||||
expect(typeof navigator.splashscreen.show).toBe('function');
|
||||
});
|
||||
|
||||
it('splashscreen.spec.3 hide method should exist', function () {
|
||||
expect(navigator.splashscreen.hide).toBeDefined();
|
||||
expect(typeof navigator.splashscreen.hide).toBe('function');
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
exports.defineManualTests = function (contentEl, createActionButton) {
|
||||
function showFor (duration) {
|
||||
navigator.splashscreen.show();
|
||||
window.setTimeout(function () {
|
||||
navigator.splashscreen.hide();
|
||||
}, 1000 * duration);
|
||||
}
|
||||
|
||||
contentEl.innerHTML = '<h1>Splashscreen Tests</h1>' +
|
||||
'<div id="show1"></div>' +
|
||||
'Expected result: Will show the Cordova splashscreen for 1 second' +
|
||||
'</p> <div id="show5"></div>' +
|
||||
'Expected result: Will show the Cordova splashscreen for 5 seconds';
|
||||
|
||||
createActionButton('Show for 1 second', function () {
|
||||
showFor(1);
|
||||
}, 'show1');
|
||||
|
||||
createActionButton('Show for 5 seconds', function () {
|
||||
showFor(5);
|
||||
}, 'show5');
|
||||
};
|
||||
17
types/index.d.ts
vendored
Normal file
17
types/index.d.ts
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
// Type definitions for Apache Cordova Splashscreen plugin
|
||||
// Project: https://github.com/apache/cordova-plugin-splashscreen
|
||||
// Definitions by: Microsoft Open Technologies Inc <http://msopentech.com>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
//
|
||||
// Copyright (c) Microsoft Open Technologies Inc
|
||||
// Licensed under the MIT license.
|
||||
|
||||
interface Navigator {
|
||||
/** This plugin displays and hides a splash screen during application launch. */
|
||||
splashscreen: {
|
||||
/** Dismiss the splash screen. */
|
||||
hide(): void;
|
||||
/** Displays the splash screen. */
|
||||
show(): void;
|
||||
}
|
||||
}
|
||||
@@ -22,11 +22,11 @@
|
||||
var exec = require('cordova/exec');
|
||||
|
||||
var splashscreen = {
|
||||
show:function() {
|
||||
exec(null, null, "SplashScreen", "show", []);
|
||||
show: function () {
|
||||
exec(null, null, 'SplashScreen', 'show', []);
|
||||
},
|
||||
hide:function() {
|
||||
exec(null, null, "SplashScreen", "hide", []);
|
||||
hide: function () {
|
||||
exec(null, null, 'SplashScreen', 'hide', []);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,106 +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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*jslint sloppy:true */
|
||||
/*global Windows:true, require, module, window, document, WinJS */
|
||||
|
||||
var cordova = require('cordova'),
|
||||
channel = require('cordova/channel');
|
||||
|
||||
/* This is the actual implementation part that returns the result on Windows 8
|
||||
*/
|
||||
|
||||
var position = { x: 0, y: 0, width: 0, height: 0 }; // defined by evt.detail.splashScreen.imageLocation
|
||||
var splash = null; //
|
||||
var localSplash; // the image to display
|
||||
var localSplashImage;
|
||||
var bgColor = "#464646";
|
||||
|
||||
|
||||
|
||||
function updateImageLocation() {
|
||||
localSplash.style.width = window.innerWidth + "px";
|
||||
localSplash.style.height = window.innerHeight + "px";
|
||||
localSplash.style.top = "0px";
|
||||
localSplash.style.left = "0px";
|
||||
|
||||
localSplashImage.style.top = position.y + "px";
|
||||
localSplashImage.style.left = position.x + "px";
|
||||
localSplashImage.style.height = position.height + "px";
|
||||
localSplashImage.style.width = position.width + "px";
|
||||
}
|
||||
|
||||
function onResize(evt) {
|
||||
if (splash) {
|
||||
position = splash.imageLocation;
|
||||
updateImageLocation();
|
||||
}
|
||||
}
|
||||
|
||||
var SplashScreen = {
|
||||
setBGColor: function (cssBGColor) {
|
||||
bgColor = cssBGColor;
|
||||
if (localSplash) {
|
||||
localSplash.style.backgroundColor = bgColor;
|
||||
}
|
||||
},
|
||||
show: function () {
|
||||
window.addEventListener("resize", onResize, false);
|
||||
localSplash = document.createElement("div");
|
||||
localSplash.style.backgroundColor = bgColor;
|
||||
localSplash.style.position = "absolute";
|
||||
|
||||
localSplashImage = document.createElement("img");
|
||||
localSplashImage.src = "ms-appx:///images/splashscreen.png";
|
||||
localSplashImage.style.position = "absolute";
|
||||
|
||||
updateImageLocation();
|
||||
|
||||
localSplash.appendChild(localSplashImage);
|
||||
document.body.appendChild(localSplash);
|
||||
},
|
||||
hide: function () {
|
||||
window.removeEventListener("resize", onResize, false);
|
||||
document.body.removeChild(localSplash);
|
||||
localSplash = null;
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = SplashScreen;
|
||||
|
||||
function activated(evt) {
|
||||
if (evt.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
|
||||
splash = evt.detail.splashScreen;
|
||||
position = evt.detail.splashScreen.imageLocation;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
channel.onCordovaReady.subscribe(function (evt) {
|
||||
document.addEventListener("DOMContentLoaded", function (evt) {
|
||||
WinJS.Application.addEventListener("activated", activated, false);
|
||||
}, false);
|
||||
});
|
||||
|
||||
require("cordova/exec/proxy").add("SplashScreen", SplashScreen);
|
||||
|
||||
Reference in New Issue
Block a user