Compare commits

...

190 Commits

Author SHA1 Message Date
Vladimir Kotikov
5af0016c67 CB-10557 Updated version and RELEASENOTES.md for release 3.2.0 2016-02-09 13:13:27 +03:00
daserge
617960ee3e CB-10422 Splashscreen displays black screen with no image on Android 2016-01-27 18:58:56 +03:00
daserge
109c82b29b CB-10412 AutoHideSplashScreen "false" isn't taken in account on iOS 2016-01-27 18:53:23 +03:00
daserge
799b0a1737 CB-9516 Android SplashScreen - Spinner Does Not Display
Removes spinnerStop call from onMessage("spinner", "stop") as it is called when webview is shown and we are hiding spinner manually along with the splashscreen dialog.
Changed the spinner to be noncancellable.
Changed the ProgressDialog to custom only-spinner mode (on transparent background, without title/message and dimming).
Removed unused spinnerStart action handler.
Updated the docs.
2016-01-22 14:21:34 +03:00
Dan Polivy
5b3c2c8b14 CB-9094: Smarter autohide logic on Android
When the plugin is initialized, the splash screen is shown with an
auto-hide delay. If a subsequent call to show() comes in while the
splashscreen is visible, it will still be automatically hidden, even
though the user expectation is that it wouldn't be.

This fix tracks the "hideAfterDelay" setting of the most recent call to
show() -- and when the auto hide timer goes off, if the most recent call
to show() did not set hideAfterDelay, then the splashscreen will not be
automatically hidden.

This provides a more consistent -- and expected -- behavior based on
user action.

https://issues.apache.org/jira/browse/CB-9094

