mirror of
https://github.com/apache/cordova-plugin-splashscreen.git
synced 2026-02-16 00:00:04 +08:00
Compare commits
17 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
35c22a8a1a | ||
|
|
d28daa372a | ||
|
|
d780b0d9d6 | ||
|
|
10be9d0aac | ||
|
|
4a4b38b1f5 | ||
|
|
1bc42204e7 | ||
|
|
ea3cbb6079 | ||
|
|
8bdf669a7b | ||
|
|
66d1e00e00 | ||
|
|
be673a94ac | ||
|
|
642549590b | ||
|
|
b0a866cb69 | ||
|
|
eb0d0e5865 | ||
|
|
43f9138d1f | ||
|
|
7e5b4fd93d | ||
|
|
14d17c5c64 | ||
|
|
f41610c2f7 |
@@ -1,32 +0,0 @@
|
||||
# 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
|
||||
148
.github/workflows/android.yml
vendored
Normal file
148
.github/workflows/android.yml
vendored
Normal file
@@ -0,0 +1,148 @@
|
||||
# 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.
|
||||
|
||||
name: Android Testsuite
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- '.eslint*'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- '.eslint*'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Android ${{ matrix.versions.android }} Test
|
||||
runs-on: macos-latest
|
||||
|
||||
# hoist configurations to top that are expected to be updated
|
||||
env:
|
||||
# Storing a copy of the repo
|
||||
repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
|
||||
|
||||
node-version: 16
|
||||
|
||||
# These are the default Java configurations used by most tests.
|
||||
# To customize these options, add "java-distro" or "java-version" to the strategy matrix with its overriding value.
|
||||
default_java-distro: adopt
|
||||
default_java-version: 8
|
||||
|
||||
# These are the default Android System Image configurations used by most tests.
|
||||
# To customize these options, add "system-image-arch" or "system-image-target" to the strategy matrix with its overriding value.
|
||||
default_system-image-arch: x86_64
|
||||
default_system-image-target: google_apis # Most system images have a google_api option. Set this as default.
|
||||
|
||||
# configurations for each testing strategy (test matrix)
|
||||
strategy:
|
||||
matrix:
|
||||
versions:
|
||||
- android: 5.1
|
||||
android-api: 22
|
||||
|
||||
- android: 6
|
||||
android-api: 23
|
||||
|
||||
- android: 7
|
||||
android-api: 24
|
||||
|
||||
- android: 7.1
|
||||
android-api: 25
|
||||
|
||||
- android: 8
|
||||
android-api: 26
|
||||
|
||||
- android: 8.1
|
||||
android-api: 27
|
||||
system-image-target: default
|
||||
|
||||
- android: 9
|
||||
android-api: 28
|
||||
|
||||
- android: 10
|
||||
android-api: 29
|
||||
|
||||
- android: 11
|
||||
android-api: 30
|
||||
java-version: 11
|
||||
|
||||
timeout-minutes: 60
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.node-version }}
|
||||
- uses: actions/setup-java@v2
|
||||
env:
|
||||
java-version: ${{ matrix.versions.java-version == '' && env.default_java-version || matrix.versions.java-version }}
|
||||
java-distro: ${{ matrix.versions.java-distro == '' && env.default_java-distro || matrix.versions.java-distro }}
|
||||
with:
|
||||
distribution: ${{ env.java-distro }}
|
||||
java-version: ${{ env.java-version }}
|
||||
|
||||
- name: Run Environment Information
|
||||
run: |
|
||||
node --version
|
||||
npm --version
|
||||
java -version
|
||||
|
||||
- name: Run npm install
|
||||
run: |
|
||||
export PATH="/usr/local/lib/android/sdk/platform-tools":$PATH
|
||||
export JAVA_HOME=$JAVA_HOME_11_X64
|
||||
npm i -g cordova@latest
|
||||
npm ci
|
||||
|
||||
- name: Run paramedic install
|
||||
if: ${{ endswith(env.repo, '/cordova-paramedic') != true }}
|
||||
run: npm i -g github:apache/cordova-paramedic
|
||||
|
||||
- uses: reactivecircus/android-emulator-runner@5de26e4bd23bf523e8a4b7f077df8bfb8e52b50e
|
||||
env:
|
||||
system-image-arch: ${{ matrix.versions.system-image-arch == '' && env.default_system-image-arch || matrix.versions.system-image-arch }}
|
||||
system-image-target: ${{ matrix.versions.system-image-target == '' && env.default_system-image-target || matrix.versions.system-image-target }}
|
||||
with:
|
||||
api-level: ${{ matrix.versions.android-api }}
|
||||
target: ${{ env.system-image-target }}
|
||||
arch: ${{ env.system-image-arch }}
|
||||
force-avd-creation: false
|
||||
disable-animations: false
|
||||
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim
|
||||
script: echo "Pregenerate the AVD before running Paramedic"
|
||||
|
||||
- name: Run paramedic tests
|
||||
uses: reactivecircus/android-emulator-runner@5de26e4bd23bf523e8a4b7f077df8bfb8e52b50e
|
||||
env:
|
||||
system-image-arch: ${{ matrix.versions.system-image-arch == '' && env.default_system-image-arch || matrix.versions.system-image-arch }}
|
||||
system-image-target: ${{ matrix.versions.system-image-target == '' && env.default_system-image-target || matrix.versions.system-image-target }}
|
||||
test_config: 'android-${{ matrix.versions.android }}.config.json'
|
||||
# Generally, this should automatically work for cordova-paramedic & plugins. If the path is unique, this can be manually changed.
|
||||
test_plugin_path: ${{ endswith(env.repo, '/cordova-paramedic') && './spec/testable-plugin/' || './' }}
|
||||
paramedic: ${{ endswith(env.repo, '/cordova-paramedic') && 'node main.js' || 'cordova-paramedic' }}
|
||||
with:
|
||||
api-level: ${{ matrix.versions.android-api }}
|
||||
target: ${{ env.system-image-target }}
|
||||
arch: ${{ env.system-image-arch }}
|
||||
force-avd-creation: false
|
||||
disable-animations: false
|
||||
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim
|
||||
script: ${{ env.paramedic }} --config ./pr/local/${{ env.test_config }} --plugin ${{ env.test_plugin_path }}
|
||||
73
.github/workflows/chrome.yml
vendored
Normal file
73
.github/workflows/chrome.yml
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
# 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.
|
||||
|
||||
name: Chrome Testsuite
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- '.eslint*'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- '.eslint*'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Chrome Latest Test
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
# hoist configurations to top that are expected to be updated
|
||||
env:
|
||||
# Storing a copy of the repo
|
||||
repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
|
||||
|
||||
node-version: 16
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.node-version }}
|
||||
|
||||
- name: Run install xvfb
|
||||
run: sudo apt-get install xvfb
|
||||
|
||||
- name: Run Environment Information
|
||||
run: |
|
||||
node --version
|
||||
npm --version
|
||||
|
||||
- name: Run npm install
|
||||
run: |
|
||||
npm i -g cordova@latest
|
||||
npm ci
|
||||
|
||||
- name: Run paramedic install
|
||||
if: ${{ endswith(env.repo, '/cordova-paramedic') != true }}
|
||||
run: npm i -g github:apache/cordova-paramedic
|
||||
|
||||
- name: Run paramedic tests
|
||||
env:
|
||||
test_config: 'browser.config.json'
|
||||
# Generally, this should automatically work for cordova-paramedic & plugins. If the path is unique, this can be manually changed.
|
||||
test_plugin_path: ${{ endswith(env.repo, '/cordova-paramedic') && './spec/testable-plugin/' || './' }}
|
||||
paramedic: ${{ endswith(env.repo, '/cordova-paramedic') && 'node main.js' || 'cordova-paramedic' }}
|
||||
run: xvfb-run --auto-servernum ${{ env.paramedic }} --config ./pr/local/${{ env.test_config }} --plugin ${{ env.test_plugin_path }}
|
||||
106
.github/workflows/ios.yml
vendored
Normal file
106
.github/workflows/ios.yml
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
# 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.
|
||||
|
||||
name: iOS Testsuite
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- '.eslint*'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
- 'LICENSE'
|
||||
- '.eslint*'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: iOS ${{ matrix.versions.ios-version }} Test
|
||||
runs-on: ${{ matrix.versions.os-version }}
|
||||
|
||||
# hoist configurations to top that are expected to be updated
|
||||
env:
|
||||
# Storing a copy of the repo
|
||||
repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
|
||||
|
||||
node-version: 16
|
||||
|
||||
# > Starting April 26, 2021, all iOS and iPadOS apps submitted to the App Store must be built with Xcode 12 and the iOS 14 SDK.
|
||||
# Because of Apple's requirement, listed above, We will only be using the latest Xcode release for testing.
|
||||
# To customize these options, add "xcode-version" to the strategy matrix with its overriding value.
|
||||
default_xcode-version: latest-stable
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
versions:
|
||||
- os-version: macos-10.15
|
||||
ios-version: 12.x
|
||||
xcode-version: 11.x
|
||||
|
||||
- os-version: macos-10.15
|
||||
ios-version: 13.x
|
||||
xcode-version: 11.x
|
||||
|
||||
- os-version: macos-10.15
|
||||
ios-version: 14.x
|
||||
xcode-version: 12.x
|
||||
|
||||
- os-version: macos-11
|
||||
ios-version: 15.x
|
||||
xcode-version: 13.x
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.node-version }}
|
||||
- uses: maxim-lobanov/setup-xcode@881be567d30efed8fb3f12b5099d68c3fb72aa3d
|
||||
env:
|
||||
xcode-version: ${{ matrix.versions.xcode-version == '' && env.default_xcode-version || matrix.versions.xcode-version }}
|
||||
with:
|
||||
xcode-version: ${{ env.xcode-version }}
|
||||
|
||||
- name: Run Environment Information
|
||||
run: |
|
||||
node --version
|
||||
npm --version
|
||||
xcodebuild -version
|
||||
|
||||
- name: Run npm install
|
||||
run: |
|
||||
npm i -g cordova@latest ios-deploy@latest
|
||||
npm ci
|
||||
|
||||
- name: Run setup iOS 12.x support
|
||||
if: ${{ matrix.versions.ios-version == '12.x' }}
|
||||
run: |
|
||||
sudo mkdir -p /Library/Developer/CoreSimulator/Profiles/Runtimes
|
||||
sudo ln -s /Applications/Xcode_10.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS\ 12.4.simruntime
|
||||
|
||||
- name: Run paramedic install
|
||||
if: ${{ endswith(env.repo, '/cordova-paramedic') != true }}
|
||||
run: npm i -g github:apache/cordova-paramedic
|
||||
|
||||
- name: Run paramedic tests
|
||||
env:
|
||||
test_config: 'ios-${{ matrix.versions.ios-version }}.config.json'
|
||||
# Generally, this should automatically work for cordova-paramedic & plugins. If the path is unique, this can be manually changed.
|
||||
test_plugin_path: ${{ endswith(env.repo, '/cordova-paramedic') && './spec/testable-plugin/' || './' }}
|
||||
paramedic: ${{ endswith(env.repo, '/cordova-paramedic') && 'node main.js' || 'cordova-paramedic' }}
|
||||
run: ${{ env.paramedic }} --config ./pr/local/${{ env.test_config }} --plugin ${{ env.test_plugin_path }}
|
||||
56
.github/workflows/lint.yml
vendored
Normal file
56
.github/workflows/lint.yml
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
# 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.
|
||||
|
||||
name: Lint Test
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '**.js'
|
||||
- '.eslint*'
|
||||
- '.github/workflow/lint.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- '**.js'
|
||||
- '.eslint*'
|
||||
- '.github/workflow/lint.yml'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Lint Test
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
node-version: 16
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.node-version }}
|
||||
|
||||
- name: Run Environment Information
|
||||
run: |
|
||||
node --version
|
||||
npm --version
|
||||
|
||||
- name: Run npm install
|
||||
run: |
|
||||
npm ci
|
||||
|
||||
- name: Run lint test
|
||||
run: |
|
||||
npm run lint
|
||||
@@ -1,3 +1,2 @@
|
||||
.*
|
||||
appveyor.yml
|
||||
tests
|
||||
|
||||
106
.travis.yml
106
.travis.yml
@@ -1,106 +0,0 @@
|
||||
# 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=28
|
||||
- ANDROID_BUILD_TOOLS_VERSION=28.0.3
|
||||
|
||||
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
|
||||
66
README.md
66
README.md
@@ -21,12 +21,10 @@ description: Control the splash screen for your app.
|
||||
# under the License.
|
||||
-->
|
||||
|
||||
|AppVeyor|Travis CI|
|
||||
|:-:|:-:|
|
||||
|[](https://ci.appveyor.com/project/ApacheSoftwareFoundation/cordova-plugin-splashscreen)|[](https://travis-ci.org/apache/cordova-plugin-splashscreen)|
|
||||
|
||||
# cordova-plugin-splashscreen
|
||||
|
||||
[](https://github.com/apache/cordova-plugin-splashscreen/actions/workflows/android.yml) [](https://github.com/apache/cordova-plugin-splashscreen/actions/workflows/chrome.yml) [](https://github.com/apache/cordova-plugin-splashscreen/actions/workflows/ios.yml) [](https://github.com/apache/cordova-plugin-splashscreen/actions/workflows/lint.yml)
|
||||
|
||||
This plugin displays and hides a splash screen while your web application is launching. Using its methods you can also show and hide the splash screen manually.
|
||||
|
||||
- [cordova-plugin-splashscreen](#cordova-plugin-splashscreen)
|
||||
@@ -38,6 +36,7 @@ This plugin displays and hides a splash screen while your web application is lau
|
||||
- [Image Layout](#image-layout)
|
||||
- [`density`](#density)
|
||||
- [Image Sizing Table](#image-sizing-table)
|
||||
- [Dark Mode](#dark-mode)
|
||||
- [Example Android Configuration](#example-android-configuration)
|
||||
- [iOS-specific Information](#ios-specific-information)
|
||||
- [Launch Storyboard Images](#launch-storyboard-images)
|
||||
@@ -47,6 +46,7 @@ This plugin displays and hides a splash screen while your web application is lau
|
||||
- [Size classes](#size-classes)
|
||||
- [Single-image launch screen](#single-image-launch-screen)
|
||||
- [Multi-image launch screen](#multi-image-launch-screen)
|
||||
- [Dark Mode](#dark-mode-1)
|
||||
- [Quirks and Known Issues](#quirks-and-known-issues)
|
||||
- [Windows-specific Information](#windows-specific-information)
|
||||
- [Preferences](#preferences)
|
||||
@@ -72,7 +72,10 @@ This plugin displays and hides a splash screen while your web application is lau
|
||||
## Supported Platforms
|
||||
|
||||
- Android
|
||||
- iOS
|
||||
- iOS
|
||||
__Note__: iOS implementation has been moved to the core framework.
|
||||
If using `cordova-ios@5` or earlier, use `cordova-plugin-splashscreen@5`
|
||||
If using `cordova-ios@6` or later, use `cordova-plugin-splashscreen@6`. If developing exclusively for the iOS platform, this plugin can be uninstalled.
|
||||
- Windows (`cordova-windows` version >= 4.4.0 is required)
|
||||
__Note__: Extended splashscreen does not require the plugin on Windows (as opposed to Android and iOS) in case you don't use the plugin API, i.e. programmatic hide/show.
|
||||
- Browser
|
||||
@@ -177,10 +180,30 @@ If not all DPI images are considered, some devices might not show a SplashScreen
|
||||
| xxhdpi | 960x1600 | 1600x960 |
|
||||
| xxxhdpi | 1280x1920 | 1920x1280 |
|
||||
|
||||
#### Dark Mode (API 28+)
|
||||
|
||||
You can optionally provide an extra SplashScreen image to be used in dark/night mode when enabled on supported devices.
|
||||
To do this, add the `-night` keyword in between the **layout** and **size** keywords of the image's `density` attribute value. E.g.: `land-night-hdpi`
|
||||
|
||||
For more examples, please see [the Example Configuration](#example-android-configuration) section.
|
||||
|
||||
#### Example Android Configuration
|
||||
|
||||
```xml
|
||||
<platform name="android">
|
||||
<!-- Default
|
||||
Note: You should specify default resources for each density.
|
||||
-- For instance, if the device(hdpi) is in landscape orientation and [density="land-hdpi"]
|
||||
-- does not exists, [density="hdpi"] will be selected
|
||||
If you do not declare this you will get MissingDefaultResource lint check errors.
|
||||
-->
|
||||
<splash src="res/screen/android/splash-port-hdpi.png" density="hdpi"/>
|
||||
<splash src="res/screen/android/splash-port-ldpi.png" density="ldpi"/>
|
||||
<splash src="res/screen/android/splash-port-mdpi.png" density="mdpi"/>
|
||||
<splash src="res/screen/android/splash-port-xhdpi.png" density="xhdpi"/>
|
||||
<splash src="res/screen/android/splash-port-xxhdpi.png" density="xxhdpi"/>
|
||||
|
||||
<!-- Landscape -->
|
||||
<splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi" />
|
||||
<splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi" />
|
||||
<splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi" />
|
||||
@@ -188,12 +211,28 @@ If not all DPI images are considered, some devices might not show a SplashScreen
|
||||
<splash src="res/screen/android/splash-land-xxhdpi.png" density="land-xxhdpi" />
|
||||
<splash src="res/screen/android/splash-land-xxxhdpi.png" density="land-xxxhdpi" />
|
||||
|
||||
<!-- Portrait -->
|
||||
<splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi" />
|
||||
<splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi" />
|
||||
<splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi" />
|
||||
<splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi" />
|
||||
<splash src="res/screen/android/splash-port-xxhdpi.png" density="port-xxhdpi" />
|
||||
<splash src="res/screen/android/splash-port-xxxhdpi.png" density="port-xxxhdpi" />
|
||||
|
||||
<!-- Dark Mode -->
|
||||
<splash src="res/screen/android/splash-land-night-hdpi.png" density="land-night-hdpi" />
|
||||
<splash src="res/screen/android/splash-land-night-ldpi.png" density="land-night-ldpi" />
|
||||
<splash src="res/screen/android/splash-land-night-mdpi.png" density="land-night-mdpi" />
|
||||
<splash src="res/screen/android/splash-land-night-xhdpi.png" density="land-night-xhdpi" />
|
||||
<splash src="res/screen/android/splash-land-night-xxhdpi.png" density="land-night-xxhdpi" />
|
||||
<splash src="res/screen/android/splash-land-night-xxxhdpi.png" density="land-night-xxxhdpi" />
|
||||
|
||||
<splash src="res/screen/android/splash-port-night-hdpi.png" density="port-night-hdpi" />
|
||||
<splash src="res/screen/android/splash-port-night-ldpi.png" density="port-night-ldpi" />
|
||||
<splash src="res/screen/android/splash-port-night-mdpi.png" density="port-night-mdpi" />
|
||||
<splash src="res/screen/android/splash-port-night-xhdpi.png" density="port-night-xhdpi" />
|
||||
<splash src="res/screen/android/splash-port-night-xxhdpi.png" density="port-night-xxhdpi" />
|
||||
<splash src="res/screen/android/splash-port-night-xxxhdpi.png" density="port-night-xxxhdpi" />
|
||||
</platform>
|
||||
```
|
||||
|
||||
@@ -343,6 +382,23 @@ The above looks like the following in `config.xml`:
|
||||
<splash src="res/screen/ios/Default@2x~ipad~comany.png" />
|
||||
```
|
||||
|
||||
##### Dark Mode
|
||||
|
||||
Since [Cordova-iOS@6.1.0](https://github.com/apache/cordova-ios), it is now possible to optionally specify different SplashScreen images to use when the app is running in dark mode. The luminosity of SplashScreen images can be defined in `config.xml` using the `~dark` and `~light` suffixes.
|
||||
|
||||
```xml
|
||||
<!-- Default image to be used for all modes -->
|
||||
<splash src="res/screen/ios/Default@2x~universal~anyany.png" />
|
||||
|
||||
<!-- Image to use specifically for dark mode devices -->
|
||||
<splash src="res/screen/ios/Default@2x~universal~anyany~dark.png" />
|
||||
|
||||
<!-- Image to use specifically for light mode devices -->
|
||||
<splash src="res/screen/ios/Default@2x~universal~anyany~light.png" />
|
||||
```
|
||||
|
||||
**Note:** This works since iOS 13. iOS 12 and below will use the default SplashScreen without a luminosity suffix specified.
|
||||
|
||||
##### Quirks and Known Issues
|
||||
|
||||
1. **App on target may not reflect changes to images**
|
||||
|
||||
@@ -20,6 +20,23 @@
|
||||
-->
|
||||
# Release Notes
|
||||
|
||||
### 6.0.1 (Apr 04, 2022)
|
||||
* [GH-325](https://github.com/apache/cordova-plugin-splashscreen/pull/325)chore: update package-lock.json
|
||||
* [GH-213](https://github.com/apache/cordova-plugin-splashscreen/pull/213)GH-180 (android): Fixes nav and title bars still appearing when app is fullscreen
|
||||
* [GH-320](https://github.com/apache/cordova-plugin-splashscreen/pull/320)ci(ios): update workflow w/ **iOS** 15
|
||||
* [GH-319](https://github.com/apache/cordova-plugin-splashscreen/pull/319)ci: add action-badge
|
||||
* [GH-318](https://github.com/apache/cordova-plugin-splashscreen/pull/318)ci: remove travis & appveyor
|
||||
* [GH-317](https://github.com/apache/cordova-plugin-splashscreen/pull/317)ci: add gh-actions workflows
|
||||
* [GH-312](https://github.com/apache/cordova-plugin-splashscreen/pull/312)fix: autofocus after splashscreen
|
||||
* [GH-314](https://github.com/apache/cordova-plugin-splashscreen/pull/314)fix: refocus after webview visible (#186)
|
||||
* [GH-304](https://github.com/apache/cordova-plugin-splashscreen/pull/304)ci: add node-14.x to workflow
|
||||
* [GH-291](https://github.com/apache/cordova-plugin-splashscreen/pull/291)chore(docs): Update missing default resources for **Android** #689
|
||||
* [GH-293](https://github.com/apache/cordova-plugin-splashscreen/pull/293)Documentation Enhancement for **Android** Dark Mode
|
||||
* [GH-300](https://github.com/apache/cordova-plugin-splashscreen/pull/300)docs: Added **iOS** notes to supported platforms.
|
||||
* [GH-296](https://github.com/apache/cordova-plugin-splashscreen/pull/296)chore(pkg): remove default-valued field "homepage"
|
||||
* [GH-292](https://github.com/apache/cordova-plugin-splashscreen/pull/292)ci(travis): updates **Android** API level
|
||||
* [GH-286](https://github.com/apache/cordova-plugin-splashscreen/pull/286)(docs): Add Information about how to use Dark Mode SplashScreens
|
||||
|
||||
### 6.0.0 (Jul 07, 2020)
|
||||
|
||||
* [GH-282](https://github.com/apache/cordova-plugin-splashscreen/pull/282) fix: js `clobber` only on supported platforms
|
||||
|
||||
2281
package-lock.json
generated
2281
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cordova-plugin-splashscreen",
|
||||
"version": "6.0.0",
|
||||
"version": "6.0.1",
|
||||
"description": "Cordova Splashscreen Plugin",
|
||||
"types": "./types/index.d.ts",
|
||||
"cordova": {
|
||||
@@ -43,6 +43,5 @@
|
||||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"@cordova/eslint-config": "^3.0.0"
|
||||
},
|
||||
"homepage": "https://github.com/apache/cordova-plugin-splashscreen#readme"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
||||
id="cordova-plugin-splashscreen"
|
||||
version="6.0.0">
|
||||
version="6.0.1">
|
||||
<name>Splashscreen</name>
|
||||
<description>Cordova Splashscreen Plugin</description>
|
||||
<license>Apache 2.0</license>
|
||||
|
||||
@@ -32,6 +32,7 @@ import android.view.Display;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.AlphaAnimation;
|
||||
@@ -194,6 +195,7 @@ public class SplashScreen extends CordovaPlugin {
|
||||
} else if ("spinner".equals(id)) {
|
||||
if ("stop".equals(data.toString())) {
|
||||
getView().setVisibility(View.VISIBLE);
|
||||
getView().requestFocus();
|
||||
}
|
||||
} else if ("onReceivedError".equals(id)) {
|
||||
this.spinnerStop();
|
||||
@@ -314,16 +316,48 @@ public class SplashScreen extends CordovaPlugin {
|
||||
|
||||
// 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
|
||||
if ((cordova.getActivity().getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||
== WindowManager.LayoutParams.FLAG_FULLSCREEN) {
|
||||
splashDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
|
||||
// Check to see if the splash screen should be full screen.
|
||||
// On first run, currently cordova hasn't set the window flags yet because it does it in
|
||||
// onWindowFocusChanged instead of onCreate. If that's the case, we'll fall back to the
|
||||
// Fullscreen preference. Hopefully it will get fixed so that cordova sets them in onCreate,
|
||||
// so that this fallback can be removed.
|
||||
boolean isFullscreen = false;
|
||||
int mainWindowFlags = cordova.getActivity().getWindow().getAttributes().flags;
|
||||
boolean flagFullscreen = (mainWindowFlags & WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||
== WindowManager.LayoutParams.FLAG_FULLSCREEN;
|
||||
boolean flagForceNotFullscreen = (mainWindowFlags & WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN)
|
||||
== WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN;
|
||||
|
||||
// If cordova has set flags, one of these must be true.
|
||||
if (flagFullscreen || flagForceNotFullscreen) {
|
||||
isFullscreen = flagFullscreen;
|
||||
} else {
|
||||
// Cordova hasn't set flags, fall back to reading preference.
|
||||
isFullscreen = preferences.getBoolean("Fullscreen", false);
|
||||
}
|
||||
|
||||
Window dialogWindow = splashDialog.getWindow();
|
||||
if (isFullscreen) {
|
||||
dialogWindow.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||
}
|
||||
splashDialog.setContentView(splashImageView);
|
||||
splashDialog.setCancelable(false);
|
||||
splashDialog.show();
|
||||
|
||||
if (isFullscreen) {
|
||||
// These must be set after .show() is called because they only work on visible views.
|
||||
// When the splashscreen hides, the app will revert to whatever was set in CordovaActivity
|
||||
dialogWindow.getDecorView().setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||
| View.SYSTEM_UI_FLAG_FULLSCREEN
|
||||
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
|
||||
}
|
||||
|
||||
if (preferences.getBoolean("ShowSplashScreenSpinner", true)) {
|
||||
spinnerStart();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cordova-plugin-splashscreen-tests",
|
||||
"version": "6.0.0",
|
||||
"version": "6.0.1",
|
||||
"description": "",
|
||||
"cordova": {
|
||||
"id": "cordova-plugin-splashscreen-tests",
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
||||
id="cordova-plugin-splashscreen-tests"
|
||||
version="6.0.0">
|
||||
version="6.0.1">
|
||||
<name>Cordova Splashscreen Plugin Tests</name>
|
||||
<license>Apache 2.0</license>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user