Github: close #49
2016-01-22 13:22:37 +03:00
daserge
7a12204ba9 CB-8396 Add AutoHideSplashScreen logic to Android's Splashscreen
Also initializing the splashscreen image irrespective of firstShow because the splashscreen could be shown manually via navigator.splashscreen.show(); after exiting the app using BackButton or via navigator.app.exitApp();
2016-01-18 11:36:21 +03:00
daserge
eada9a6ac1 Closing stale: close #14, close #17, close #23, close #33, close #63 2016-01-18 10:37:43 +03:00
Steve Gill
12dcd57d51 CB-10368 Incremented plugin version. 2016-01-15 16:58:32 -08:00
Steve Gill
0f4a9d3f18 CB-10368 Updated version and RELEASENOTES.md for release 3.1.0 2016-01-15 16:35:06 -08:00
daserge
50318213c4 CB-9538 Implementing FadeSplashScreen feature for Android
Refactoring, adds support of seconds for fade duration for backward compatibility
Includes fade duration into overall splashscreen duration to be consistent with iOS
Updated the docs
2016-01-11 12:49:38 +03:00
Philipp Grosswiler
34bc1dbf16 CB-9538 Implementing FadeSplashScreen feature for Android 2016-01-11 12:44:12 +03:00
daserge
3b2e9e5912 CB-9240 Cordova splash screen plugin iPad landscape mode issue
Aligns shouldRotate default value with parent CDVViewController behavior
2015-12-29 22:08:02 +03:00
daserge
d7841c7ec9 CB-10263 Fix splashscreen plugin filenames for Asset Catalog
Github: close #69
2015-12-29 12:00:31 +03:00
Wilson Pinto
1e67606c60 CB-9374 Android: add SplashShowOnlyFirstTime as preference
Github: close #70
2015-12-26 23:01:15 +03:00
daserge
fa3b665223 CB-10244 Don't rotate the iPhone 6 Plus splash 2015-12-22 17:28:53 +03:00
daserge
875ccbf5bc CB-9043 Fix the ios splashscreen being deformed on orientation change 2015-12-22 17:15:59 +03:00
Thejaswi Puthraya
ccb3c2f453 CB-10079 Splashscreen plugin does not honor SplashScreenDelay on iOS
Github: close #64
2015-12-21 08:00:27 -08:00
daserge
cfc6d74506 CB-10231 Fix FadeSplashScreen to default to true on iOS 2015-12-21 16:51:19 +03:00
Steve Gill
78d8ef94eb CB-10035 Incremented plugin version. 2015-11-30 17:57:07 -08:00
Steve Gill
e2239306d6 CB-10035 linked issues in RELEASENOTES.md 2015-11-18 22:11:41 -08:00
Steve Gill
ea3f7f7b07 CB-10035 Updated version and RELEASENOTES.md for release 3.0.0 2015-11-18 19:45:06 -08:00
Steve Gill
d348168e08 removed r prefix from tags 2015-11-18 14:53:11 -08:00
Steve Gill
848bd487e0 CB-10035 Updated RELEASENOTES to be newest to oldest 2015-11-18 13:54:08 -08:00
Dmitry Blotsky
d034ceee6e Actually fixing the contribute link. 2015-10-23 12:11:50 -07:00
Dmitry Blotsky
93aaf0529e Fixing contribute link. 2015-10-23 12:03:42 -07:00
Jesse MacFadyen
60fb0621ae Merge branch 'add-jira-link' of https://github.com/revolunet/cordova-plugin-splashscreen 2015-10-05 17:50:24 -07:00
Jesse MacFadyen
7eec7c8b43 Bumped version number for API changed in CB-9750 commit 2015-10-05 17:47:40 -07:00
Jesse MacFadyen
3a79663680 CB-9750 FadeSplashDuration is now in msecs 2015-10-05 17:46:12 -07:00
Jesse MacFadyen
b83392df21 This closes #56, This closes #44 2015-10-05 17:23:59 -07:00
Jesse MacFadyen
2b5187b909 fix formatting 2015-10-05 17:20:57 -07:00
Jesse MacFadyen
fb0764c528 CB-8875 FadeSplashScreen was not fading 2015-10-05 16:34:49 -07:00
Jesse MacFadyen
9a69f12ada CB-9749 documentation is wrong - default SplashScreenDelay 2015-10-05 14:16:30 -07:00
Jesse MacFadyen
9bd0ec7091 Add line to increase readability. Close #58 2015-09-14 13:54:48 -07:00
Julien Bouquillon
f675376de1 add JIRA issue tracker link 2015-09-10 18:29:36 +02:00
daserge
9ea2d4c86f CB-9467 SplashScreen does not show any image in hosted app on Windows 10 2015-08-07 11:29:05 +03:00
Andrey Kurdyumov
5aff6590f8 CB-7282 Document AutoHideSplashScreenpreference 2015-07-25 13:52:42 +06:00
Shazron Abdullah
f4a92d21ff CB-9327 - Splashscreen not receiving CDVPageLoadNotification 2015-07-07 18:17:07 -07:00
Jesse MacFadyen
0916db61b4 remove travis-ci 2015-07-07 17:55:55 -07:00
Roel van Uden
ac23964ac6 WP8: Avoid config value of a wrong element.
If you have an element that shares the `name`, like <feature
name="SplashScreen">, then the `value` attribute was read of that
instead (since it can appear *before* the preference element). Thus, the
config of `SplashScreen` preference was not settable at all.
2015-06-22 11:50:07 +02:00
Steve Gill
57ad3602f4 CB-9192 Incremented plugin version. 2015-06-17 17:35:36 -07:00
Steve Gill
4b1df233ae CB-9202 updated repo url to github mirror in package.json 2015-06-17 14:14:41 -07:00
Steve Gill
c4ba138de5 CB-9192 Updated version and RELEASENOTES.md for release 2.1.0 2015-06-17 12:36:05 -07:00
Steve Gill
805bcf505d added missing license headers 2015-06-17 11:11:40 -07:00
Victor Sosa
fa29a85fcb CB-9128 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2015-06-12 09:42:35 -05:00
Raymond Camden
ab26925e25 fix npm md issue 2015-06-02 11:01:17 -05:00
Shazron Abdullah
ed00c63d2d Fixed iOS unit tests. 2015-05-12 00:04:24 -07:00
Dan Polivy
52c025bbef CB-3562: Disable screen rotation for iPhone when splash screen is shown. (closes #47)
This is a port of emarashliev's original fix for CB-3562, cleaned up
to avoid deprecated functions.

Merge branch 'master' of https://github.com/emarashliev/cordova-plugin-splashscreen into CB3562

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2015-05-11 23:59:44 -07:00
Dan Polivy
87f3c3a3ac CB-8988: Fix rotation on iOS/iPad (closes #46)
The viewController.interfaceOrientation passed to getImageName has not
yet been updated with the new orientation, even when the frame/bounds
change event has fired. Thus, the plugin never actually loads the
correct image for the new orientation. Instead, it poorly scales the
existing image.

This fix uses the statusBarOrientation property of the UIApplication
object to detect the actual orientation, and correctly load the right
image.

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2015-05-11 17:46:58 -07:00
Joe Bowser
6cc3d1f3fe CB-8904: Don't reset the static variable when it's destroyed, otherwise we might as well just have a member variable 2015-05-07 15:59:39 -07:00
sgrebnov
b7750760f4 Removed wp7 from plugin.xml and package.json 2015-04-25 14:58:11 -07:00
sgrebnov
00e8999eeb CB-8750 [wp8]: Rewrite resoultion helper 2015-04-25 14:56:39 -07:00
sgrebnov
9549ce3a9d CB-8750 [wp8]: Allow resolution-specific splashscreen images
There are two aspect ratios for Windows Phone devices: 15:9 and 16:9. At
the moment, though, there is only one splash screen by default for WP8
Cordova apps. When stretched to fit all possible resolutions, this can
sometimes look bad.

WP supports resolution-specific splashscreens, so this commit adds the
same support to the splashscreen plugin. It uses the same base name for
the splashscreen, but adds modifiers such as ".screen-<res>" based on
the device. If a screen-specific image is found, it is used. If not, we
fall back to the single default image.

Fixes https://issues.apache.org/jira/browse/CB-8750

github close #41
github close #42
2015-04-25 14:55:21 -07:00
Dan Polivy
62e92afae8 CB-8758 [wp8]: UnauthorizedAccessException on hide()
When calling hide() from JS, the attempt to access Popup could happen on
a background thread, which ends up throwing an
UnauthorizedAccessException about cross-thread access.

To address this, it's best to check the popup's state from within the UI
thread.

Fixes https://issues.apache.org/jira/browse/CB-8758
2015-04-25 14:32:17 -07:00
Steve Gill
fa60f01adc CB-8858 Incremented plugin version. 2015-04-15 16:00:22 -07:00
Steve Gill
d23ea4e011 CB-8858 Updated version in package.json for release 2.0.0 2015-04-15 15:50:47 -07:00
Steve Gill
0a46c4cbbb Revert "CB-8858 Incremented plugin version."
This reverts commit a510cd21ec.
2015-04-15 14:31:12 -07:00
Steve Gill
a510cd21ec CB-8858 Incremented plugin version. 2015-04-15 13:55:47 -07:00
Steve Gill
76bf7655a0 CB-8858 Updated version and RELEASENOTES.md for release 2.0.0 2015-04-15 11:06:38 -07:00
Jesse MacFadyen
9575c92db6 give users a way to install the bleeding edge. 2015-04-13 11:40:00 -07:00
Steve Gill
a9ac114130 CB-8746 gave plugin major version bump 2015-04-09 17:03:54 -07:00
Shazron Abdullah
48def1443a CB-8797 - Splashscreen preferences FadeSplashScreenDuration and FadeSplashScreen (iOS) are missing 2015-04-09 14:19:23 -07:00
Shazron Abdullah
559b300d29 CB-8836 - Crashes after animating splashscreen 2015-04-09 14:07:18 -07:00
Andrew Grieve
35272415d3 CB-8753 android: Fix missing import in previous commit 2015-04-07 20:37:06 -04:00
Alex Talis
dd9c88204c CB-8753 android: Adds SplashMaintainAspectRatio preference (close #43) 2015-04-07 10:55:23 -04:00
Steve Gill
5dc26d7e65 CB-8683 changed plugin-id to pacakge-name 2015-04-01 16:41:33 -07:00
Steve Gill
1c41959288 CB-8653 properly updated translated docs to use new id 2015-03-31 16:06:01 -07:00
Steve Gill
43e9c75345 CB-8653 updated translated docs to use new id 2015-03-31 10:53:32 -07:00
Andrew Grieve
9b3f750085 CB-8345 Make default for splashscreen resource "screen" (which is what template and CLI assume it to be) 2015-03-30 09:48:04 -04:00
Andrew Grieve
ba6730e594 Revert "CB-8345 android: Make "splash" the default resource ID instead of null"
This reverts commit 1d89a2aa1b.
There were some other changes in there that weren't meant to be made!
2015-03-30 09:47:00 -04:00
Jesse MacFadyen
89c23fad03 Use TRAVIS_BUILD_DIR, install paramedic by npm 2015-03-24 23:43:27 -07:00
Andrew Grieve
1d89a2aa1b CB-8345 android: Make "splash" the default resource ID instead of null 2015-03-24 14:50:09 -04:00
sgrebnov
0ff8d52081 docs: added Windows to supported platforms 2015-03-19 18:24:40 +03:00
daserge
bb65993a51 CB-7964 Add cordova-plugin-splashscreen support for browser platform
Added Browser platform support
Using cordova/confighelper module to read parameter values from config.xml
Updated the docs
2015-03-18 16:01:31 +03:00
Steve Gill
6ce8a32865 CB-8653 Updated Readme 2015-03-13 19:41:09 -07:00
Jesse MacFadyen
5afde1c62f [wp8] oops, Added back config parse result checks 2015-03-10 15:03:39 -07:00
Jesse MacFadyen
6b1e72c631 [WP8] code cleanup, minor refactors, comments to clarify some stuff. 2015-03-10 14:27:29 -07:00
Jesse MacFadyen
98edfeb73e Merge branch 'galexandrov/wp8-fixes' of https://github.com/Icenium/cordova-plugin-splashscreen 2015-03-10 12:53:16 -07:00
Georgi Alexandrov
688b138e31 Extend WP8 Splash Screen to respect SplashScreen and SplashScreenDelay preferences from config file 2015-03-09 14:30:14 +02:00
Jesse MacFadyen
8bc540e454 CB-8574 Integrate TravisCI 2015-03-02 16:37:52 -08:00
Victor Sosa
4430cfce6b CB-8438 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2015-02-27 12:52:28 -06:00
Steve Gill
c1d4ca8d83 CB-8538 Added package.json file 2015-02-25 00:53:27 -08:00
sgrebnov
bcbc23958f CB-8397 Add support to 'windows' for showing the Windows Phone splashscreen 2015-02-11 13:36:02 +03:00
Andrew Grieve
b232cd7447 CB-8429 Incremented plugin version. 2015-02-04 20:54:03 -05:00
Andrew Grieve
a9f0faa499 CB-8429 Updated version and RELEASENOTES.md for release 1.0.0 2015-02-04 20:12:45 -05:00
Andrew Grieve
c3a5867c81 CB-8351 ios: Stop using deprecated IsIpad macro 2015-01-27 10:20:17 -05:00
Andrew Grieve
e86a9cc7a4 CB-8280 android: Don't apply SplashScreenDelay when .show() is called explicitly 2015-01-19 13:39:55 -05:00
Andrew Grieve
ddec7008cb CB-3679 Add engine tag for Android >= 3.6.0 due to use of preferences 2014-12-11 11:15:01 -05:00
Andrew Grieve
e320e2504a CB-8079 Use activity class package name, but fallback to application package name when looking for splash screen drawable 2014-12-10 21:18:00 -05:00
Andrew Grieve
e593fe3f53 CB-3679 Make SplashScreen plugin compatible with cordova-android@4.0.x 2014-12-10 16:09:54 -05:00
Andrew Grieve
50e4887aa1 CB-3679 Break Android splashscreen logic into splascreen plugin 2014-12-10 15:37:15 -05:00
Steve Gill
f67216d64a CB-8110 Incremented plugin version. 2014-12-02 16:08:50 -08:00
Steve Gill
67e8b9f01d CB-8110 Updated version and RELEASENOTES.md for release 0.3.5 2014-12-02 16:07:02 -08:00
Ian Clelland
29ac24ff9d Merge branch 'CB-7700' 2014-12-02 16:19:29 -05:00
Victor Sosa
3947f8570a CB-7700 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-10-20 10:39:27 -05:00
Shazron Abdullah
d2e62a551c CB-7204 - Race condition when hiding and showing spinner (closes #21) 2014-10-13 16:11:42 -07:00
Shazron Abdullah
c67622f1b9 Update iOS test to specify device 2014-10-13 16:06:17 -07:00
Nic Mulvaney
2f37eed184 Fix for portrait/landscape detection
Sometimes the width can be 568 or 320 depending on orientation on iPhone 5. This fixes the detection.

Signed-off-by: Shazron Abdullah <shazron@apache.org>
2014-10-13 16:03:33 -07:00
Ian Clelland
887f0f6c81 Merge branch 'master' of https://github.com/sosahvictor/cordova-plugin-splashscreen 2014-10-06 15:10:40 -04:00
Steven Gill
8804977c84 Incremented plugin version. 2014-10-03 17:09:47 -07:00
Steven Gill
b46cdca795 Updated version and RELEASENOTES.md for release 0.3.4 2014-10-03 16:10:14 -07:00
Victor Sosa
1009019372 CB-7700 cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-10-02 18:13:15 -05:00
Shazron Abdullah
129830a76c Finalized iOS splash screen (image name) tests. 176 tests in all, 44 for each type of device (iPad, iPhone, iPhone5, iPhone6, iPhone 6 Plus). 2014-10-01 16:06:24 -07:00
Shazron Abdullah
24e6f2e0dd CB-7633 - (Re-fix based on updated unit tests) iPhone 6 Plus support 2014-10-01 13:59:22 -07:00
Shazron Abdullah
21f372acc9 Updated iOS tests for locked orientations 2014-10-01 13:49:36 -07:00
Shazron Abdullah
4d548e67c2 Added more iOS splash screen tests. 2014-09-30 17:52:51 -07:00
Shazron Abdullah
55722de1c4 CB-7633 - Add support for iPhone 6/6+ 2014-09-30 17:52:30 -07:00
Shazron Abdullah
0ffe1c2d46 Added failing iPhone 6/6 Plus tests. 2014-09-30 16:59:47 -07:00
Shazron Abdullah
95f407ea0d Re-fix iOS command line tests not working if Xcode was not launched at least once (shared scheme was not saved in the right place) 2014-09-30 11:56:38 -07:00
Shazron Abdullah
99803ba7c6 Fix iOS command line tests not working if Xcode was not launched at least once. 2014-09-30 11:52:11 -07:00
Shazron Abdullah
6b87577801 Added 'npm test' 2014-09-30 11:47:46 -07:00
Shazron Abdullah
d0614c532b Fixed iOS tests README typo. 2014-09-30 11:06:04 -07:00
Shazron Abdullah
483182f33a CB-7663 - Update README for command line invocation of tests 2014-09-29 17:49:21 -07:00
Shazron Abdullah
d85c6a9359 CB-7663 - iOS unit tests for splash screen 2014-09-29 17:33:50 -07:00
Shazron Abdullah
fcd628ffc9 CB-7663 - prep for unit tests 2014-09-29 14:03:58 -07:00
Shazron Abdullah
e1f17d6665 Properly formatted splashscreen preference docs. 2014-09-29 12:03:01 -07:00
Marcel Kinard
ec7c6aac30 CB-7571 Bump version of nested plugin to match parent plugin 2014-09-17 16:27:18 -04:00
Marcel Kinard
0b001fb209 CB-7571 Incremented plugin version. 2014-09-17 15:35:02 -04:00
Marcel Kinard
e4d8b77027 CB-7571 Updated version and RELEASENOTES.md for release 0.3.3 2014-09-17 15:27:44 -04:00
Lisa Seacat DeLuca
0f63861e88 CB-7249cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-08-19 10:51:57 -04:00
Edna Morales
e364377d4f Merge renamed tests dir 2014-08-13 13:24:50 -04:00
Jesse MacFadyen
395302ee16 Merge branch 'CB-7196' of https://github.com/stacic/cordova-plugin-splashscreen 2014-08-07 13:39:02 -07:00
Steven Gill
333b0e7f90 CB-7244 Incremented plugin version. 2014-08-06 19:24:29 -07:00
Steven Gill
3b58cd69b3 CB-7244 Updated version and RELEASENOTES.md for release 0.3.2 2014-08-06 18:58:24 -07:00
Staci Cooper
be8d340f31 Renamed test dir, added nested plugin.xml 2014-08-01 16:40:01 -04:00
Edna Morales
f833c39ed3 added documentation for manual tests 2014-07-29 09:10:44 -04:00
Staci Cooper
8eb2533e78 CB-7196 port splashscreen tests to framework 2014-07-24 15:37:03 -04:00
Lisa Seacat DeLuca
5d25cf0250 CB-6127lisa7cordova-plugin-consolecordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-07-07 15:28:22 -04:00
Michael Hoisie
cd61952efc CB-7041 ios: Fix image filename logic when setting the iPad splash screen
When running Cordova apps without orientation lock on iPads, the
Splash Screen plugin didn't work properly. It would skip the iPad-
specific splash screen logic, and just select the image named
@"Default.png" (without adding the orientation suffix), and print
the following messages in the console:

WARNING: The splashscreen image named Default was not found

Now, for iPads, the splash screen image is set by first looking
at the position of the orientation lock, and if that is not set, it
uses the calculated view orientation.

close #19
2014-06-27 14:56:49 -04:00
ldeluca
6f23d8e828 CB-6773cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-06-23 13:53:41 -04:00
ldeluca
cf5c5beafb Merge branch 'master' of ssh://github.com/ldeluca/cordova-plugin-splashscreen into CB-6773cordova-plugin-splashscreen 2014-06-23 12:26:08 -04:00
Nadya Atanasova
1f50d90d9e fixes Splashscreen crash on WP8
The UI elements cannot be accessed from any other than the UI thread directly. So, enclose UI access code in the Dispatcher.BeginInvoke()
2014-06-19 16:55:35 +04:00
mbillau
c56bb9efec Remove outdated doc, thx Axel 2014-06-16 13:43:32 -04:00
ldeluca
1943a88c8c Merge branch 'master' of ssh://github.com/ldeluca/cordova-plugin-splashscreen into CB-6773cordova-plugin-splashscreen 2014-06-11 10:00:30 -04:00
Steven Gill
ac1422f49f CB-6877 Incremented plugin version. 2014-06-05 13:40:50 -07:00
Steven Gill
b3b7a561ab CB-6877 Updated version and RELEASENOTES.md for release 0.3.1 2014-06-05 13:39:43 -07:00
Steven Gill
91ed62deda Merge branch 'master' of https://github.com/ldeluca/cordova-plugin-splashscreen 2014-06-04 15:21:11 -07:00
Marcel Kinard
30661dbb42 CB-6810 Add license to CONTRIBUTING.md 2014-05-30 11:37:08 -04:00
ldeluca
b109c7f234 Merge branch 'master' of ssh://github.com/ldeluca/cordova-plugin-splashscreen into CB-6773cordova-plugin-splashscreen 2014-05-30 09:52:46 -04:00
ldeluca
d7f0994f32 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen 2014-05-30 09:52:37 -04:00
Jesse MacFadyen
f37c1557b6 [wp8] updated quirk for and combined iOS,WP8,BB10 quirks as they are all the same 2014-05-29 17:58:28 -07:00
Jesse MacFadyen
988517df7f [wp] implemented OnInit so splash screen can be shown before cordova page is loaded 2014-05-29 17:41:49 -07:00
Jesse MacFadyen
8e12d550a1 [wp] plugin must be autoloaded for AutoHideSplashScreen preference to work 2014-05-29 17:40:38 -07:00
ldeluca
829dbcc819 CB-6773cordova-plugin-splashscreen documentation translation: cordova-plugin-splashscreen 2014-05-28 13:15:40 -04:00
ldeluca
ae7daf48e3 Merge branch 'master' of ssh://github.com/ldeluca/cordova-plugin-splashscreen into CB-6773cordova-plugin-splashscreen 2014-05-28 13:07:18 -04:00
ldeluca
4fda49b771 documentation translation: cordova-plugin-splashscreen 2014-05-28 12:48:19 -04:00
ldeluca
2c68427a8a Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-05-28 12:48:19 -04:00
ldeluca
0498d90517 Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-05-28 12:48:19 -04:00
ldeluca
5c245c2bc8 Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-05-28 12:48:19 -04:00
ldeluca
ec5bbc51e7 Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-05-28 12:48:19 -04:00
ldeluca
1c350a061f documentation translation: cordova-plugin-splashscreen 2014-05-27 21:37:03 -04:00
ldeluca
7d78efed0d Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-05-27 21:22:38 -04:00
ldeluca
51e054a1ea Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-05-27 17:50:00 -04:00
ldeluca
39827ec753 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen 2014-05-05 10:03:17 -04:00
Jesse MacFadyen
71dc86786b Merge branch 'master' of https://github.com/sgrebnov/cordova-plugin-splashscreen 2014-04-30 16:12:36 -07:00
Marcel Kinard
0a82a8ef2d CB-6491 add CONTRIBUTING.md 2014-04-30 09:34:37 -04:00
Ian Clelland
83a6c41132 Merge branch 'dev' into master
Further development should take place on master
2014-04-25 11:25:13 -04:00
Ian Clelland
0838b1d3a7 Merge tag 'r0.3.0'
Conflicts:
	src/tizen/SplashScreenProxy.js
2014-04-23 14:48:48 -04:00
Sergey Grebnov
bcbb574d05 CB-6483 Use splash screen image from manifest on Windows8 2014-04-21 16:57:49 -07:00
Ian Clelland
f82ff290a9 CB-6452 Incremented plugin version on dev branch. 2014-04-17 11:16:03 -04:00
Ian Clelland
8052d3804d CB-6452 Updated version and RELEASENOTES.md for release 0.3.0 2014-04-17 10:53:20 -04:00
Ian Clelland
f46aae1075 CB-6465: Add license headers to Tizen code 2014-04-17 09:50:57 -04:00
Ian Clelland
23cbf34bae CB-6460: Update license headers 2014-04-16 16:22:15 -04:00
Jesse MacFadyen
1e54cacac1 CB-6422 [windows8] use cordova/exec/proxy 2014-04-08 16:35:42 -07:00
Shazron Abdullah
e3e3996766 CB-4051 - Re-fix - Splashscreen rotation problem (closes #13) 2014-03-19 18:28:52 -07:00
Andrew Grieve
a10d8f8ca0 Add NOTICE file 2014-02-27 15:36:31 -05:00
ldeluca
fca4e5c351 Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-02-27 11:15:13 -05:00
ldeluca
0595d4d779 Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen 2014-02-26 09:36:31 -05:00
Steven Gill
6bc271b059 CB-5980 Incremented plugin version on dev branch. 2014-02-05 18:13:30 -08:00
Steven Gill
3d553eb51a Merge branch 'dev' 2014-02-05 18:12:13 -08:00
Steven Gill
91234e2d59 CB-5980 Updated version and RELEASENOTES.md for release 0.2.7 2014-02-05 17:53:59 -08:00
Anis Kadri
61a7a6d3df Merge branch 'tizen' of http://github.com/siovene/cordova-plugin-splashscreen into dev 2014-01-27 17:33:40 -08:00
Anis Kadri
6cb0a8cf0c Revert "Merge branch 'tizen' of http://github.com/siovene/cordova-plugin-splashscreen"
This reverts commit 4da6ca883c, reversing
changes made to 3c2813f505.
2014-01-27 17:32:09 -08:00
Anis Kadri
4da6ca883c Merge branch 'tizen' of http://github.com/siovene/cordova-plugin-splashscreen 2014-01-27 17:00:15 -08:00
Michael Hanselmann
75327c88e4 [CB-3562] Fix aspect ratio on landscape-only iPhone applications
The splash screen is shown with a faulty aspect ratio for landscape-only
applications on iPhone/iPod touch devices. This is fixed by applying
a 90° rotational transformation.

Signed-off-by: Michael Hanselmann <public@hansmi.ch>
2014-01-15 16:33:32 -08:00
Andrew Grieve
fe288ec3c3 Delete stale test/ directory 2014-01-08 21:14:02 -05:00
Sean Bollin
424e82cde4 CB-4051 fix for splashscreen rotation problem 2014-01-07 14:35:25 -08:00
Andrew Grieve
1560fc86f8 CB-5719 Incremented plugin version on dev branch. 2014-01-02 12:30:52 -05:00
Andrew Grieve
3c2813f505 CB-5719 Updated version and RELEASENOTES.md for release 0.2.6 2014-01-02 12:24:02 -05:00
Andrew Grieve
7c520181c3 CB-5658 Update license comment formatting of doc/index.md 2013-12-18 21:11:03 -05:00
Andrew Grieve
a5d40d0a95 CB-5658 Add doc.index.md for Splashscreen plugin 2013-12-18 20:59:29 -05:00
Andrew Grieve
c2d22c0671 CB-5658 Delete stale snapshot of plugin docs 2013-12-17 20:49:39 -05:00
Nathan Peles
d799eda020 Handle error when splash image is missing.
From pull request:
https://github.com/apache/cordova-plugin-splashscreen/pull/1
2013-12-06 14:38:28 -05:00
Steven Gill
9541c1eb37 [CB-5565] Incremented plugin version on dev branch. 2013-12-04 15:32:04 -08:00
Gabriel Schulhof
8dc057b796 Proxy: Correct structure, and only ever create one splashscreen window. 2013-11-19 14:01:56 +02:00
Gabriel Schulhof
8aa0b24481 plugin.xml: Make sure splashscreen proxy is executed. 2013-11-19 14:01:13 +02:00
Salvatore Iovene
9f3b52f4b9 Fix path of Tizen's SplashScreenProxy file. 2013-11-19 13:11:59 +02:00
Salvatore Iovene
cf7c35d399 Fix syntax errors. 2013-11-19 13:11:32 +02:00
Salvatore Iovene
c368b63f0a Fix typo. 2013-11-19 13:04:30 +02:00
Salvatore Iovene
3a1810baa5 Native Tizen implementation of SplashScreen API. 2013-11-19 12:55:35 +02:00
Salvatore Iovene
9ebd08f69b Add tentative Tizen implementation. 2013-11-19 12:43:12 +02:00
69 changed files with 5671 additions and 1041 deletions

9
.gitignore vendored
View File

@@ -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
@@ -20,4 +20,9 @@ Thumbs.db
node_modules
/tests/ios/CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj/xcuserdata/
/tests/ios/CDVSplashScreenTest.xcworkspace/xcuserdata/

37
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,37 @@
<!--
#
# 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.
#
-->
# Contributing to Apache Cordova
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/).
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.
- Run the tests so your patch doesn't break existing functionality.
We look forward to your contributions!

5
NOTICE Normal file
View File

@@ -0,0 +1,5 @@
Apache Cordova
Copyright 2012 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

171
README.md
View File

@@ -1,18 +1,169 @@
cordova-plugin-splashscreen
----------------------------
<!--
# 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.
-->
For Android,
# cordova-plugin-splashscreen
In your config.xml, you need to add the following preference
This plugin displays and hides a splash screen during application launch.
`<preference name="splashscreen" value="foo" />`
:warning: Report issues on the [Apache Cordova issue tracker](https://issues.apache.org/jira/issues/?jql=project%20%3D%20CB%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29%20AND%20resolution%20%3D%20Unresolved%20AND%20component%20%3D%20%22Plugin%20Splashscreen%22%20ORDER%20BY%20priority%20DESC%2C%20summary%20ASC%2C%20updatedDate%20DESC)
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.
## Installation
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.
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
`super.loadUrl(Config.getStartUrl(), 10000);`
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
To install this plugin, follow the [Command-line Interface Guide](http://cordova.apache.org/docs/en/edge/guide_cli_index.md.html#The%20Command-line%20Interface).
## Supported Platforms
If you are not using the Cordova Command-line Interface, follow [Using Plugman to Manage Plugins](http://cordova.apache.org/docs/en/edge/plugin_ref_plugman.md.html).
- Amazon Fire OS
- Android
- BlackBerry 10
- iOS
- Windows Phone 7 and 8
- Windows 8
- Windows
- Browser
## Preferences
#### config.xml
- __SplashScreen__ (string). The resource name which is used for the displaying splash screen. Different platforms use values for this.
<preference name="SplashScreen" value="resourcename" />
- __AutoHideSplashScreen__ (boolean, default to `true`). Indicates wherether hide splash screen automatically or not. Splash screen hidden after amount of time specified in the `SplashScreenDelay` preference.
<preference name="AutoHideSplashScreen" value="true" />
- __SplashScreenDelay__ (number, default to 3000). Amount of time in milliseconds to wait before automatically hide splash screen.
<preference name="SplashScreenDelay" value="3000" />
### Android Quirks
In your `config.xml`, you need to add the following preferences:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="3000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
<preference name="SplashShowOnlyFirstTime" value="true|false" />
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. The second parameter represents how long the splashscreen will appear in milliseconds. It defaults to 3000 ms. See [Icons and Splash Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)
for more information.
"SplashMaintainAspectRatio" preference is optional. If set to true, splash screen drawable is not stretched to fit screen, but instead simply "covers" the screen, like CSS "background-size:cover". This is very useful when splash screen images cannot be distorted in any way, for example when they contain scenery or text. This setting works best with images that have large margins (safe areas) that can be safely cropped on screens with different aspect ratios.
The plugin reloads splash drawable whenever orientation changes, so you can specify different drawables for portrait and landscape orientations.
"SplashShowOnlyFirstTime" preference is also optional and defaults to `true`. When set to `true` splash screen will only appear on application launch. However, if you plan to use `navigator.app.exitApp()` to close application and force splash screen appear on next launch, you should set this property to `false` (this also applies to closing the App with Back button).
### Browser Quirks
You can use the following preferences in your `config.xml`:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="3000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### Android and iOS Quirks
- `FadeSplashScreen` (boolean, defaults to `true`): Set to `false` to
prevent the splash screen from fading in and out when its display
state changes.
<preference name="FadeSplashScreen" value="false"/>
- `FadeSplashScreenDuration` (float, defaults to `3000`): Specifies the
number of milliseconds for the splash screen fade effect to execute.
<preference name="FadeSplashScreenDuration" value="3000"/>
Note also that this value used to be seconds, and not milliseconds, so values less than 30 will still be treated as seconds. ( Consider this a deprecated patch that will disapear in some future version. )
_Note_: `FadeSplashScreenDuration` is included into `SplashScreenDelay`, for example if you have `<preference name="SplashScreenDelay" value="3000" />` and `<preference name="FadeSplashScreenDuration" value="1000"/>` defined in `config.xml`:
- 00:00 - splashscreen is shown
- 00:02 - fading has started
- 00:03 - splashscreen is hidden
Turning the fading off via `<preference name="FadeSplashScreen" value="false"/>` technically means fading duration to be `0` so that in this example the overall splash delay will still be 3 seconds.
_Note_: This only applies to the app startup - you need to take the fading timeout into account when manually showing/hiding the splashscreen in the code:
```javascript
navigator.splashscreen.show();
window.setTimeout(function () {
navigator.splashscreen.hide();
}, splashDuration - fadeDuration);
```
- `ShowSplashScreenSpinner` (boolean, defaults to `true`): Set to `false`
to hide the splash-screen spinner.
<preference name="ShowSplashScreenSpinner" value="false"/>
## Methods
- splashscreen.show
- splashscreen.hide
## 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.

View File

@@ -20,24 +20,151 @@
-->
# 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.
### 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
### 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.
### 3.1.0 (Jan 15, 2016)
* CB-9538 Implementing `FadeSplashScreen` feature for **Android**
* CB-9240 Cordova splash screen plugin **iPad** landscape mode issue
* CB-10263 Fix splashscreen plugin filenames for Asset Catalog
* CB-9374 **Android** add `SplashShowOnlyFirstTime` as preference
* CB-10244 Don't rotate the **iPhone 6 Plus** splash
* CB-9043 Fix the **ios** splashscreen being deformed on orientation change
* CB-10079 Splashscreen plugin does not honor `SplashScreenDelay` on **iOS**
* CB-10231 Fix `FadeSplashScreen` to default to true on **iOS**
### 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.
### 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
* 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
* Lisa testing pulling in plugins for plugin: cordova-plugin-splashscreen
* [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](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 - Remove splashscreen config.xml values from iOS Configuration Docs, move to plugin docs
* [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.

119
doc/de/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Dieses Plugin zeigt und verbirgt einen Splash-Screen beim Start der Anwendung.
## Installation
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Unterstützte Plattformen
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 und 8
* Windows 8
* Windows
* Browser
## Methoden
* SplashScreen.Show
* SplashScreen.Hide
### Android Eigenarten
Sie müssen in Ihrem `"config.xml"`fügen Sie die folgenden Einstellungen:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
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. Der zweite Parameter stellt dar, wie lange das Splashscreen in Millisekunden angezeigt werden. Es wird standardmäßig auf 3000 ms. Weitere Informationen finden Sie unter [Symbole und Splash-Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
"SplashMaintainAspectRatio" Präferenz ist optional. Wenn wahr, Splash-Screen zeichenbaren nicht gestreckt wird, um den Bildschirm passen, sondern stattdessen einfach "" den Bildschirm, wie CSS abdeckt "Hintergrund-Größe: Schutz vor". Dies ist sehr nützlich, wenn Splash-Bildschirm Bilder können nicht, in keiner Weise, zum Beispiel verzerrt werden wenn sie Landschaft oder Text enthalten. Diese Einstellung funktioniert am besten mit Bildern, die große Margen (sichere Bereiche) haben, die sicher auf Bildschirme mit unterschiedlichen Seitenverhältnissen zugeschnitten werden können.
Das Plugin lädt platsch zeichenbaren wenn Ausrichtung ändert, sodass Sie verschiedene Drawables für hoch- und Querformat Ausrichtungen angeben können.
### Browser-Eigenheiten
In Ihrem `"config.xml"`können Sie die folgenden Einstellungen:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS Macken
* `FadeSplashScreen` (Boolean, standardmäßig auf `true festgelegt`): um zu verhindern, dass den Begrüßungsbildschirm ein-und ausblenden bei ihrer Anzeige Statusänderungen auf `false` festgelegt.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, Standardwert ist `2`): gibt die Anzahl der Sekunden für den Begrüßungsbildschirm fade Effekt ausgeführt.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (Boolean, standardmäßig auf `true festgelegt`): auf `false` festgelegt wird, um den Begrüßungsbildschirm Spinner auszublenden.
<preference name="ShowSplashScreenSpinner" value="false"/>
## SplashScreen.Hide
Schließen Sie den Splash-Screen.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Eigenarten
Die Datei `config.xml` `AutoHideSplashScreen` Einstellung muss `false` sein. Verstecken des Begrüßungsbildschirms 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 `navigator.splashscreen.show()` aufrufen, bis die app begonnen 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 der Datei `config.xml` werden automatisch die Splash `show` sofort nach Ihrer app-Start und Bildschirm bevor es voll begonnen hat, und das `deviceready`-Ereignis empfangen. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html). Aus diesem Grund ist es unwahrscheinlich, dass Sie `navigator.splashscreen.show()` damit den Splash-Screen sichtbar ist für app-Start aufrufen müssen.

78
doc/de/index.md Normal file
View File

@@ -0,0 +1,78 @@
<!---
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.
-->
# cordova-plugin-splashscreen
Dieses Plugin zeigt und verbirgt einen Splash-Screen beim Start der Anwendung.
## Installation
cordova plugin add cordova-plugin-splashscreen
## Unterstützte Plattformen
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 und 8
* Windows 8
## Methoden
* SplashScreen.Show
* SplashScreen.Hide
### Android Eigenarten
Sie müssen in der config.xml folgende Einstellungen vornehmen:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
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. Der zweite Parameter stellt dar, wie lange das Splashscreen in Millisekunden angezeigt werden. Es wird standardmäßig auf 3000 ms. Weitere Informationen finden Sie unter [Symbole und Splash-Screens][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## SplashScreen.Hide
Schließen Sie den Splash-Screen.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Eigenarten
Die Datei `config.xml` `AutoHideSplashScreen` Einstellung muss `false` sein. Verstecken des Begrüßungsbildschirms 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 `navigator.splashscreen.show()` aufrufen, bis die app begonnen 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 der Datei `config.xml` werden automatisch die Splash `show` sofort nach Ihrer app-Start und Bildschirm bevor es voll begonnen hat, und das `deviceready`-Ereignis empfangen. Weitere Informationen zu dieser Konfiguration finden Sie unter [Symbole und Splash-Screens][1]. Aus diesem Grund ist es unwahrscheinlich, dass Sie `navigator.splashscreen.show()` damit den Splash-Screen sichtbar ist für app-Start aufrufen müssen.

119
doc/es/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Este plugin muestra y esconde una pantalla de bienvenida durante el inicio de la aplicación.
## Instalación
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Plataformas soportadas
* Amazon fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 y 8
* Windows 8
* Windows
* Explorador
## Métodos
* splashscreen.show
* splashscreen.hide
### Rarezas Android
En el `archivo config.xml`, es necesario agregar las siguientes preferencias:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
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. El segundo parámetro representa cuánto aparecerán el splashscreen en milisegundos. Valor predeterminado es ms 3000. Ver [los iconos y salpicadura pantallas](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) para obtener más información.
Preferencia "SplashMaintainAspectRatio" es opcional. Si establece en true, pantalla dibujable no es estirado para caber la pantalla, pero en su lugar simplemente "cover" la pantalla, como CSS "background-size: cover". Esto es muy útil cuando las imágenes de pantallas splash no distorsionadas de cualquier manera, por ejemplo cuando contienen texto o paisaje. Esta opción funciona mejor con imágenes que tienen bordes grandes (zonas seguras) que pueden ser recortadas con seguridad en pantallas con diferentes relaciones de aspecto.
El plugin recarga splash dibujable cuando cambia de orientación, por lo que puede especificar diferente dibujo para orientaciones vertical y horizontal.
### Navegador rarezas
Puede utilizar las siguientes preferencias en el `archivo config.xml`:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS rarezas
* `FadeSplashScreen` (booleano, por defecto `true`): establecida en `false` para evitar que la pantalla de bienvenida de descolorarse adentro y hacia fuera cuando cambia su estado de presentación.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, por defecto es `2`): especifica el número de segundos para que la pantalla se descolora efecto para ejecutar.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (booleano, por defecto `true`): establecida en `false` para ocultar la ruleta de la pantalla de bienvenida.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
Despedir a la pantalla de bienvenida.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, 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](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) 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.

76
doc/es/index.md Normal file
View File

@@ -0,0 +1,76 @@
<!---
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.
-->
# cordova-plugin-splashscreen
Este plugin muestra y esconde una pantalla de bienvenida durante el inicio de la aplicación.
## Instalación
cordova plugin add cordova-plugin-splashscreen
## Plataformas soportadas
* Amazon fire 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 las siguientes preferencias:
< nombre de preferencia = "SplashScreen" value = "foo" / >< nombre de preferencia = "SplashScreenDelay" value = "10000" / >
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. El segundo parámetro representa cuánto aparecerán el splashscreen en milisegundos. Valor predeterminado es ms 3000. Ver [los iconos y salpicadura pantallas][1] para obtener más información.
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.hide
Despedir a la pantalla de bienvenida.
Navigator.SplashScreen.Hide();
### BlackBerry 10, WP8, 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.

119
doc/fr/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Ce plugin affiche et masque un écran de démarrage lors du lancement de l'application.
## Installation
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Plates-formes supportées
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 et 8
* Windows 8
* Windows
* Navigateur
## Méthodes
* splashscreen.Show
* splashscreen.Hide
### Quirks Android
Dans votre `fichier config.xml`, vous devez ajouter les préférences suivantes :
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Où foo est le nom du fichier splashscreen, préférablement un fichier de 9 correctif. Assurez-vous d'ajouter vos fichiers splashcreen dans votre répertoire res/xml dans les dossiers appropriés. Le deuxième paramètre représente combien de temps le splashscreen apparaîtra en millisecondes. Il est par défaut à 3000 ms. Pour plus d'informations, consultez [icônes et écrans de démarrage](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
Préférence de « SplashMaintainAspectRatio » est facultative. Si défini à true, écran de démarrage drawable n'est pas étirée pour s'adapter écran, mais plutôt simplement « couvre » l'écran, comme CSS "fond-taille : couverture". Ceci est très utile lorsque images écran de démarrage ne peut pas être déformées en quelque sorte, par exemple lorsqu'ils contiennent des décors ou texte. Ce paramètre fonctionne mieux avec des images qui ont des marges importantes (zones de sécurité) qui peuvent être recadrées en toute sécurité sur les écrans avec des proportions différentes.
Le plugin recharge splash drawable chaque fois que l'orientation change, donc vous pouvez spécifier différents drawables pour les orientations portrait et paysage.
### Bizarreries navigateur
Vous pouvez utiliser les préférences suivantes dans votre `fichier config.xml`:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### Notes au sujet d'iOS
* `FadeSplashScreen` (boolean, par défaut est `true`): la valeur `false` pour empêcher l'écran de démarrage de fading in et out lorsque son état d'affichage est modifié.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, la valeur par défaut `2`): spécifie le nombre de secondes que l'écran de démarrage s'estomper l'effet d'exécuter.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (boolean, par défaut est `true`): la valeur `false` pour masquer le cône de l'écran de démarrage.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.Hide
Faire disparaître de l'écran de démarrage.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
Paramètre `AutoHideSplashScreen` du fichier `config.xml` doit avoir la valeur `false`. Pour retarder la cacher l'écran de démarrage pendant deux secondes, ajouter un minuteur semblable à la suivante 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 l'événement `deviceready` est 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 dans le fichier `config.xml` automatiquement `show` le splash projettera immédiatement après votre lancement de l'app et avant qu'il a complètement démarré et a reçu l'événement `deviceready`. Voir les [icônes et les écrans de démarrage](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) 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.

78
doc/fr/index.md Normal file
View File

@@ -0,0 +1,78 @@
<!---
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.
-->
# cordova-plugin-splashscreen
Ce plugin affiche et masque un écran de démarrage lors du lancement de l'application.
## Installation
cordova plugin add cordova-plugin-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 les préférences suivantes :
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Où foo est le nom du fichier splashscreen, préférablement un fichier de 9 correctif. Assurez-vous d'ajouter vos fichiers splashcreen dans votre répertoire res/xml dans les dossiers appropriés. Le deuxième paramètre représente combien de temps le splashscreen apparaîtra en millisecondes. Il est par défaut à 3000 ms. Pour plus d'informations, consultez [icônes et écrans de démarrage][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.Hide
Faire disparaître de l'écran de démarrage.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
Paramètre `AutoHideSplashScreen` du fichier `config.xml` doit avoir la valeur `false`. Pour retarder la cacher l'écran de démarrage pendant deux secondes, ajouter un minuteur semblable à la suivante 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 l'événement `deviceready` est 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 dans le fichier `config.xml` automatiquement `show` le splash projettera immédiatement après votre lancement de l'app et avant qu'il a complètement démarré et a reçu l'événement `deviceready`. 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.

119
doc/it/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Questo plugin Visualizza e nasconde una schermata iniziale durante l'avvio dell'applicazione.
## Installazione
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Piattaforme supportate
* Amazon fuoco OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 e 8
* Windows 8
* Windows
* Browser
## Metodi
* splashscreen
* splashscreen.Hide
### Stranezze Android
Nel vostro `config. XML`, è necessario aggiungere le seguenti preferenze:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Dove foo è il nome del file splashscreen, preferibilmente un file 9 patch. Assicurati di aggiungere i tuoi file splashcreen res/xml nella directory sotto cartelle appropriate. Il secondo parametro rappresenta quanto tempo lo splashscreen apparirà in millisecondi. Il valore predefinito è 3000 ms. Per ulteriori informazioni, vedere [icone e schermate iniziali](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
"SplashMaintainAspectRatio" preferenza è facoltativo. Se impostato su true, schermata iniziale drawable non viene adattata per misura lo schermo, ma invece semplicemente "copre" lo schermo, come CSS "sfondo-dimensione: copertina". Questo è molto utile quando immagini schermata iniziale non possono essere distorta in qualche modo, per esempio quando contengono testo o scenario. Questa impostazione funziona meglio con immagini che hanno grandi margini (zone sicure) che possono essere ritagliati in modo sicuro su schermi con proporzioni diverse.
Il plugin viene ricaricata splash drawable ogni volta che cambia orientamento, è possibile specificare diversi parte per orientamento verticale e orizzontale.
### Stranezze browser
Nel vostro `config. XML`, è possibile utilizzare le seguenti preferenze:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS stranezze
* `FadeSplashScreen` (boolean, impostazioni predefinite a `true`): impostare su `false` per impedire che la schermata iniziale e scompaiono quando cambia il relativo stato di visualizzazione.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, il valore predefinito è `2`): specifica il numero di secondi per la schermata iniziale dissolvenza effetto da eseguire.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (boolean, impostazioni predefinite a `true`): impostare su `false` per nascondere la filatrice schermata iniziale.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.Hide
Respingere la schermata iniziale.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
Impostazione `AutoHideSplashScreen` del file `config.xml` deve essere `false`. Per ritardare nascondendo la schermata iniziale per due secondi, aggiungere un timer ad esempio nel gestore eventi `deviceready`:
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 l'app ha iniziato e ha generato l'evento `deviceready`. 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 nel `file config.xml` sarà automaticamente `show` il tonfo schermo subito dopo il lancio dell'app e prima che completamente ha iniziato e ha ricevuto l'evento `deviceready`. Per ulteriori informazioni su facendo questa configurazione, vedere [icone e schermate iniziali](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html). Per questo motivo, è improbabile che dovete chiamare `navigator.splashscreen.show()` per rendere la schermata visibile per avvio di app.

78
doc/it/index.md Normal file
View File

@@ -0,0 +1,78 @@
<!---
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.
-->
# cordova-plugin-splashscreen
Questo plugin Visualizza e nasconde una schermata iniziale durante l'avvio dell'applicazione.
## Installazione
cordova plugin add cordova-plugin-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 le seguenti preferenze:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Dove foo è il nome del file splashscreen, preferibilmente un file 9 patch. Assicurati di aggiungere i tuoi file splashcreen res/xml nella directory sotto cartelle appropriate. Il secondo parametro rappresenta quanto tempo lo splashscreen apparirà in millisecondi. Il valore predefinito è 3000 ms. Per ulteriori informazioni, vedere [icone e schermate iniziali][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.Hide
Respingere la schermata iniziale.
navigator.splashscreen.hide();
### BlackBerry 10, WP8, iOS Quirk
Impostazione `AutoHideSplashScreen` del file `config.xml` deve essere `false`. Per ritardare nascondendo la schermata iniziale per due secondi, aggiungere un timer ad esempio nel gestore eventi `deviceready`:
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 l'app ha iniziato e ha generato l'evento `deviceready`. 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 nel `file config.xml` sarà automaticamente `show` il tonfo schermo subito dopo il lancio dell'app e prima che completamente ha iniziato e ha ricevuto l'evento `deviceready`. 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.

119
doc/ja/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
このプラグインが表示され、アプリケーションの起動中にスプラッシュ スクリーンを非表示にします。
## インストール
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## サポートされているプラットフォーム
* アマゾン火 OS
* アンドロイド
* ブラックベリー 10
* iOS
* Windows Phone 7 と 8
* Windows 8
* Windows
* ブラウザー
## メソッド
* splashscreen.show
* splashscreen.hide
### Android の癖
あなたの`config.xml`内の次の設定を追加する必要があります。
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Foo ができれば 9 パッチファイル splashscreen ファイルの名前です。 解像度/xml ディレクトリの適切なフォルダーの下に splashcreen ファイルを追加することを確認します。 2 番目のパラメーターは、スプラッシュ ・ スクリーンがの表示時間 (ミリ秒単位) を表します。 デフォルトでは 3000 ミリ秒です。 詳細については、[アイコンとスプラッシュ画面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) を参照してください。
"SplashMaintainAspectRatio"の設定はオプションです。 True の場合、スプラッシュ画面描画に設定画面を埋めるために拡大されませんが、代わりに単に「カバー」画面では、CSS のような場合「背景-サイズ: カバー」. これは、たとえば風景またはテキストが含まれている場合、任意の方法でスプラッシュ画面画像が歪むことができない非常に便利です。 この設定は、画面と異なる縦横比で安全にトリミングすることができます大規模なマージン (安全な地域) の画像に適しています。
縦長と横長の異なるドロウアブルを指定できるように、プラグインは向きを変更するたびにスプラッシュ ドロウアブルをリロードします。
### ブラウザーの癖
あなたの`config.xml`で次の設定を使用できます。
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS の癖
* `FadeSplashScreen`(ブール値、既定で [ `true`): スプラッシュ画面がフェードインとフェードアウトの表示状態が変更されたときすることを防ぐために`false`に設定します。
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration`(float, デフォルトは`2`): スプラッシュ画面の秒数のフェードを実行する効果を指定します。
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner`(ブール値、既定で [ `true`): スプラッシュ スクリーン スピナーを非表示にするを`false`に設定します。
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
スプラッシュ スクリーンを閉じます。
navigator.splashscreen.hide();
### ブラックベリー 10、WP8、iOS の気まぐれ
`config.xml` ファイルの `AutoHideSplashScreen` の設定は `false` である必要があります。 遅延を 2 秒間スプラッシュ スクリーンを非表示に `deviceready` イベント ハンドラーで、次のようタイマーを追加します。
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
スプラッシュ画面が表示されます。
navigator.splashscreen.show();
アプリが開始され、`deviceready` イベントが発生するまで、アプリケーションは `navigator.splashscreen.show()` を呼び出すことはできません。 しかし、以来、通常スプラッシュ画面アプリ開始前に表示するものですと思われる、スプラッシュ スクリーンの目的の敗北します。 `config.xml` にいくつかの構成を提供するは自動的に `表示` スプラッシュ画面、アプリを起動後すぐに、それが完全に起動し、`deviceready` イベントを受信する前に。 詳細についてはこの構成を行うには、[アイコンとスプラッシュ画面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) を参照してください。 この理由のためにアプリ起動時のスプラッシュ スクリーンを確認 `navigator.splashscreen.show()` をコールする必要がある可能性が高いです。

78
doc/ja/index.md Normal file
View File

@@ -0,0 +1,78 @@
<!---
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.
-->
# cordova-plugin-splashscreen
このプラグインが表示され、アプリケーションの起動中にスプラッシュ スクリーンを非表示にします。
## インストール
cordova plugin add cordova-plugin-splashscreen
## サポートされているプラットフォーム
* アマゾン火 OS
* アンドロイド
* ブラックベリー 10
* iOS
* Windows Phone 7 と 8
* Windows 8
## メソッド
* splashscreen.show
* splashscreen.hide
### Android の癖
あなたの config.xml を以下の設定を追加する必要があります。
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Foo ができれば 9 パッチファイル splashscreen ファイルの名前です。 解像度/xml ディレクトリの適切なフォルダーの下に splashcreen ファイルを追加することを確認します。 2 番目のパラメーターは、スプラッシュ ・ スクリーンがの表示時間 (ミリ秒単位) を表します。 デフォルトでは 3000 ミリ秒です。 詳細については、[アイコンとスプラッシュ画面][1] を参照してください。
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.hide
スプラッシュ スクリーンを閉じます。
navigator.splashscreen.hide();
### ブラックベリー 10、WP8、iOS の気まぐれ
`config.xml` ファイルの `AutoHideSplashScreen` の設定は `false` である必要があります。 遅延を 2 秒間スプラッシュ スクリーンを非表示に `deviceready` イベント ハンドラーで、次のようタイマーを追加します。
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
スプラッシュ画面が表示されます。
navigator.splashscreen.show();
アプリが開始され、`deviceready` イベントが発生するまで、アプリケーションは `navigator.splashscreen.show()` を呼び出すことはできません。 しかし、以来、通常スプラッシュ画面アプリ開始前に表示するものですと思われる、スプラッシュ スクリーンの目的の敗北します。 `config.xml` にいくつかの構成を提供するは自動的に `表示` スプラッシュ画面、アプリを起動後すぐに、それが完全に起動し、`deviceready` イベントを受信する前に。 詳細についてはこの構成を行うには、[アイコンとスプラッシュ画面][1] を参照してください。 この理由のためにアプリ起動時のスプラッシュ スクリーンを確認 `navigator.splashscreen.show()` をコールする必要がある可能性が高いです。

119
doc/ko/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
이 플러그인은 표시 하 고 응용 프로그램 실행 하는 동안 시작 화면을 숨깁니다.
## 설치
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## 지원 되는 플랫폼
* 아마존 화재 운영 체제
* 안 드 로이드
* 블랙베리 10
* iOS
* Windows Phone 7과 8
* 윈도우 8
* 윈도우
* 브라우저
## 메서드
* splashscreen.show
* splashscreen.hide
### 안 드 로이드 단점
`Config.xml`에 다음 환경 설정에 추가 해야 합니다.
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
여기서 foo splashscreen 파일, 선호 9 패치 파일의 이름입니다. 적절 한 폴더 아래 res/xml 디렉토리에 splashcreen 파일을 추가 해야 합니다. 두 번째 매개 변수는 splashscreen 얼마나 밀리초 단위로 표시 됩니다 나타냅니다. 3000 ms 기본값으로 사용 됩니다. 자세한 내용은 [아이콘 및 시작 화면을](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) 참조 하십시오.
"SplashMaintainAspectRatio" 취향은 선택 사항입니다. Drawable, 시작 화면 설정 화면에 맞게 확장 되지 하지만 대신 단순히 "커버" CSS 같은 화면 "배경-크기: 덮개". 시작 화면 이미지 예: 풍경 또는 텍스트를 포함 하는 경우 어떤 식으로든에서 왜곡 될 수 없는 경우에 매우 유용 합니다. 이 설정은 큰 여백 (안전 지역) 안전 하 게 다른 종횡비와 화면에 자를 수 있는 이미지에 가장 적합 합니다.
플러그인 다시 로드 스플래시 drawable 방향이 변경 될 때마다 세로 및 가로 방향에 대 한 다른 drawables를 지정할 수 있도록 합니다.
### 브라우저 만지면
`Config.xml`에 다음 기본 설정을 사용할 수 있습니다.
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS 단점
* `FadeSplashScreen` (부울 `true`로 기본값): 시작 화면 표시 상태로 변경 될 때 밖으로 퇴색 하지 않도록 하려면 `false` 로 설정.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (부동, `2`기본값): 시작 화면에 대 한 초 페이드 효과를 실행 하는 지정 합니다.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (부울 `true`로 기본값): 스플래시 화면 회전자를 숨기려면 `false` 로 설정.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
시작 화면을 닫습니다.
navigator.splashscreen.hide();
### 블랙베리 10, WP8, iOS 특질
`config.xml` 파일의 `AutoHideSplashScreen` 설정을 `false` 여야 합니다. 2 초 동안 시작 화면을 숨기고 지연, `deviceready` 이벤트 처리기에서 다음과 같은 타이머를 추가:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
시작 화면을 표시합니다.
navigator.splashscreen.show();
응용 프로그램 시작 및 `deviceready` 이벤트는 발생 될 때까지 응용 프로그램이 `navigator.splashscreen.show()`을 호출할 수 없습니다. 하지만 그 스플래시 스크린의 목적 것 같다 일반적으로 시작 화면이 당신의 애플 리 케이 션 시작 하기 전에 표시 될 운명이 다, 이후. `config.xml에서` 몇 가지 구성을 제공 하 자동으로 스플래시 `표시` 화면 애플 리 케이 션 출시 직후와 그것은 완벽 하 게 시작 하 고 `deviceready` 이벤트를 받은 전에. 이 구성 하 고 자세한 내용은 [아이콘 및 시작 화면을](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html) 참조 하십시오. 이러한 이유로, 그것은 가능성이 시작 화면은 응용 프로그램 시작에 대 한 표시 되도록 `navigator.splashscreen.show()`를 호출 해야입니다.

78
doc/ko/index.md Normal file
View File

@@ -0,0 +1,78 @@
<!---
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.
-->
# cordova-plugin-splashscreen
이 플러그인은 표시 하 고 응용 프로그램 실행 하는 동안 시작 화면을 숨깁니다.
## 설치
cordova plugin add cordova-plugin-splashscreen
## 지원 되는 플랫폼
* 아마존 화재 운영 체제
* 안 드 로이드
* 블랙베리 10
* iOS
* Windows Phone 7과 8
* 윈도우 8
## 메서드
* splashscreen.show
* splashscreen.hide
### 안 드 로이드 단점
당신의 config.xml에 다음 환경 설정에 추가 해야 합니다.
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
여기서 foo splashscreen 파일, 선호 9 패치 파일의 이름입니다. 적절 한 폴더 아래 res/xml 디렉토리에 splashcreen 파일을 추가 해야 합니다. 두 번째 매개 변수는 splashscreen 얼마나 밀리초 단위로 표시 됩니다 나타냅니다. 3000 ms 기본값으로 사용 됩니다. 자세한 내용은 [아이콘 및 시작 화면을][1] 참조 하십시오.
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.hide
시작 화면을 닫습니다.
navigator.splashscreen.hide();
### 블랙베리 10, WP8, iOS 특질
`config.xml` 파일의 `AutoHideSplashScreen` 설정을 `false` 여야 합니다. 2 초 동안 시작 화면을 숨기고 지연, `deviceready` 이벤트 처리기에서 다음과 같은 타이머를 추가:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
시작 화면을 표시합니다.
navigator.splashscreen.show();
응용 프로그램 시작 및 `deviceready` 이벤트는 발생 될 때까지 응용 프로그램이 `navigator.splashscreen.show()`을 호출할 수 없습니다. 하지만 그 스플래시 스크린의 목적 것 같다 일반적으로 시작 화면이 당신의 애플 리 케이 션 시작 하기 전에 표시 될 운명이 다, 이후. `config.xml에서` 몇 가지 구성을 제공 하 자동으로 스플래시 `표시` 화면 애플 리 케이 션 출시 직후와 그것은 완벽 하 게 시작 하 고 `deviceready` 이벤트를 받은 전에. 이 구성 하 고 자세한 내용은 [아이콘 및 시작 화면을][1] 참조 하십시오. 이러한 이유로, 그것은 가능성이 시작 화면은 응용 프로그램 시작에 대 한 표시 되도록 `navigator.splashscreen.show()`를 호출 해야입니다.

119
doc/pl/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
Ten plugin wyświetla i ukrywa ekran powitalny podczas uruchamiania aplikacji.
## Instalacja
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## Obsługiwane platformy
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 i 8
* Windows 8
* Windows
* Przeglądarka
## Metody
* splashscreen.show
* splashscreen.Hide
### Dziwactwa Androida
W pliku `config.xml`musisz dodać następujące preferencje:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
Gdzie foo jest nazwą pliku ekranu powitalnego, najlepiej 9 łatce. Upewnij się dodać pliki splashcreen do katalogu res/xml w odpowiednich folderach. Drugi parametr reprezentuje, jak długo ekranu powitalnego pojawi się w milisekundach. Domyślnie 3000 ms. Aby uzyskać więcej informacji, zobacz [ikony i ekrany powitalne w aplikacjach](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html).
"SplashMaintainAspectRatio" preferencji jest opcjonalne. Jeśli zestaw na wartość true, ekran powitalny dolarowe nie jest rozciągnięty do ekranów, ale zamiast po prostu "obejmuje" ekranu, jak CSS "tło-rozmiar: okładka". Jest to bardzo przydatne, kiedy opryskać tęcza obrazy nie zniekształcony w jakikolwiek sposób, na przykład, gdy zawierają one dekoracje lub tekst. To ustawienie działa najlepiej z obrazów, które mają duże marginesy (bezpiecznych obszarów), które mogą być bezpiecznie przycięte na ekrany z różnych proporcji.
Plugin ładuje rozchlapać dolarowe, gdy zmienia orientację, tak można określić różnych drawables do orientacji pionowej i poziomej.
### Quirks przeglądarki
W pliku `config.xml`można użyć następujące preferencje:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### Dziwactwa iOS
* `FadeSplashScreen` (wartość logiczna, domyślnie `true`): zestaw na `false` , aby zapobiec Znikająca i odkładane po zmianie stanu wyświetlania ekranu powitalnego.
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration` (float, domyślnie `2`): określa liczbę sekund dla ekranu powitalnego zanikanie efekt do wykonać.
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner` (wartość logiczna, domyślnie `true`): zestaw na `false` , aby ukryć pokrętła ekran powitalny.
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.Hide
Odrzucić ten opryskaæ têcza.
navigator.splashscreen.hide();
### Jeżyna 10, WP8, iOS dziwactwo
Plik `config.xml` `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żna wywołać `navigator.splashscreen.show()`, aż aplikacja została uruchomiona i zdarzenie `deviceready` 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 `pliku config.xml` będzie automatycznie `show` splash na ekranie natychmiast po uruchomienie aplikacji i przed pełni rozpoczął i odebrał zdarzenie `deviceready`. Aby uzyskać więcej informacji na robienie tej konfiguracji, zobacz [ikony i ekrany powitalne w aplikacjach](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html). Z tego powodu jest mało prawdopodobne, należy zadzwonić `navigator.splashscreen.show()`, aby wyświetlić ekran powitalny dla uruchamiania aplikacji.

78
doc/pl/index.md Normal file
View File

@@ -0,0 +1,78 @@
<!---
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.
-->
# cordova-plugin-splashscreen
Ten plugin wyświetla i ukrywa ekran powitalny podczas uruchamiania aplikacji.
## Instalacja
cordova plugin add cordova-plugin-splashscreen
## Obsługiwane platformy
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 i 8
* Windows 8
## Metody
* splashscreen.show
* splashscreen.Hide
### Dziwactwa Androida
W pliku config.xml musisz dodać następujące preferencje:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
Gdzie foo jest nazwą pliku ekranu powitalnego, najlepiej 9 łatce. Upewnij się dodać pliki splashcreen do katalogu res/xml w odpowiednich folderach. Drugi parametr reprezentuje, jak długo ekranu powitalnego pojawi się w milisekundach. Domyślnie 3000 ms. Aby uzyskać więcej informacji, zobacz [ikony i ekrany powitalne w aplikacjach][1].
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.Hide
Odrzucić ten opryskaæ têcza.
navigator.splashscreen.hide();
### Jeżyna 10, WP8, iOS dziwactwo
Plik `config.xml` `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żna wywołać `navigator.splashscreen.show()`, aż aplikacja została uruchomiona i zdarzenie `deviceready` 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 `pliku config.xml` będzie automatycznie `show` splash na ekranie natychmiast po uruchomienie aplikacji i przed pełni rozpoczął i odebrał zdarzenie `deviceready`. 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.

75
doc/ru/index.md Normal file
View File

@@ -0,0 +1,75 @@
<!---
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.
-->
# cordova-plugin-splashscreen
Этот плагин отображает и скрывает экран-заставку при запуске приложения.
## Установка
cordova plugin add cordova-plugin-splashscreen
## Поддерживаемые платформы
* Amazon Fire OS
* Android
* BlackBerry 10
* iOS
* Windows Phone 7 и 8
* Windows 8
## Методы
* splashscreen.show
* splashscreen.hide
### Особенности Android
В вашем файле config.xml необходимо добавить следующие настройки:
`<preference name="SplashScreen" value="foo" />` `<preference name="SplashScreenDelay" value="10000" />`
Где foo это имя файла splashscreen, желательно 9 заплатку. Убедитесь в том добавить ваши splashcreen файлы в папку res/xml в соответствующие папки. Второй параметр представляет, как долго splashscreen появится в миллисекундах. По умолчанию он 3000 МС. Увидеть [иконки и заставки][1] для получения дополнительной информации.
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.hide
Закройте экран-заставка.
Navigator.SplashScreen.Hide();
### Особенности BlackBerry 10, WP8, 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()` для отображения экрана-заставки для запуска приложения.

119
doc/zh/README.md Normal file
View File

@@ -0,0 +1,119 @@
<!--
# 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.
-->
# cordova-plugin-splashscreen
[![Build Status](https://travis-ci.org/apache/cordova-plugin-splashscreen.svg)](https://travis-ci.org/apache/cordova-plugin-splashscreen)
這個外掛程式顯示和隱藏在應用程式啟動期間的初始螢幕。
## 安裝
// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen
// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
## 支援的平臺
* 亞馬遜火 OS
* Android 系統
* 黑莓 10
* iOS
* Windows Phone 7 和 8
* Windows 8
* Windows
* 瀏覽器
## 方法
* splashscreen.show
* splashscreen.hide
### Android 的怪癖
在你的`config.xml`,您需要添加以下優惠:
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
美孚在哪裡閃屏檔,最好是 9 修補程式檔的名稱。 請確保您的 splashcreen 檔添加到 res/xml 目錄下相應的資料夾。 第二個參數表示多久閃屏會顯示以毫秒為單位。 它將預設為 3000 毫秒。 有關更多資訊,請參見 [圖示和啟動畫面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)。
"SplashMaintainAspectRatio"首選項是可選的。 如果設置為 true可繪製的初始螢幕不會拉伸以適合螢幕但相反只是"覆蓋"螢幕,像 CSS"背景-大小: 蓋"。 這是非常有用的不能以任何方式,例如當他們包含文本或風景畸變閃屏圖像時。 此設置適用于有大利潤 (安全區),可以安全地裁剪不同長寬比與螢幕上的圖像。
該外掛程式重新載入初始可繪製只要方向發生變化,所以您可以指定不同的畫板為縱向和橫向方向。
### 瀏覽器的怪癖
你可以用你的`config.xml`下列優先選項:
<platform name="browser">
<preference name="SplashScreen" value="images/browser/splashscreen.jpg" /> <!-- defaults to "img/logo.png" -->
<preference name="SplashScreenDelay" value="10000" /> <!-- defaults to "3000" -->
<preference name="SplashScreenBackgroundColor" value="green" /> <!-- defaults to "#464646" -->
<preference name="ShowSplashScreen" value="false" /> <!-- defaults to "true" -->
<preference name="SplashScreenWidth" value="600" /> <!-- defaults to "170" -->
<preference name="SplashScreenHeight" value="300" /> <!-- defaults to "200" -->
</platform>
### iOS 的怪癖
* `FadeSplashScreen`(預設為`true`的布林值): 設置為`false` ,以防止出現閃屏衰落和退出其顯示狀態發生變化時。
<preference name="FadeSplashScreen" value="false"/>
* `FadeSplashScreenDuration`(float預設為`2`): 指定的閃屏秒數淡出效果來執行。
<preference name="FadeSplashScreenDuration" value="4"/>
* `ShowSplashScreenSpinner`(boolean, `true`的布林值): 設置為`false`來隱藏初始螢幕微調框。
<preference name="ShowSplashScreenSpinner" value="false"/>
## splashscreen.hide
解雇的閃屏。
navigator.splashscreen.hide();
### 黑莓 10WP8iOS 怪癖
`config.xml``AutoHideSplashScreen` 設置必須是 `假` 的。 若要延遲兩秒鐘隱藏的閃屏,`deviceready` 事件處理常式中添加一個計時器,如下所示:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
顯示初始螢幕。
navigator.splashscreen.show();
您的應用程式無法調用 `navigator.splashscreen.show()`,直到該應用程式已啟動,且觸發了 `deviceready` 事件。 但是,由於通常的閃屏為了是可見的在您的應用程式啟動之前,這似乎會打敗閃屏的目的。 提供一些配置在 `config.xml` 中的會自動 `show` 初始螢幕您的應用程式啟動後立即和之前它已經完全起步並收到 `deviceready` 事件。 做這種配置的詳細資訊,請參閱 [圖示和啟動畫面](http://cordova.apache.org/docs/en/edge/config_ref_images.md.html)。 出於此原因,不太可能您需要調用 `navigator.splashscreen.show()`,使初始螢幕可見為應用程式啟動。

78
doc/zh/index.md Normal file
View File

@@ -0,0 +1,78 @@
<!---
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.
-->
# cordova-plugin-splashscreen
這個外掛程式顯示和隱藏在應用程式啟動期間的初始螢幕。
## 安裝
cordova plugin add cordova-plugin-splashscreen
## 支援的平臺
* 亞馬遜火 OS
* Android 系統
* 黑莓 10
* iOS
* Windows Phone 7 和 8
* Windows 8
## 方法
* splashscreen.show
* splashscreen.hide
### Android 的怪癖
在你的 config.xml您需要添加以下優惠
<preference name="SplashScreen" value="foo" />
<preference name="SplashScreenDelay" value="10000" />
美孚在哪裡閃屏檔,最好是 9 修補程式檔的名稱。 請確保您的 splashcreen 檔添加到 res/xml 目錄下相應的資料夾。 第二個參數表示多久閃屏會顯示以毫秒為單位。 它將預設為 3000 毫秒。 有關更多資訊,請參見 [圖示和啟動畫面][1]。
[1]: http://cordova.apache.org/docs/en/edge/config_ref_images.md.html
## splashscreen.hide
解雇的閃屏。
navigator.splashscreen.hide();
### 黑莓 10WP8iOS 怪癖
`config.xml``AutoHideSplashScreen` 設置必須是 `假` 的。 若要延遲兩秒鐘隱藏的閃屏,`deviceready` 事件處理常式中添加一個計時器,如下所示:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
## splashscreen.show
顯示初始螢幕。
navigator.splashscreen.show();
您的應用程式無法調用 `navigator.splashscreen.show()`,直到該應用程式已啟動,且觸發了 `deviceready` 事件。 但是,由於通常的閃屏為了是可見的在您的應用程式啟動之前,這似乎會打敗閃屏的目的。 提供一些配置在 `config.xml` 中的會自動 `show` 初始螢幕您的應用程式啟動後立即和之前它已經完全起步並收到 `deviceready` 事件。 做這種配置的詳細資訊,請參閱 [圖示和啟動畫面][1]。 出於此原因,不太可能您需要調用 `navigator.splashscreen.show()`,使初始螢幕可見為應用程式啟動。

View File

@@ -1,53 +0,0 @@
---
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.
---
# iOS Configuration
The `config.xml` file controls an app's basic settings that apply
across each application and CordovaWebView instance. This section
details preferences that only apply to iOS builds. See The config.xml
File for information on global configuration options.
- `FadeSplashScreen` (boolean, defaults to `true`): Set to `false` to
prevent the splash screen from fading in and out when its display
state changes.
<preference name="FadeSplashScreen" value="false"/>
- `FadeSplashScreenDuration` (float, defaults to `2`): Specifies the
number of seconds for the splash screen fade effect to execute.
<preference name="FadeSplashScreenDuration" value="4"/>
- `ShowSplashScreenSpinner` (boolean, defaults to `true`): Set to `false`
to hide the splash-screen spinner.
<preference name="ShowSplashScreenSpinner" value="false"/>
- `KeyboardDisplayRequiresUserAction` (boolean, defaults to `true`):
Set to `false` to allow the keyboard to appear when calling
`focus()` on form inputs.
<preference name="KeyboardDisplayRequiresUserAction" value="false"/>
- `AutoHideSplashScreen` (boolean, defaults to `true`):
Set to `false` to control when the splashscreen is hidden through the plugin's JavaScript API.
<preference name="AutoHideSplashScreen" value="false"/>

View File

@@ -1,80 +0,0 @@
---
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.
---
hide
===============
Dismiss the splash screen.
navigator.splashscreen.hide();
Description
-----------
navigator.splashscreen.hide() dismisses the applications splash screen.
Supported Platforms
-------------------
- Android
- iOS
Quick Example
-------------
navigator.splashscreen.hide();
Full Example
------------
<!DOCTYPE html>
<html>
<head>
<title>Splashscreen Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-x.x.x.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
navigator.splashscreen.hide();
}
</script>
</head>
<body>
<h1>Example</h1>
</body>
</html>
iOS Quirk
------------
1. In your **config.xml**, you need to [modify the value](guide_project-settings_index.md.html#Project%20Settings) for **"AutoHideSplashScreen”** to false
2. Then, if you want to delay hiding the splash screen for 2 seconds, you can do this in your **deviceready** event handler:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);

View File

@@ -1,90 +0,0 @@
---
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.
---
Splashscreen
==========
> Enables developers to show/hide the application's splash screen.
Methods
-------
- show
- hide
Permissions
-----------
### Android
#### app/res/xml/config.xml
<plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
### iOS
#### config.xml
<plugin name="SplashScreen" value="CDVSplashScreen" />
Setup
-----
### Android
1. Copy your splash screen image into the res/drawable directories of your Android project. The sizes of each image should be:
- xlarge (xhdpi): at least 960 x 720
- large (hdpi): at least 640 x 480
- medium (mdpi): at least 470 x 320
- small (ldpi): at least 426 x 320
It is highly recommended that you use a [9-patch image](https://developer.android.com/tools/help/draw9patch.html) for your splash screen.
2. In the onCreate method of the class that extends DroidGap add the following two lines:
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl(Config.getStartUrl(), 10000);
The first line 'super.setIntegerProperty' sets the image to be displayed as the splashscreen. If you have named your image anything other than splash.png you will have to modify this line.
The second line is the normal 'super.loadUrl' line but it has a second parameter which is the timeout value for the splash screen. In this example the splash screen will display for 10 seconds. If you want to dismiss the splash screen once you get the "deviceready" event you should call the navigator.splashscreen.hide() method.
### iOS
1. Copy your splash screen images into the **Resources/splash** directory of your iOS project. Only add the images for the devices you want to support (iPad screen size or iPhone screen size). The sizes of each image should be:
- Default-568h@2x~iphone.png (640x1136 pixels)
- Default-Landscape@2x~ipad.png (2048x1496 pixels)
- Default-Landscape~ipad.png (1024x748 pixels)
- Default-Portrait@2x~ipad.png (1536x2008 pixels)
- Default-Portrait~ipad.png (768x1004 pixels)
- Default@2x~iphone.png (640x960 pixels)
- Default~iphone.png (320x480 pixels)
### BlackBerry10
## Quirks
The SplashScreen BlackBerry10 plugin implements hide(), but show() is not possible using the built in OS mechanism. The advantage to using this is the splash screen is displayed before WebKit boots and issupports multiple images for various device resolutions and orientations.
We also implemented the AutoHideSplashScreen config.xml value, similar to iOS.

View File

@@ -1,69 +0,0 @@
---
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.
---
show
===============
Displays the splash screen.
navigator.splashscreen.show();
Description
-----------
navigator.splashscreen.show() displays the applications splash screen.
Supported Platforms
-------------------
- Android
- iOS
Quick Example
-------------
navigator.splashscreen.show();
Full Example
------------
<!DOCTYPE html>
<html>
<head>
<title>Splashscreen Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-x.x.x.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
navigator.splashscreen.show();
}
</script>
</head>
<body>
<h1>Example</h1>
</body>
</html>

45
package.json Normal file
View File

@@ -0,0 +1,45 @@
{
"name": "cordova-plugin-splashscreen",
"version": "3.2.0",
"description": "Cordova Splashscreen Plugin",
"cordova": {
"id": "cordova-plugin-splashscreen",
"platforms": [
"android",
"amazon-fireos",
"ubuntu",
"ios",
"blackberry10",
"wp8",
"windows8",
"windows",
"tizen"
]
},
"repository": {
"type": "git",
"url": "https://github.com/apache/cordova-plugin-splashscreen"
},
"keywords": [
"cordova",
"splashscreen",
"ecosystem:cordova",
"cordova-android",
"cordova-amazon-fireos",
"cordova-ubuntu",
"cordova-ios",
"cordova-blackberry10",
"cordova-wp8",
"cordova-windows8",
"cordova-windows",
"cordova-tizen"
],
"engines": [
{
"name": "cordova-android",
"version": ">=3.6.0"
}
],
"author": "Apache Software Foundation",
"license": "Apache 2.0"
}

View File

@@ -1,8 +1,26 @@
<?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="org.apache.cordova.splashscreen"
version="0.2.5">
id="cordova-plugin-splashscreen"
version="3.2.0">
<name>Splashscreen</name>
<description>Cordova Splashscreen Plugin</description>
<license>Apache 2.0</license>
@@ -10,6 +28,9 @@
<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>
<engines>
<engine name="cordova-android" version=">=3.6.0" /><!-- Requires CordovaPlugin.preferences -->
</engines>
<js-module src="www/splashscreen.js" name="SplashScreen">
<clobbers target="navigator.splashscreen" />
@@ -19,7 +40,8 @@
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/>
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/>
<param name="onload" value="true"/>
</feature>
</config-file>
@@ -36,7 +58,7 @@
<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" />
@@ -52,9 +74,11 @@
</feature>
</config-file>
<header-file src="src/ios/CDVSplashScreen.h" />
<source-file src="src/ios/CDVSplashScreen.m" />
<header-file src="src/ios/CDVSplashScreen.h" />
<source-file src="src/ios/CDVSplashScreen.m" />
<header-file src="src/ios/CDVViewController+SplashScreen.h" />
<source-file src="src/ios/CDVViewController+SplashScreen.m" />
<framework src="CoreGraphics.framework" />
</platform>
@@ -66,35 +90,45 @@
</config-file>
</platform>
<!-- wp7 -->
<platform name="wp7">
<config-file target="config.xml" parent="/*">
<feature name="SplashScreen">
<param name="wp-package" value="SplashScreen"/>
</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" />
<source-file src="src/wp/ResolutionHelper.cs" />
</platform>
<!-- windows8 -->
<platform name="windows8">
<js-module src="www/windows8/SplashScreenProxy.js" name="SplashScreenProxy">
<js-module src="www/windows/SplashScreenProxy.js" name="SplashScreenProxy">
<merges target="" />
</js-module>
</platform>
<!-- windows -->
<platform name="windows">
<js-module src="www/windows/SplashScreenProxy.js" name="SplashScreenProxy">
<merges target="" />
</js-module>
</platform>
<!-- tizen -->
<platform name="tizen">
<js-module src="src/tizen/SplashScreenProxy.js" name="SplashScreenProxy">
<runs />
</js-module>
</platform>
<!-- browser -->
<platform name="browser">
<js-module src="src/browser/SplashScreenProxy.js" name="SplashScreenProxy">
<runs />
</js-module>
</platform>
</plugin>

View File

@@ -19,20 +19,150 @@
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.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 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;
}
}
@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
getView().setVisibility(View.INVISIBLE);
int drawableId = preferences.getInteger("SplashDrawableId", 0);
if (drawableId == 0) {
String splashResource = preferences.getString("SplashScreen", "screen");
if (splashResource != null) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getClass().getPackage().getName());
if (drawableId == 0) {
drawableId = cordova.getActivity().getResources().getIdentifier(splashResource, "drawable", cordova.getActivity().getPackageName());
}
preferences.set("SplashDrawableId", drawableId);
}
}
// 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_SPLASHSCREEN_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();
}
@Override
public void onDestroy() {
if (HAS_BUILT_IN_SPLASH_SCREEN) {
return;
}
// hide the splash screen to avoid leaking a window
this.removeSplashScreen();
// 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 +170,208 @@ 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();
} 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 = preferences.getInteger("SplashDrawableId", 0);
if (drawableId != 0) {
splashImageView.setImageDrawable(cordova.getActivity().getResources().getDrawable(drawableId));
}
}
}
}
private void removeSplashScreen() {
cordova.getActivity().runOnUiThread(new Runnable() {
public void run() {
if (splashDialog != null && splashDialog.isShowing()) {
final int fadeSplashScreenDuration = getFadeDuration();
if (fadeSplashScreenDuration > 0) {
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 && splashDialog.isShowing()) {
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 = preferences.getInteger("SplashDrawableId", 0);
final int fadeSplashScreenDuration = getFadeDuration();
final int effectiveSplashDuration = Math.max(0, splashscreenTime - fadeSplashScreenDuration);
lastHideAfterDelay = hideAfterDelay;
// 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
if ((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();
}
}
}, 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);
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;
}
}
});
}
}

View File

@@ -0,0 +1,138 @@
/*
*
* 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 splash = null; //
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 configHelper = cordova.require('cordova/confighelper');
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";
localSplashImage = document.createElement("img");
localSplashImage.src = imageSrc;
localSplashImage.style.position = "absolute";
updateImageLocation();
localSplash.appendChild(localSplashImage);
document.body.appendChild(localSplash);
}
},
hide: function () {
if(localSplash) {
window.removeEventListener("resize", onResize, false);
document.body.removeChild(localSplash);
localSplash = null;
}
}
};
/**
* 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;
imageSrc = cfg.getPreferenceValue('SplashScreen') || imageSrc;
bgColor = cfg.getPreferenceValue('SplashScreenBackgroundColor') || bgColor;
splashImageWidth = cfg.getPreferenceValue('SplashScreenWidth') || splashImageWidth;
splashImageHeight = cfg.getPreferenceValue('SplashScreenHeight') || splashImageHeight;
} catch(e) {
var msg = '[Browser][SplashScreen] Error occured on loading preferences from config.xml: ' + JSON.stringify(e);
console.error(msg);
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 splashcreen if it is enabled.
*/
(function initAndShow() {
configHelper.readConfig(function(config) {
readPreferencesFromCfg(config);
showAndHide();
}, function(err) {
console.error(err);
});
})();
module.exports = SplashScreen;
require("cordova/exec/proxy").add("SplashScreen", SplashScreen);

View File

@@ -20,6 +20,17 @@
#import <Foundation/Foundation.h>
#import <Cordova/CDVPlugin.h>
typedef struct {
BOOL iPhone;
BOOL iPad;
BOOL iPhone4;
BOOL iPhone5;
BOOL iPhone6;
BOOL iPhone6Plus;
BOOL retina;
} CDV_iOSDevice;
@interface CDVSplashScreen : CDVPlugin {
UIActivityIndicatorView* _activityView;
UIImageView* _imageView;

View File

@@ -18,14 +18,18 @@
*/
#import "CDVSplashScreen.h"
#import <Cordova/CDVViewController.h>
#import <Cordova/CDVScreenOrientationDelegate.h>
#import "CDVViewController+SplashScreen.h"
#define kSplashScreenDurationDefault 3000.0f
#define kSplashScreenDurationDefault 0.25f
@implementation CDVSplashScreen
- (void)pluginInitialize
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pageDidLoad) name:CDVPageDidLoadNotification object:self.webView];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pageDidLoad) name:CDVPageDidLoadNotification object:nil];
[self setVisible:YES];
}
@@ -65,14 +69,29 @@
* gray = UIActivityIndicatorViewStyleGray
*
*/
// Determine whether rotation should be enabled for this device
// Per iOS HIG, landscape is only supported on iPad and iPhone 6+
CDV_iOSDevice device = [self getCurrentDevice];
BOOL autorotateValue = (device.iPad || device.iPhone6Plus) ?
[(CDVViewController *)self.viewController shouldAutorotateDefaultValue] :
NO;
[(CDVViewController *)self.viewController setEnabledAutorotation:autorotateValue];
NSString* topActivityIndicator = [self.commandDelegate.settings objectForKey:[@"TopActivityIndicator" lowercaseString]];
UIActivityIndicatorViewStyle topActivityIndicatorStyle = UIActivityIndicatorViewStyleGray;
if ([topActivityIndicator isEqualToString:@"whiteLarge"]) {
if ([topActivityIndicator isEqualToString:@"whiteLarge"])
{
topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhiteLarge;
} else if ([topActivityIndicator isEqualToString:@"white"]) {
}
else if ([topActivityIndicator isEqualToString:@"white"])
{
topActivityIndicatorStyle = UIActivityIndicatorViewStyleWhite;
} else if ([topActivityIndicator isEqualToString:@"gray"]) {
}
else if ([topActivityIndicator isEqualToString:@"gray"])
{
topActivityIndicatorStyle = UIActivityIndicatorViewStyleGray;
}
@@ -90,7 +109,8 @@
id showSplashScreenSpinnerValue = [self.commandDelegate.settings objectForKey:[@"ShowSplashScreenSpinner" lowercaseString]];
// backwards compatibility - if key is missing, default to true
if ((showSplashScreenSpinnerValue == nil) || [showSplashScreenSpinnerValue boolValue]) {
if ((showSplashScreenSpinnerValue == nil) || [showSplashScreenSpinnerValue boolValue])
{
[parentView addSubview:_activityView];
}
@@ -102,8 +122,16 @@
[self updateImage];
}
- (void)hideViews
{
[_imageView setAlpha:0];
[_activityView setAlpha:0];
}
- (void)destroyViews
{
[(CDVViewController *)self.viewController setEnabledAutorotation:[(CDVViewController *)self.viewController shouldAutorotateDefaultValue]];
[_imageView removeFromSuperview];
[_activityView removeFromSuperview];
_imageView = nil;
@@ -115,47 +143,180 @@
[self.viewController.view removeObserver:self forKeyPath:@"bounds"];
}
// Sets the view's frame and image.
- (void)updateImage
- (CDV_iOSDevice) getCurrentDevice
{
UIInterfaceOrientation orientation = self.viewController.interfaceOrientation;
CDV_iOSDevice device;
UIScreen* mainScreen = [UIScreen mainScreen];
CGFloat mainScreenHeight = mainScreen.bounds.size.height;
CGFloat mainScreenWidth = mainScreen.bounds.size.width;
int limit = MAX(mainScreenHeight,mainScreenWidth);
device.iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
device.iPhone = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone);
device.retina = ([mainScreen scale] == 2.0);
device.iPhone4 = (device.iPhone && limit == 480.0);
device.iPhone5 = (device.iPhone && limit == 568.0);
// note these below is not a true device detect, for example if you are on an
// iPhone 6/6+ but the app is scaled it will prob set iPhone5 as true, but
// this is appropriate for detecting the runtime screen environment
device.iPhone6 = (device.iPhone && limit == 667.0);
device.iPhone6Plus = (device.iPhone && limit == 736.0);
return device;
}
- (NSString*)getImageName:(UIInterfaceOrientation)currentOrientation delegate:(id<CDVScreenOrientationDelegate>)orientationDelegate device:(CDV_iOSDevice)device
{
// Use UILaunchImageFile if specified in plist. Otherwise, use Default.
NSString* imageName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UILaunchImageFile"];
if (imageName) {
NSUInteger supportedOrientations = [orientationDelegate supportedInterfaceOrientations];
// Checks to see if the developer has locked the orientation to use only one of Portrait or Landscape
BOOL supportsLandscape = (supportedOrientations & UIInterfaceOrientationMaskLandscape);
BOOL supportsPortrait = (supportedOrientations & UIInterfaceOrientationMaskPortrait || supportedOrientations & UIInterfaceOrientationMaskPortraitUpsideDown);
// this means there are no mixed orientations in there
BOOL isOrientationLocked = !(supportsPortrait && supportsLandscape);
if (imageName)
{
imageName = [imageName stringByDeletingPathExtension];
} else {
}
else
{
imageName = @"Default";
}
if (CDV_IsIPhone5()) {
imageName = [imageName stringByAppendingString:@"-568h"];
} else if (CDV_IsIPad()) {
switch (orientation) {
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
imageName = [imageName stringByAppendingString:@"-Landscape"];
break;
case UIInterfaceOrientationPortrait:
case UIInterfaceOrientationPortraitUpsideDown:
default:
// Add Asset Catalog specific prefixes
if ([imageName isEqualToString:@"LaunchImage"])
{
if (device.iPhone4 || device.iPhone5 || device.iPad) {
imageName = [imageName stringByAppendingString:@"-700"];
} else if(device.iPhone6) {
imageName = [imageName stringByAppendingString:@"-800"];
} else if(device.iPhone6Plus) {
imageName = [imageName stringByAppendingString:@"-800"];
if (currentOrientation == UIInterfaceOrientationPortrait || currentOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
imageName = [imageName stringByAppendingString:@"-Portrait"];
break;
}
}
}
if (![imageName isEqualToString:_curImageName]) {
if (device.iPhone5)
{ // does not support landscape
imageName = [imageName stringByAppendingString:@"-568h"];
}
else if (device.iPhone6)
{ // does not support landscape
imageName = [imageName stringByAppendingString:@"-667h"];
}
else if (device.iPhone6Plus)
{ // supports landscape
if (isOrientationLocked)
{
imageName = [imageName stringByAppendingString:(supportsLandscape ? @"-Landscape" : @"")];
}
else
{
switch (currentOrientation)
{
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
imageName = [imageName stringByAppendingString:@"-Landscape"];
break;
default:
break;
}
}
imageName = [imageName stringByAppendingString:@"-736h"];
}
else if (device.iPad)
{ // supports landscape
if (isOrientationLocked)
{
imageName = [imageName stringByAppendingString:(supportsLandscape ? @"-Landscape" : @"-Portrait")];
}
else
{
switch (currentOrientation)
{
case UIInterfaceOrientationLandscapeLeft:
case UIInterfaceOrientationLandscapeRight:
imageName = [imageName stringByAppendingString:@"-Landscape"];
break;
case UIInterfaceOrientationPortrait:
case UIInterfaceOrientationPortraitUpsideDown:
default:
imageName = [imageName stringByAppendingString:@"-Portrait"];
break;
}
}
}
return imageName;
}
- (UIInterfaceOrientation)getCurrentOrientation
{
UIInterfaceOrientation iOrientation = [UIApplication sharedApplication].statusBarOrientation;
UIDeviceOrientation dOrientation = [UIDevice currentDevice].orientation;
bool landscape;
if (dOrientation == UIDeviceOrientationUnknown || dOrientation == UIDeviceOrientationFaceUp || dOrientation == UIDeviceOrientationFaceDown) {
// If the device is laying down, use the UIInterfaceOrientation based on the status bar.
landscape = UIInterfaceOrientationIsLandscape(iOrientation);
} else {
// If the device is not laying down, use UIDeviceOrientation.
landscape = UIDeviceOrientationIsLandscape(dOrientation);
// There's a bug in iOS!!!! http://openradar.appspot.com/7216046
// So values needs to be reversed for landscape!
if (dOrientation == UIDeviceOrientationLandscapeLeft)
{
iOrientation = UIInterfaceOrientationLandscapeRight;
}
else if (dOrientation == UIDeviceOrientationLandscapeRight)
{
iOrientation = UIInterfaceOrientationLandscapeLeft;
}
else if (dOrientation == UIDeviceOrientationPortrait)
{
iOrientation = UIInterfaceOrientationPortrait;
}
else if (dOrientation == UIDeviceOrientationPortraitUpsideDown)
{
iOrientation = UIInterfaceOrientationPortraitUpsideDown;
}
}
return iOrientation;
}
// Sets the view's frame and image.
- (void)updateImage
{
NSString* imageName = [self getImageName:[self getCurrentOrientation] delegate:(id<CDVScreenOrientationDelegate>)self.viewController device:[self getCurrentDevice]];
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) {
if (_imageView.image)
{
[self updateBounds];
} else {
}
else
{
NSLog(@"WARNING: The splashscreen image named %@ was not found", imageName);
}
}
@@ -163,69 +324,137 @@
- (void)updateBounds
{
UIImage* img = _imageView.image;
CGRect imgBounds = CGRectMake(0, 0, img.size.width, img.size.height);
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.
*/
CDV_iOSDevice device = [self getCurrentDevice];
if (UIInterfaceOrientationIsLandscape(orientation) && !device.iPhone6Plus && !device.iPad)
{
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)) {
if (CGSizeEqualToSize(screenSize, imgBounds.size))
{
CGRect statusFrame = [self.viewController.view convertRect:[UIApplication sharedApplication].statusBarFrame fromView:nil];
if (!(IsAtLeastiOSVersion(@"7.0"))) {
if (!(IsAtLeastiOSVersion(@"7.0")))
{
imgBounds.origin.y -= statusFrame.size.height;
}
} else {
}
}
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) {
if (viewAspect > imgAspect)
{
ratio = viewBounds.size.width / imgBounds.size.width;
} else {
}
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;
if (visible != _visible)
{
_visible = visible;
id fadeSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreen" lowercaseString]];
id fadeSplashScreenDuration = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreenDuration" lowercaseString]];
id fadeSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreen" lowercaseString]];
id fadeSplashScreenDuration = [self.commandDelegate.settings objectForKey:[@"FadeSplashScreenDuration" lowercaseString]];
float fadeDuration = fadeSplashScreenDuration == nil ? kSplashScreenDurationDefault : [fadeSplashScreenDuration floatValue];
float fadeDuration = fadeSplashScreenDuration == nil ? kSplashScreenDurationDefault : [fadeSplashScreenDuration floatValue];
if ((fadeSplashScreenValue == nil) || ![fadeSplashScreenValue boolValue]) {
fadeDuration = 0;
}
id splashDurationString = [self.commandDelegate.settings objectForKey: [@"SplashScreenDelay" lowercaseString]];
float splashDuration = splashDurationString == nil ? kSplashScreenDurationDefault : [splashDurationString floatValue];
// 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];
id autoHideSplashScreenValue = [self.commandDelegate.settings objectForKey:[@"AutoHideSplashScreen" lowercaseString]];
BOOL autoHideSplashScreen = true;
if (autoHideSplashScreenValue != nil) {
autoHideSplashScreen = [autoHideSplashScreenValue boolValue];
}
completion:^(BOOL finished) {
if (!autoHideSplashScreen) {
// CB-10412 SplashScreenDelay does not make sense if the splashscreen is hidden manually
splashDuration = 0;
}
if (fadeSplashScreenValue == nil)
{
fadeSplashScreenValue = @"true";
}
if (![fadeSplashScreenValue boolValue])
{
fadeDuration = 0;
}
else if (fadeDuration < 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
fadeDuration *= 1000;
}
if (_visible)
{
if (_imageView == nil)
{
[self createViews];
}
}
else if (fadeDuration == 0 && splashDuration == 0)
{
[self destroyViews];
}];
}
else
{
__weak __typeof(self) weakSelf = self;
float effectiveSplashDuration;
if (!autoHideSplashScreen) {
effectiveSplashDuration = (fadeDuration) / 1000;
} else {
effectiveSplashDuration = (splashDuration - fadeDuration) / 1000;
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (uint64_t) effectiveSplashDuration * NSEC_PER_SEC), dispatch_get_main_queue(), CFBridgingRelease(CFBridgingRetain(^(void) {
[UIView transitionWithView:self.viewController.view
duration:(fadeDuration / 1000)
options:UIViewAnimationOptionTransitionNone
animations:^(void) {
[weakSelf hideViews];
}
completion:^(BOOL finished) {
if (finished) {
[weakSelf destroyViews];
// TODO: It might also be nice to have a js event happen here -jm
}
}
];
})));
}
}
}

View File

@@ -0,0 +1,28 @@
/*
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 <Cordova/CDVViewController.h>
@interface CDVViewController (SplashScreen)
@property (nonatomic, assign) BOOL enabledAutorotation;
@property (nonatomic, readonly) BOOL shouldAutorotateDefaultValue;
@end

View File

@@ -0,0 +1,89 @@
/*
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 "CDVViewController+SplashScreen.h"
#import <objc/runtime.h>
@implementation CDVViewController (SplashScreen)
@dynamic enabledAutorotation;
- (void)setEnabledAutorotation:(BOOL)value
{
objc_setAssociatedObject(self,
@selector(enabledAutorotation),
[NSNumber numberWithBool:value],
OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (BOOL)enabledAutorotation
{
NSNumber *number = (NSNumber *)objc_getAssociatedObject(self, @selector(enabledAutorotation));
// Defaulting to YES to correspond parent CDVViewController behavior
if (number == nil)
{
return YES;
}
return [number boolValue];
}
+ (void)load
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
Class class = [self class];
SEL originalSelector = @selector(shouldAutorotate);
SEL swizzledSelector = @selector(splash_shouldAutorotate);
Method originalMethod = class_getInstanceMethod(class, originalSelector);
Method swizzledMethod = class_getInstanceMethod(class, swizzledSelector);
BOOL didAddMethod = class_addMethod(class,
originalSelector,
method_getImplementation(swizzledMethod),
method_getTypeEncoding(swizzledMethod));
if (didAddMethod) {
class_replaceMethod(class,
swizzledSelector,
method_getImplementation(originalMethod),
method_getTypeEncoding(originalMethod));
} else {
method_exchangeImplementations(originalMethod, swizzledMethod);
}
});
}
#pragma mark - Method Swizzling
- (BOOL)splash_shouldAutorotate
{
return self.enabledAutorotation;
}
- (BOOL)shouldAutorotateDefaultValue
{
return [self splash_shouldAutorotate];
}
@end

View File

@@ -0,0 +1,43 @@
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
( function() {
win = null;
module.exports = {
show: function() {
if ( win === null ) {
win = window.open('splashscreen.html');
}
},
hide: function() {
if ( win !== null ) {
win.close();
win = null;
}
}
};
require("cordova/tizen/commandProxy").add("SplashScreen", module.exports);
})();

View File

@@ -0,0 +1,39 @@
/*
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 Microsoft.Phone.Info;
using System;
using System.Windows;
namespace WPCordovaClassLib.Cordova.Commands
{
public enum Resolutions { WVGA, WXGA, HD };
public static class ResolutionHelper
{
public static Resolutions CurrentResolution
{
get
{
switch (Application.Current.Host.Content.ScaleFactor)
{
case 100: return Resolutions.WVGA;
case 160: return Resolutions.WXGA;
case 150: return Resolutions.HD;
}
throw new InvalidOperationException("Unknown resolution");
}
}
}
}

View File

@@ -1,10 +1,10 @@
/*
/*
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.
@@ -26,6 +26,11 @@ 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
{
@@ -37,33 +42,214 @@ namespace WPCordovaClassLib.Cordova.Commands
{
private Popup popup;
// Time until we dismiss the splashscreen
private int prefDelay = 3000;
// Whether we hide it by default
private bool prefAutoHide = true;
// Path to image to use
private string prefImagePath = "SplashScreenImage.jpg";
// static because autodismiss is only ever applied once, at app launch
// subsequent page loads should not cause the SplashScreen to be shown.
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;
LoadConfigPrefs();
Image SplashScreen = new Image()
{
Height = Application.Current.Host.Content.ActualHeight,
Width = Application.Current.Host.Content.ActualWidth,
Stretch = Stretch.Fill
};
var imageResource = GetSplashScreenImageResource();
if (imageResource != null)
{
BitmapImage splash_image = new BitmapImage();
splash_image.SetSource(imageResource.Stream);
SplashScreen.Source = splash_image;
}
// Instansiate the popup and set the Child property of Popup to SplashScreen
this.popup = new Popup() {IsOpen = false, Child = SplashScreen };
// Orient the popup accordingly
this.popup.HorizontalAlignment = HorizontalAlignment.Stretch;
this.popup.VerticalAlignment = VerticalAlignment.Center;
popup = new Popup() { IsOpen = false,
Child = SplashScreen,
HorizontalAlignment = HorizontalAlignment.Stretch,
VerticalAlignment = VerticalAlignment.Center
};
}
public void show(string options)
public override void OnInit()
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
// we only want to autoload on the first page load.
// but OnInit is called for every page load.
if (!SplashScreen.WasShown)
{
this.popup.IsOpen = true;
});
SplashScreen.WasShown = true;
show();
}
}
public void hide(string options)
private void LoadConfigPrefs()
{
StreamResourceInfo streamInfo = Application.GetResourceStream(new Uri("config.xml", UriKind.Relative));
if (streamInfo != null)
{
using (StreamReader sr = new StreamReader(streamInfo.Stream))
{
//This will Read Keys Collection for the xml file
XDocument configFile = XDocument.Parse(sr.ReadToEnd());
string configAutoHide = configFile.Descendants()
.Where(x => x.Name.LocalName == "preference")
.Where(x => (string)x.Attribute("name") == "AutoHideSplashScreen")
.Select(x => (string)x.Attribute("value"))
.FirstOrDefault();
bool bVal;
prefAutoHide = bool.TryParse(configAutoHide, out bVal) ? bVal : prefAutoHide;
string configDelay = configFile.Descendants()
.Where(x => x.Name.LocalName == "preference")
.Where(x => (string)x.Attribute("name") == "SplashScreenDelay")
.Select(x => (string)x.Attribute("value"))
.FirstOrDefault();
int nVal;
prefDelay = int.TryParse(configDelay, out nVal) ? nVal : prefDelay;
string configImage = configFile.Descendants()
.Where(x => x.Name.LocalName == "preference")
.Where(x => (string)x.Attribute("name") == "SplashScreen")
.Select(x => (string)x.Attribute("value"))
.FirstOrDefault();
if (!String.IsNullOrEmpty(configImage))
{
prefImagePath = configImage;
}
}
}
}
private StreamResourceInfo GetSplashScreenImageResource()
{
// Get the base filename for the splash screen images
string imageName = System.IO.Path.GetFileNameWithoutExtension(prefImagePath);
Uri imageUri = null;
StreamResourceInfo imageResource = null;
// First, try to get a resolution-specific splashscreen
try
{
// Determine the device's resolution
switch (ResolutionHelper.CurrentResolution)
{
case Resolutions.HD:
imageUri = new Uri(imageName + ".screen-720p.jpg", UriKind.Relative);
break;
case Resolutions.WVGA:
imageUri = new Uri(imageName + ".screen-WVGA.jpg", UriKind.Relative);
break;
case Resolutions.WXGA:
default:
imageUri = new Uri(imageName + ".screen-WXGA.jpg", UriKind.Relative);
break;
}
imageResource = Application.GetResourceStream(imageUri);
}
catch (Exception)
{
// It's OK if we didn't get a resolution-specific image
}
// Fallback to the default image name without decoration
if (imageResource == null)
{
imageUri = new Uri(prefImagePath, UriKind.Relative);
imageResource = Application.GetResourceStream(imageUri);
}
if (imageUri != null) Debug.WriteLine("INFO :: SplashScreen: using image {0}", imageUri.OriginalString);
return imageResource;
}
public void show(string options = null)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
this.popup.IsOpen = false;
if (!popup.IsOpen)
{
popup.Child.Opacity = 0;
Storyboard story = new Storyboard();
DoubleAnimation animation = new DoubleAnimation()
{
From = 0.0,
To = 1.0,
Duration = new Duration(TimeSpan.FromSeconds(0.2))
};
Storyboard.SetTarget(animation, popup.Child);
Storyboard.SetTargetProperty(animation, new PropertyPath("Opacity"));
story.Children.Add(animation);
story.Begin();
popup.IsOpen = true;
if (prefAutoHide)
{
StartAutoHideTimer();
}
}
});
}
public void hide(string options = null)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
if (popup.IsOpen)
{
popup.Child.Opacity = 1.0;
Storyboard story = new Storyboard();
DoubleAnimation animation = new DoubleAnimation()
{
From = 1.0,
To = 0.0,
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();
}
});
}
private void StartAutoHideTimer()
{
var timer = new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(prefDelay) };
timer.Tick += (object sender, EventArgs e) =>
{
hide();
timer.Stop();
};
timer.Start();
}
}
}

72
test/cordova-incl.js vendored
View File

@@ -1,72 +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.
*
*/
var PLAT;
if (/cordova-amazon-fireos/.exec(navigator.userAgent)) {
PLAT = 'amazon-fireos';
} else if (/Android/.exec(navigator.userAgent)) {
PLAT = 'android';
} else if (/(iPad)|(iPhone)|(iPod)/.exec(navigator.userAgent)) {
PLAT = 'ios';
} else if (/(BB10)|(PlayBook)|(BlackBerry)/.exec(navigator.userAgent)) {
PLAT = 'blackberry';
}
var scripts = document.getElementsByTagName('script');
var currentPath = scripts[scripts.length - 1].src;
var platformCordovaPath = currentPath.replace("cordova-incl.js", "cordova." + PLAT + ".js");
var normalCordovaPath = currentPath.replace("cordova-incl.js", "cordova.js");
var cordovaPath = normalCordovaPath;
if (PLAT) {
// XHR to local file is an error on some platforms, windowsphone for one
try {
var xhr = new XMLHttpRequest();
xhr.open("GET", platformCordovaPath, false);
xhr.onreadystatechange = function() {
if (this.readyState == this.DONE && this.responseText.length > 0) {
if(parseInt(this.status) >= 400){
cordovaPath = normalCordovaPath;
}else{
cordovaPath = platformCordovaPath;
}
}
};
xhr.send(null);
}
catch(e){
cordovaPath = normalCordovaPath;
} // access denied!
}
if (!window._doNotWriteCordovaScript) {
document.write('<script type="text/javascript" charset="utf-8" src="' + cordovaPath + '"></script>');
}
function backHome() {
if (window.device && device.platform && (device.platform.toLowerCase() == 'android' || device.platform.toLowerCase() == 'amazon-fireos')) {
navigator.app.backHistory();
}
else {
window.history.go(-1);
}
}

View File

@@ -1,65 +0,0 @@
<!DOCTYPE html>
<!--
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.
-->
<html>
<head>
<meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,initial-scale=1.0" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Cordova Mobile Spec</title>
<link rel="stylesheet" href="master.css" type="text/css" media="screen" title="no title" charset="utf-8">
<script type="text/javascript" charset="utf-8" src="cordova-incl.js"></script>
<script type="text/javascript" charset="utf-8" src="main.js"></script>
</head>
<body onload="init();" id="stage" class="theme">
<h1>Apache Cordova Tests</h1>
<div id="info">
<h4>Platform: <span id="platform"> </span></h4>
<h4>Version: <span id="version"> </span></h4>
<h4>UUID: <span id="uuid"> </span></h4>
<h4>Name: <span id="name"> </span></h4>
<h4>Model: <span id="model"> </span></h4>
<h4>Width: <span id="width"> </span>, Height: <span id="height">
</span>, Color Depth: <span id="colorDepth"></span></h4>
<h4>User-Agent: <span id="user-agent"> </span></h4>
</div>
<a href="autotest/index.html" class="btn large">Automatic Test</a>
<a href="accelerometer/index.html" class="btn large">Accelerometer</a>
<a href="audio/index.html" class="btn large">Audio Play/Record</a>
<a href="battery/index.html" class="btn large">Battery</a>
<a href="camera/index.html" class="btn large">Camera</a>
<a href="compass/index.html" class="btn large">Compass</a>
<a href="contacts/index.html" class="btn large">Contacts</a>
<a href="events/index.html" class="btn large">Events</a>
<a href="location/index.html" class="btn large">Location</a>
<a href="lazyloadjs/index.html" class="btn large">Lazy Loading of cordova-incl.js</a>
<a href="misc/index.html" class="btn large">Misc Content</a>
<a href="network/index.html" class="btn large">Network</a>
<a href="notification/index.html" class="btn large">Notification</a>
<a href="splashscreen/index.html" class="btn large">Splashscreen</a>
<a href="sql/index.html" class="btn large">Web SQL</a>
<a href="storage/index.html" class="btn large">Local Storage</a>
<a href="benchmarks/index.html" class="btn large">Benchmarks</a>
<a href="inappbrowser/index.html" class="btn large">In App Browser</a>
</body>
</html>

View File

@@ -1,163 +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.
*
*/
var deviceInfo = function() {
document.getElementById("platform").innerHTML = device.platform;
document.getElementById("version").innerHTML = device.version;
document.getElementById("uuid").innerHTML = device.uuid;
document.getElementById("name").innerHTML = device.name;
document.getElementById("model").innerHTML = device.model;
document.getElementById("width").innerHTML = screen.width;
document.getElementById("height").innerHTML = screen.height;
document.getElementById("colorDepth").innerHTML = screen.colorDepth;
};
var getLocation = function() {
var suc = function(p) {
alert(p.coords.latitude + " " + p.coords.longitude);
};
var locFail = function() {
};
navigator.geolocation.getCurrentPosition(suc, locFail);
};
var beep = function() {
navigator.notification.beep(2);
};
var vibrate = function() {
navigator.notification.vibrate(0);
};
function roundNumber(num) {
var dec = 3;
var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
return result;
}
var accelerationWatch = null;
function updateAcceleration(a) {
document.getElementById('x').innerHTML = roundNumber(a.x);
document.getElementById('y').innerHTML = roundNumber(a.y);
document.getElementById('z').innerHTML = roundNumber(a.z);
}
var toggleAccel = function() {
if (accelerationWatch !== null) {
navigator.accelerometer.clearWatch(accelerationWatch);
updateAcceleration({
x : "",
y : "",
z : ""
});
accelerationWatch = null;
} else {
var options = {};
options.frequency = 1000;
accelerationWatch = navigator.accelerometer.watchAcceleration(
updateAcceleration, function(ex) {
alert("accel fail (" + ex.name + ": " + ex.message + ")");
}, options);
}
};
var preventBehavior = function(e) {
e.preventDefault();
};
function dump_pic(data) {
var viewport = document.getElementById('viewport');
console.log(data);
viewport.style.display = "";
viewport.style.position = "absolute";
viewport.style.top = "10px";
viewport.style.left = "10px";
document.getElementById("test_img").src = "data:image/jpeg;base64," + data;
}
function fail(msg) {
alert(msg);
}
function show_pic() {
navigator.camera.getPicture(dump_pic, fail, {
quality : 50
});
}
function close() {
var viewport = document.getElementById('viewport');
viewport.style.position = "relative";
viewport.style.display = "none";
}
// This is just to do this.
function readFile() {
navigator.file.read('/sdcard/cordova.txt', fail, fail);
}
function writeFile() {
navigator.file.write('foo.txt', "This is a test of writing to a file",
fail, fail);
}
function contacts_success(contacts) {
alert(contacts.length
+ ' contacts returned.'
+ (contacts[2] && contacts[2].name ? (' Third contact is ' + contacts[2].name.formatted)
: ''));
}
function get_contacts() {
var obj = new ContactFindOptions();
obj.filter = "";
obj.multiple = true;
obj.limit = 5;
navigator.service.contacts.find(
[ "displayName", "name" ], contacts_success,
fail, obj);
}
var networkReachableCallback = function(reachability) {
// There is no consistency on the format of reachability
var networkState = reachability.code || reachability;
var currentState = {};
currentState[NetworkStatus.NOT_REACHABLE] = 'No network connection';
currentState[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'Carrier data connection';
currentState[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK] = 'WiFi connection';
confirm("Connection type:\n" + currentState[networkState]);
};
function check_network() {
navigator.network.isReachable("www.mobiledevelopersolutions.com",
networkReachableCallback, {});
}
function init() {
// the next line makes it impossible to see Contacts on the HTC Evo since it
// doesn't have a scroll button
// document.addEventListener("touchmove", preventBehavior, false);
document.addEventListener("deviceready", deviceInfo, true);
document.getElementById("user-agent").textContent = navigator.userAgent;
}

View File

@@ -1,164 +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.
*
*/
body {
background:#222 none repeat scroll 0 0;
color:#666;
font-family:Helvetica;
font-size:72%;
line-height:1.5em;
margin:0;
border-top:1px solid #393939;
}
#info{
background:#ffa;
border: 1px solid #ffd324;
-webkit-border-radius: 5px;
border-radius: 5px;
clear:both;
margin:15px 6px 0;
min-width:295px;
max-width:97%;
padding:4px 0px 2px 10px;
word-wrap:break-word;
margin-bottom:10px;
display:inline-block;
min-height: 160px;
max-height: 300px;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
#info > h4{
font-size:.95em;
margin:5px 0;
}
#stage.theme{
padding-top:3px;
}
/* Definition List */
#stage.theme > dl{
padding-top:10px;
clear:both;
margin:0;
list-style-type:none;
padding-left:10px;
overflow:auto;
}
#stage.theme > dl > dt{
font-weight:bold;
float:left;
margin-left:5px;
}
#stage.theme > dl > dd{
width:45px;
float:left;
color:#a87;
font-weight:bold;
}
/* Content Styling */
#stage.theme > h1, #stage.theme > h2, #stage.theme > p{
margin:1em 0 .5em 13px;
}
#stage.theme > h1{
color:#eee;
font-size:1.6em;
text-align:center;
margin:0;
margin-top:15px;
padding:0;
}
#stage.theme > h2{
clear:both;
margin:0;
padding:3px;
font-size:1em;
text-align:center;
}
/* Stage Buttons */
#stage.theme .btn{
border: 1px solid #555;
-webkit-border-radius: 5px;
border-radius: 5px;
text-align:center;
display:inline-block;
background:#444;
width:150px;
color:#9ab;
font-size:1.1em;
text-decoration:none;
padding:1.2em 0;
margin:3px 0px 3px 5px;
}
#stage.theme .large{
width:308px;
padding:1.2em 0;
}
#stage.theme .wide{
width:100%;
padding:1.2em 0;
}
#stage.theme .backBtn{
border: 1px solid #555;
-webkit-border-radius: 5px;
border-radius: 5px;
text-align:center;
display:block;
float:right;
background:#666;
width:75px;
color:#9ab;
font-size:1.1em;
text-decoration:none;
padding:1.2em 0;
margin:3px 5px 3px 5px;
}
#stage.theme .input{
border: 1px solid #555;
-webkit-border-radius: 5px;
border-radius: 5px;
text-align:center;
display:block;
float:light;
background:#888;
color:#9cd;
font-size:1.1em;
text-decoration:none;
padding:1.2em 0;
margin:3px 0px 3px 5px;
}
#stage.theme .numeric{
width:100%;
}

View File

@@ -1,48 +0,0 @@
<!DOCTYPE html>
<!--
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.
-->
<html>
<head>
<meta name="viewport" content="width=device-width,user-scalable=no,maximum-scale=1.0,initial-scale=1.0" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8"> <!-- ISO-8859-1 -->
<title>Cordova Mobile Spec</title>
<link rel="stylesheet" href="../master.css" type="text/css" media="screen" title="no title" charset="utf-8">
<script type="text/javascript" charset="utf-8" src="../cordova-incl.js"></script>
<script type="text/javascript" charset="utf-8">
function showFor(duration) {
navigator.splashscreen.show();
window.setTimeout(function() {
navigator.splashscreen.hide();
}, 1000 * duration);
}
</script>
</head>
<body id="stage" class="theme">
<h1>Splashscreen</h1>
<h2>Action</h2>
<div class="btn large" onclick="showFor(1)">Show for 1 second</div>
<div class="btn large" onclick="showFor(5)">Show for 5 seconds</div>
<h2> </h2><div class="backBtn" onclick="backHome();">Back</div>
</body>
</html>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "container:CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>6BE9AD73-1B9F-4362-98D7-DC631BEC6185</string>
<key>IDESourceControlProjectName</key>
<string>CDVSplashScreenTest</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>tests/ios/CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>../../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlWCCName</key>
<string>cordova-plugin-splashscreen</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "D2AAC07D0554694100DB518D"
BuildableName = "libCordova.a"
BlueprintName = "CordovaLib"
ReferencedContainer = "container:node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1 @@
build

View File

@@ -0,0 +1,702 @@
/*
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 <UIKit/UIKit.h>
#import <XCTest/XCTest.h>
#import <Cordova/CDVScreenOrientationDelegate.h>
#import "CDVSplashScreen.h"
#import "ImageNameTestDelegates.h"
const CDV_iOSDevice CDV_iOSDeviceZero = { 0, 0, 0, 0, 0, 0 };
@interface ImageNameTest : XCTestCase
@property (nonatomic, strong) CDVSplashScreen* plugin;
@end
@interface CDVSplashScreen ()
// expose private interface
- (NSString*)getImageName:(UIInterfaceOrientation)currentOrientation delegate:(id<CDVScreenOrientationDelegate>)orientationDelegate device:(CDV_iOSDevice)device;
@end
@implementation ImageNameTest
- (void)setUp {
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
self.plugin = [[CDVSplashScreen alloc] init];
}
- (void)tearDown {
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void) orientationHelper:(id<CDVScreenOrientationDelegate>)delegate expectedImageNameDictionary:(NSDictionary*)expectedImageNameDictionary device:(CDV_iOSDevice)device{
NSString* name = nil;
NSString* expectedImageName = nil;
UIInterfaceOrientation currentOrientation;
NSString* deviceName = device.iPad? @"iPad" : device.iPhone6Plus? @"iPhone6Plus": device.iPhone6? @"iPhone6": device.iPhone5? @"iPhone5" : @"iPhone";
// LandscapeLeft, should always return expectedImageName
currentOrientation = UIInterfaceOrientationLandscapeLeft;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"landscapeLeft"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Landscape", deviceName, name);
// LandscapeRight - should always return expectedImageName
currentOrientation = UIInterfaceOrientationLandscapeRight;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"landscapeRight"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Landscape", deviceName, name);
// Portrait - should always return expectedImageName
currentOrientation = UIInterfaceOrientationPortrait;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"portrait"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Portrait", deviceName, name);
// PortraitUpsideDown - should always return expectedImageName
currentOrientation = UIInterfaceOrientationPortraitUpsideDown;
name = [self.plugin getImageName:currentOrientation delegate:delegate device:device];
expectedImageName = [expectedImageNameDictionary objectForKey:@"portraitUpsideDown"];
XCTAssertTrue([expectedImageName isEqualToString:name], @"%@ - %@ failed (%@)", @"Portrait", deviceName, name);
}
- (void)testiPadOrientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPad = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Portrait",
@"landscapeRight" : @"Default-Portrait",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Portrait",
@"landscapeRight" : @"Default-Portrait",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Landscape",
@"portraitUpsideDown" : @"Default-Landscape"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Landscape",
@"portraitUpsideDown" : @"Default-Landscape"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Portrait",
@"landscapeRight" : @"Default-Portrait",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Landscape",
@"portraitUpsideDown" : @"Default-Landscape"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape",
@"landscapeRight" : @"Default-Landscape",
@"portrait" : @"Default-Portrait",
@"portraitUpsideDown" : @"Default-Portrait"
}
device:device];
}
- (void)testiPhoneOrientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default",
@"landscapeRight" : @"Default",
@"portrait" : @"Default",
@"portraitUpsideDown" : @"Default"
}
device:device];
}
- (void)testiPhone5Orientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
device.iPhone5 = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-568h",
@"landscapeRight" : @"Default-568h",
@"portrait" : @"Default-568h",
@"portraitUpsideDown" : @"Default-568h"
}
device:device];
}
- (void)testiPhone6Orientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
device.iPhone6 = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-667h",
@"landscapeRight" : @"Default-667h",
@"portrait" : @"Default-667h",
@"portraitUpsideDown" : @"Default-667h"
}
device:device];
}
- (void)testiPhone6PlusOrientation {
CDV_iOSDevice device = CDV_iOSDeviceZero;
device.iPhone = YES;
device.iPhone6Plus = YES;
// One orientation
PortraitOnly* delegate = [[PortraitOnly alloc] init];
[self orientationHelper:delegate expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-736h",
@"landscapeRight" : @"Default-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
PortraitUpsideDownOnly* delegate2 = [[PortraitUpsideDownOnly alloc] init];
[self orientationHelper:delegate2 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-736h",
@"landscapeRight" : @"Default-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
LandscapeLeftOnly* delegate3 = [[LandscapeLeftOnly alloc] init];
[self orientationHelper:delegate3 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-Landscape-736h",
@"portraitUpsideDown" : @"Default-Landscape-736h"
}
device:device];
LandscapeRightOnly* delegate4 = [[LandscapeRightOnly alloc] init];
[self orientationHelper:delegate4 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-Landscape-736h",
@"portraitUpsideDown" : @"Default-Landscape-736h"
}
device:device];
// All Portrait
AllPortraitOnly* delegate5 = [[AllPortraitOnly alloc] init];
[self orientationHelper:delegate5 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-736h",
@"landscapeRight" : @"Default-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// All Landscape
AllLandscapeOnly* delegate6 = [[AllLandscapeOnly alloc] init];
[self orientationHelper:delegate6 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-Landscape-736h",
@"portraitUpsideDown" : @"Default-Landscape-736h"
}
device:device];
// All orientations
AllOrientations* delegate7 = [[AllOrientations alloc] init];
[self orientationHelper:delegate7 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// Portrait and Landscape Left
PortraitAndLandscapeLeftOnly* delegate8 = [[PortraitAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate8 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// Portrait and Landscape Right
PortraitAndLandscapeRightOnly* delegate9 = [[PortraitAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate9 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// PortraitUpsideDown and Landscape Left
PortraitUpsideDownAndLandscapeLeftOnly* delegate10 = [[PortraitUpsideDownAndLandscapeLeftOnly alloc] init];
[self orientationHelper:delegate10 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
// PortraitUpsideDown and Landscape Right
PortraitUpsideDownAndLandscapeRightOnly* delegate11 = [[PortraitUpsideDownAndLandscapeRightOnly alloc] init];
[self orientationHelper:delegate11 expectedImageNameDictionary:@{
@"landscapeLeft" : @"Default-Landscape-736h",
@"landscapeRight" : @"Default-Landscape-736h",
@"portrait" : @"Default-736h",
@"portraitUpsideDown" : @"Default-736h"
}
device:device];
}
@end

View File

@@ -0,0 +1,57 @@
/*
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/CDVScreenOrientationDelegate.h>
@interface PortraitOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitUpsideDownOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface AllPortraitOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface LandscapeLeftOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface LandscapeRightOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface AllLandscapeOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface AllOrientations : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitAndLandscapeLeftOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitAndLandscapeRightOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitUpsideDownAndLandscapeLeftOnly : NSObject <CDVScreenOrientationDelegate>
@end
@interface PortraitUpsideDownAndLandscapeRightOnly : NSObject <CDVScreenOrientationDelegate>
@end

View File

@@ -0,0 +1,200 @@
/*
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 <UIKit/UIKit.h>
#import "ImageNameTestDelegates.h"
@implementation PortraitOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitUpsideDownOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortraitUpsideDown;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation AllPortraitOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation LandscapeLeftOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation LandscapeRightOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation AllLandscapeOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation AllOrientations
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskAll;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitAndLandscapeLeftOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitAndLandscapeRightOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitUpsideDownAndLandscapeLeftOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortraitUpsideDown | UIInterfaceOrientationMaskLandscapeLeft;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end
@implementation PortraitUpsideDownAndLandscapeRightOnly
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortraitUpsideDown | UIInterfaceOrientationMaskLandscapeRight;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [self supportedInterfaceOrientations] & (1 << interfaceOrientation) ;
}
- (BOOL)shouldAutorotate {
return YES;
}
@end

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!--
#
# 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.
#
-->
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>org.apache.cordova.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>

View File

@@ -0,0 +1,505 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
7E9F51AB19DA10AE00DA31AC /* CDVSplashScreen.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E9F51A919DA10AE00DA31AC /* CDVSplashScreen.m */; };
7E9F51B119DA114400DA31AC /* ImageNameTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E9F51B019DA114400DA31AC /* ImageNameTest.m */; };
7E9F51B319DA116500DA31AC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F51B219DA116500DA31AC /* Foundation.framework */; };
7E9F51B519DA127E00DA31AC /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F51B419DA127E00DA31AC /* UIKit.framework */; };
7E9F51B819DA14FD00DA31AC /* ImageNameTestDelegates.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E9F51B719DA14FD00DA31AC /* ImageNameTestDelegates.m */; };
7E9F51B919DA1B1600DA31AC /* libCDVSplashScreenLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */; };
7E9F51BA19DA1B2000DA31AC /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7E9F519019DA0F8300DA31AC /* libCordova.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
7E9F518F19DA0F8300DA31AC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 68A32D7114102E1C006B237C;
remoteInfo = CordovaLib;
};
7E9F51AC19DA10DE00DA31AC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7E9F517219DA09CE00DA31AC /* Project object */;
proxyType = 1;
remoteGlobalIDString = 7E9F519419DA102000DA31AC;
remoteInfo = CDVSplashScreenLib;
};
7E9F51AE19DA10E100DA31AC /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = D2AAC07D0554694100DB518D;
remoteInfo = CordovaLib;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
7E9F519319DA102000DA31AC /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = "../node_modules/cordova-ios/CordovaLib/CordovaLib.xcodeproj"; sourceTree = "<group>"; };
7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libCDVSplashScreenLib.a; sourceTree = BUILT_PRODUCTS_DIR; };
7E9F519F19DA102000DA31AC /* CDVSplashScreenLibTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CDVSplashScreenLibTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
7E9F51A219DA102000DA31AC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
7E9F51A919DA10AE00DA31AC /* CDVSplashScreen.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CDVSplashScreen.m; path = ../../../src/ios/CDVSplashScreen.m; sourceTree = SOURCE_ROOT; };
7E9F51AA19DA10AE00DA31AC /* CDVSplashScreen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDVSplashScreen.h; path = ../../../src/ios/CDVSplashScreen.h; sourceTree = SOURCE_ROOT; };
7E9F51B019DA114400DA31AC /* ImageNameTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageNameTest.m; sourceTree = "<group>"; };
7E9F51B219DA116500DA31AC /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
7E9F51B419DA127E00DA31AC /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
7E9F51B619DA12C600DA31AC /* ImageNameTestDelegates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageNameTestDelegates.h; sourceTree = "<group>"; };
7E9F51B719DA14FD00DA31AC /* ImageNameTestDelegates.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageNameTestDelegates.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
7E9F519219DA102000DA31AC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
7E9F519C19DA102000DA31AC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
7E9F51BA19DA1B2000DA31AC /* libCordova.a in Frameworks */,
7E9F51B919DA1B1600DA31AC /* libCDVSplashScreenLib.a in Frameworks */,
7E9F51B519DA127E00DA31AC /* UIKit.framework in Frameworks */,
7E9F51B319DA116500DA31AC /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
7E9F517119DA09CE00DA31AC = {
isa = PBXGroup;
children = (
7E9F51B419DA127E00DA31AC /* UIKit.framework */,
7E9F51B219DA116500DA31AC /* Foundation.framework */,
7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */,
7E9F519619DA102000DA31AC /* CDVSplashScreenLib */,
7E9F51A019DA102000DA31AC /* CDVSplashScreenLibTests */,
7E9F517D19DA0A0A00DA31AC /* Products */,
);
sourceTree = "<group>";
};
7E9F517D19DA0A0A00DA31AC /* Products */ = {
isa = PBXGroup;
children = (
7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */,
7E9F519F19DA102000DA31AC /* CDVSplashScreenLibTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
7E9F518C19DA0F8300DA31AC /* Products */ = {
isa = PBXGroup;
children = (
7E9F519019DA0F8300DA31AC /* libCordova.a */,
);
name = Products;
sourceTree = "<group>";
};
7E9F519619DA102000DA31AC /* CDVSplashScreenLib */ = {
isa = PBXGroup;
children = (
7E9F51A919DA10AE00DA31AC /* CDVSplashScreen.m */,
7E9F51AA19DA10AE00DA31AC /* CDVSplashScreen.h */,
);
path = CDVSplashScreenLib;
sourceTree = SOURCE_ROOT;
};
7E9F51A019DA102000DA31AC /* CDVSplashScreenLibTests */ = {
isa = PBXGroup;
children = (
7E9F51A119DA102000DA31AC /* Supporting Files */,
7E9F51B019DA114400DA31AC /* ImageNameTest.m */,
7E9F51B619DA12C600DA31AC /* ImageNameTestDelegates.h */,
7E9F51B719DA14FD00DA31AC /* ImageNameTestDelegates.m */,
);
path = CDVSplashScreenLibTests;
sourceTree = "<group>";
};
7E9F51A119DA102000DA31AC /* Supporting Files */ = {
isa = PBXGroup;
children = (
7E9F51A219DA102000DA31AC /* Info.plist */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
7E9F519419DA102000DA31AC /* CDVSplashScreenLib */ = {
isa = PBXNativeTarget;
buildConfigurationList = 7E9F51A319DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLib" */;
buildPhases = (
7E9F519119DA102000DA31AC /* Sources */,
7E9F519219DA102000DA31AC /* Frameworks */,
7E9F519319DA102000DA31AC /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = CDVSplashScreenLib;
productName = CDVSplashScreenLib;
productReference = 7E9F519519DA102000DA31AC /* libCDVSplashScreenLib.a */;
productType = "com.apple.product-type.library.static";
};
7E9F519E19DA102000DA31AC /* CDVSplashScreenLibTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 7E9F51A619DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLibTests" */;
buildPhases = (
7E9F519B19DA102000DA31AC /* Sources */,
7E9F519C19DA102000DA31AC /* Frameworks */,
7E9F519D19DA102000DA31AC /* Resources */,
);
buildRules = (
);
dependencies = (
7E9F51AF19DA10E100DA31AC /* PBXTargetDependency */,
7E9F51AD19DA10DE00DA31AC /* PBXTargetDependency */,
);
name = CDVSplashScreenLibTests;
productName = CDVSplashScreenLibTests;
productReference = 7E9F519F19DA102000DA31AC /* CDVSplashScreenLibTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
7E9F517219DA09CE00DA31AC /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0600;
TargetAttributes = {
7E9F519419DA102000DA31AC = {
CreatedOnToolsVersion = 6.0;
};
7E9F519E19DA102000DA31AC = {
CreatedOnToolsVersion = 6.0;
};
};
};
buildConfigurationList = 7E9F517519DA09CE00DA31AC /* Build configuration list for PBXProject "CDVSplashScreenTest" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 7E9F517119DA09CE00DA31AC;
productRefGroup = 7E9F517D19DA0A0A00DA31AC /* Products */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = 7E9F518C19DA0F8300DA31AC /* Products */;
ProjectRef = 7E9F518B19DA0F8300DA31AC /* CordovaLib.xcodeproj */;
},
);
projectRoot = "";
targets = (
7E9F519419DA102000DA31AC /* CDVSplashScreenLib */,
7E9F519E19DA102000DA31AC /* CDVSplashScreenLibTests */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
7E9F519019DA0F8300DA31AC /* libCordova.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libCordova.a;
remoteRef = 7E9F518F19DA0F8300DA31AC /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
7E9F519D19DA102000DA31AC /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
7E9F519119DA102000DA31AC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
7E9F51AB19DA10AE00DA31AC /* CDVSplashScreen.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
7E9F519B19DA102000DA31AC /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
7E9F51B119DA114400DA31AC /* ImageNameTest.m in Sources */,
7E9F51B819DA14FD00DA31AC /* ImageNameTestDelegates.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
7E9F51AD19DA10DE00DA31AC /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 7E9F519419DA102000DA31AC /* CDVSplashScreenLib */;
targetProxy = 7E9F51AC19DA10DE00DA31AC /* PBXContainerItemProxy */;
};
7E9F51AF19DA10E100DA31AC /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = CordovaLib;
targetProxy = 7E9F51AE19DA10E100DA31AC /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
7E9F517619DA09CE00DA31AC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Debug;
};
7E9F517719DA09CE00DA31AC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Release;
};
7E9F51A419DA102000DA31AC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
"\"$(OBJROOT)/UninstalledProducts/include\"",
"\"$(BUILT_PRODUCTS_DIR)\"",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
};
name = Debug;
};
7E9F51A519DA102000DA31AC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
"\n\"$(OBJROOT)/UninstalledProducts/include\"\n\"$(BUILT_PRODUCTS_DIR)\"",
);
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
7E9F51A719DA102000DA31AC /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = CDVSplashScreenLibTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
};
name = Debug;
};
7E9F51A819DA102000DA31AC /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)",
);
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
INFOPLIST_FILE = CDVSplashScreenLibTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MTL_ENABLE_DEBUG_INFO = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
7E9F517519DA09CE00DA31AC /* Build configuration list for PBXProject "CDVSplashScreenTest" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7E9F517619DA09CE00DA31AC /* Debug */,
7E9F517719DA09CE00DA31AC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
7E9F51A319DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7E9F51A419DA102000DA31AC /* Debug */,
7E9F51A519DA102000DA31AC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
7E9F51A619DA102000DA31AC /* Build configuration list for PBXNativeTarget "CDVSplashScreenLibTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7E9F51A719DA102000DA31AC /* Debug */,
7E9F51A819DA102000DA31AC /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 7E9F517219DA09CE00DA31AC /* Project object */;
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:CDVSplashScreenTest.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>6BE9AD73-1B9F-4362-98D7-DC631BEC6185</string>
<key>IDESourceControlProjectName</key>
<string>CDVSplashScreenTest</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>tests/ios/CDVSplashScreenTest/CDVSplashScreenTest.xcodeproj</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>BEF5A5D0FF64801E558286389440357A9233D7DB</key>
<string>../../../../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>111</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>BEF5A5D0FF64801E558286389440357A9233D7DB</string>
<key>IDESourceControlWCCName</key>
<string>cordova-plugin-splashscreen</string>
</dict>
</array>
</dict>
</plist>

View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519419DA102000DA31AC"
BuildableName = "libCDVSplashScreenLib.a"
BlueprintName = "CDVSplashScreenLib"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519419DA102000DA31AC"
BuildableName = "libCDVSplashScreenLib.a"
BlueprintName = "CDVSplashScreenLib"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519419DA102000DA31AC"
BuildableName = "libCDVSplashScreenLib.a"
BlueprintName = "CDVSplashScreenLib"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0600"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "7E9F519E19DA102000DA31AC"
BuildableName = "CDVSplashScreenLibTests.xctest"
BlueprintName = "CDVSplashScreenLibTests"
ReferencedContainer = "container:CDVSplashScreenTest.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

40
tests/ios/README.md Normal file
View File

@@ -0,0 +1,40 @@
<!--
# 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.
-->
# iOS Tests for CDVSplashScreen
You need to install `node.js` to pull in `cordova-ios`.
First install cordova-ios:
npm install
... in the current folder.
# Testing from Xcode
1. Launch the `CDVSplashScreenTest.xcworkspace` file.
2. Choose "CDVSplashScreenLibTests" from the scheme drop-down menu
3. Click and hold on the `Play` button, and choose the `Wrench` icon to run the tests
# Testing from the command line
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# iOS-Tests für CDVSplashScreen
Sie müssen installieren `node.js` in `Cordova-Ios` zu ziehen.
Installieren Sie Cordova-Ios zum ersten Mal:
npm install
... im aktuellen Ordner.
# Testen von Xcode
1. Starten Sie die Datei `CDVSplashScreenTest.xcworkspace` .
2. Wählen Sie im Dropdown-Schema "CDVSplashScreenLibTests"
3. Klicken Sie und halten Sie auf den `Play` -Button und wählen Sie das `Schraubenschlüssel` -Symbol zum Ausführen der tests
# Tests von der Befehlszeile aus
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# Pruebas de iOS para CDVSplashScreen
Necesita instalar `node.js` en `Córdoba-ios`.
Primero instalar cordova-ios:
npm install
... en la carpeta actual.
# Prueba de Xcode
1. Iniciar el archivo `CDVSplashScreenTest.xcworkspace` .
2. Elija "CDVSplashScreenLibTests" en el menú de lista desplegable esquema
3. Haga clic y mantenga el botón de `Play` y elegir el icono de `llave inglesa` para ejecutar las pruebas
# Pruebas desde la línea de comandos
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# Tests d'iOS pour CDVSplashScreen
Vous devez installer `node.js` à `cordova-ios`.
Commencez par installer cordova-ios :
npm install
... dans le dossier actuel.
# Tests de Xcode
1. Lancez le fichier `CDVSplashScreenTest.xcworkspace` .
2. Choisissez « CDVSplashScreenLibTests » dans le menu déroulant de régime
3. Cliquez et maintenez sur la touche `Play` et cliquez sur l'icône de `clé` pour exécuter les tests
# Test de la ligne de commande
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# Test di iOS per CDVSplashScreen
È necessario installare `node. js` per tirare in `cordova-ios`.
In primo luogo installare cordova-ios:
npm install
... nella cartella corrente.
# Test da Xcode
1. Lanciare il file `CDVSplashScreenTest.xcworkspace` .
2. Scegli "CDVSplashScreenLibTests" dal menu a discesa Schema
3. Fare clic e tenere premuto il pulsante `Play` e scegliere l'icona della `chiave inglese` per eseguire i test
# Test dalla riga di comando
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# CDVSplashScreen の iOS のテスト
`Node.js` `コルドバ`ios をプルするをインストールする必要があります。.
コルドバ ios をインストールします。
npm install
現在のフォルダーに.
# Xcode からテスト
1. `CDVSplashScreenTest.xcworkspace`ファイルを起動します。
2. スキーム] ドロップダウン メニューから"CDVSplashScreenLibTests"を選択します。
3. クリックし、`再生`ボタンを押し、テストを実行する`レンチ`のアイコンを選択
# コマンドラインからテスト
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# CDVSplashScreen에 대 한 iOS 테스트
`Node.js` `코르도바` ios에서를 설치 해야.
코르도바-ios를 설치 하는 첫번째는:
npm install
현재 폴더에....
# Xcode에서 테스트
1. `CDVSplashScreenTest.xcworkspace` 파일을 시작 합니다.
2. 구성표 드롭 다운 메뉴에서 "CDVSplashScreenLibTests"를 선택
3. 클릭 하 고 `재생` 버튼에는 테스트를 실행 하려면 `공구 모양` 아이콘을 선택
# 명령줄에서 테스트
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# iOS testy dla CDVSplashScreen
Musisz zainstalować `node.js` ciągnąć w `cordova-ios`.
Najpierw zainstalować cordova-ios:
npm install
... w folderze bieżącym.
# Badania z Xcode
1. Uruchom plik `CDVSplashScreenTest.xcworkspace` .
2. Wybierz z menu rozwijanego systemu "CDVSplashScreenLibTests"
3. Kliknij i przytrzymaj przycisk `Play` i wybrać ikonę `klucz` do testów
# Badania z wiersza polecenia
npm test

View File

@@ -0,0 +1,39 @@
<!--
# 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.
-->
# CDVSplashScreen 的 iOS 測試
您需要安裝`node.js``科爾多瓦 ios`中.
第一次安裝科爾多瓦 ios:
npm install
在當前資料夾中。
# 從 Xcode 測試
1. 啟動`CDVSplashScreenTest.xcworkspace`檔。
2. 從方案下拉式功能表中選擇"CDVSplashScreenLibTests"
3. 按一下並堅持`播放`按鈕,然後選擇要運行的測試的`扳手`圖示
# 從命令列測試
npm test

13
tests/ios/package.json Normal file
View File

@@ -0,0 +1,13 @@
{
"name": "cordova-plugin-splashscreen-test-ios",
"version": "1.0.0",
"description": "iOS Unit Tests for Splashscreen Plugin",
"author": "Apache Software Foundation",
"license": "Apache Version 2.0",
"dependencies": {
"cordova-ios": "^3.6.0"
},
"scripts": {
"test": "xcodebuild test -workspace CDVSplashScreenTest.xcworkspace -scheme CDVSplashScreenLibTests -destination 'platform=iOS Simulator,name=iPhone 5' CONFIGURATION_BUILD_DIR='/tmp'"
}
}

29
tests/plugin.xml Normal file
View 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="3.2.0">
<name>Cordova Splashscreen Plugin Tests</name>
<license>Apache 2.0</license>
<js-module src="tests.js" name="tests">
</js-module>
</plugin>

62
tests/tests.js Normal file
View File

@@ -0,0 +1,62 @@
/*
*
* 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.defineAutoTest = function () {
describe('Splashscreen (cordova)', function () {
it("splashscreen.spec.1 should exist", function () {
expect(navigator.splashscreen).toBeDefined();
});
it("splashscreen.spec.2 exec method should exist", function () {
expect(navigator.splashscreen.show).toBeDefined();
expect(typeof navigator.splashscreen.show).toBe('function');
});
it("splashscreen.spec.3 exec 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>' +
'<h3>Note for WP: AutoHideSplashScreen must be set to false in config.xml</h3>' +
'<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');
};

View File

@@ -0,0 +1,79 @@
/*
*
* 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');
var isPhone = (cordova.platformId == "windows") && WinJS.Utilities.isPhone;
var isHosted = window.location.protocol.indexOf('http') === 0;
var localSplash = null;
var bgColor = "#464646"; // default backgrond color; TDOO - read it from .appxmanifest
var splashImageSrc = (isHosted ? "ms-appx-web" : "ms-appx") + ":///images/"
+ (isPhone ? "splashscreenphone.png" : "splashscreen.png");
var SplashScreen = {
setBGColor: function (cssBGColor) {
bgColor = cssBGColor;
if (localSplash) {
localSplash.style.backgroundColor = bgColor;
}
},
show: function () {
if (localSplash) {
return; // already showed
}
localSplash = document.createElement("div");
localSplash.style.backgroundColor = bgColor;
localSplash.style.position = "fixed";
localSplash.style.top = "0";
localSplash.style.width = "100%";
localSplash.style.height = "100%";
localSplashImage = document.createElement("img");
localSplashImage.src = splashImageSrc;
localSplashImage.style.maxWidth = "100%";
localSplashImage.style.maxHeight = "100%";
// center horizontally
localSplashImage.style.margin = "0 auto";
localSplashImage.style.display = "block";
// center vertically
localSplashImage.style.position = "relative";
localSplashImage.style.top = "50%";
localSplashImage.style.transform = "translateY(-50%)";
localSplash.appendChild(localSplashImage);
document.body.appendChild(localSplash);
},
hide: function () {
if (localSplash) {
document.body.removeChild(localSplash);
localSplash = null;
}
}
};
module.exports = SplashScreen;
require("cordova/exec/proxy").add("SplashScreen", SplashScreen);

View File

@@ -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 = "img/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/windows8/commandProxy").add("SplashScreen", SplashScreen);