summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility')
-rw-r--r--StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js53
-rw-r--r--StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js502
2 files changed, 0 insertions, 555 deletions
diff --git a/StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js b/StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js
deleted file mode 100644
index f5d0aaf7..00000000
--- a/StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/MobileAccessibilityNotifications.js
+++ /dev/null
@@ -1,53 +0,0 @@
-cordova.define("phonegap-plugin-mobile-accessibility.MobileAccessibilityNotifications", function(require, exports, module) {
-/*
- *
- * 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.
- *
-*/
-
-/**
- * Mobile Accessibility Notification event constants
- */
-module.exports = {
- /* MobileAccessibility window events */
- SCREEN_READER_STATUS_CHANGED : "screenreaderstatuschanged",
- CLOSED_CAPTIONING_STATUS_CHANGED : "closedcaptioningstatuschanged",
- GUIDED_ACCESS_STATUS_CHANGED : "guidedaccessstatuschanged",
- INVERT_COLORS_STATUS_CHANGED : "invertcolorsstatuschanged",
- MONO_AUDIO_STATUS_CHANGED : "monoaudiostatuschanged",
- REDUCE_MOTION_STATUS_CHANGED : "reducemotionstatuschanged",
- TOUCH_EXPLORATION_STATUS_CHANGED : "touchexplorationstatechanged",
- BOLD_TEXT_STATUS_CHANGED : "boldtextstatuschanged",
- DARKER_SYSTEM_COLORS_STATUS_CHANGED : "darkersystemcolorsstatuschanged",
- GRAYSCALE_STATUS_CHANGED : "grayscalestatuschanged",
- REDUCE_TRANSPARENCY_STATUS_CHANGED : "reducetransparencystatuschanged",
- SPEAK_SCREEN_STATUS_CHANGED : "speakscreenstatuschanged",
- SPEAK_SELECTION_STATUS_CHANGED : "speakselectionstatuschanged",
- SWITCH_CONTROL_STATUS_CHANGED : "switchcontrolstatuschanged",
-
- /* iOS specific UIAccessibilityNotifications */
- SCREEN_CHANGED : 1000,
- LAYOUT_CHANGED : 1001,
- ANNOUNCEMENT : 1008,
- PAGE_SCROLLED : 1009,
-
- /* Windows specific high contrast event */
- HIGH_CONTRAST_CHANGED : "highcontrastchanged"
-};
-
-});
diff --git a/StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js b/StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js
deleted file mode 100644
index 852b8d34..00000000
--- a/StoneIsland/platforms/android/assets/www/plugins/phonegap-plugin-mobile-accessibility/www/mobile-accessibility.js
+++ /dev/null
@@ -1,502 +0,0 @@
-cordova.define("phonegap-plugin-mobile-accessibility.mobile-accessibility", function(require, exports, module) {
-/**
- *
- * 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 argscheck = require('cordova/argscheck'),
- utils = require('cordova/utils'),
- exec = require('cordova/exec'),
- device = require('cordova-plugin-device.device'),
- network = require('cordova-plugin-network-information.network'),
- connection = require('cordova-plugin-network-information.Connection'),
- MobileAccessibilityNotifications = require('phonegap-plugin-mobile-accessibility.MobileAccessibilityNotifications');
-
-var MobileAccessibility = function() {
- this._isBoldTextEnabled = false;
- this._isClosedCaptioningEnabled = false;
- this._isDarkerSystemColorsEnabled = false;
- this._isGrayscaleEnabled = false;
- this._isGuidedAccessEnabled = false;
- this._isInvertColorsEnabled = false;
- this._isMonoAudioEnabled = false;
- this._isReduceMotionEnabled = false;
- this._isReduceTransparencyEnabled = false;
- this._isScreenReaderRunning = false;
- this._isSpeakScreenEnabled = false;
- this._isSpeakSelectionEnabled = false;
- this._isSwitchControlRunning = false;
- this._isTouchExplorationEnabled = false;
- this._usePreferredTextZoom = false;
- this._isHighContrastEnabled = false;
- this._highContrastScheme = undefined;
-
- // Create new event handlers on the window (returns a channel instance)
- this.channels = {
- boldtextstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.BOLD_TEXT_STATUS_CHANGED),
- closedcaptioningstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.CLOSED_CAPTIONING_STATUS_CHANGED),
- darkersystemcolorsstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.DARKER_SYSTEM_COLORS_STATUS_CHANGED),
- grayscalestatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.GRAYSCALE_STATUS_CHANGED),
- guidedaccessstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.GUIDED_ACCESS_STATUS_CHANGED),
- invertcolorsstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.INVERT_COLORS_STATUS_CHANGED),
- monoaudiostatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.MONO_AUDIO_STATUS_CHANGED),
- reducemotionstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.REDUCE_MOTION_STATUS_CHANGED),
- reducetransparencystatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.REDUCE_TRANSPARENCY_STATUS_CHANGED),
- screenreaderstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED),
- speakscreenstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SPEAK_SCREEN_STATUS_CHANGED),
- speakselectionstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SPEAK_SELECTION_STATUS_CHANGED),
- switchcontrolstatuschanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.SWITCH_CONTROL_STATUS_CHANGED),
- touchexplorationstatechanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.TOUCH_EXPLORATION_STATUS_CHANGED),
- highcontrastchanged : cordova.addWindowEventHandler(MobileAccessibilityNotifications.HIGH_CONTRAST_CHANGED)
- };
- for (var key in this.channels) {
- this.channels[key].onHasSubscribersChange = MobileAccessibility.onHasSubscribersChange;
- }
-};
-
-/**
- * @private
- * @ignore
- */
-function handlers() {
- return mobileAccessibility.channels.boldtextstatuschanged.numHandlers +
- mobileAccessibility.channels.closedcaptioningstatuschanged.numHandlers +
- mobileAccessibility.channels.darkersystemcolorsstatuschanged.numHandlers +
- mobileAccessibility.channels.grayscalestatuschanged.numHandlers +
- mobileAccessibility.channels.guidedaccessstatuschanged.numHandlers +
- mobileAccessibility.channels.invertcolorsstatuschanged.numHandlers +
- mobileAccessibility.channels.monoaudiostatuschanged.numHandlers +
- mobileAccessibility.channels.reducemotionstatuschanged.numHandlers +
- mobileAccessibility.channels.reducetransparencystatuschanged.numHandlers +
- mobileAccessibility.channels.screenreaderstatuschanged.numHandlers +
- mobileAccessibility.channels.speakscreenstatuschanged.numHandlers +
- mobileAccessibility.channels.speakselectionstatuschanged.numHandlers +
- mobileAccessibility.channels.switchcontrolstatuschanged.numHandlers +
- mobileAccessibility.channels.touchexplorationstatechanged.numHandlers +
- mobileAccessibility.channels.highcontrastchanged.numHandlers;
-};
-
-/**
- *
- * Event handlers for when callback methods get registered for mobileAccessibility.
- * Keep track of how many handlers we have so we can start and stop the native MobileAccessibility listener
- * appropriately.
- * @private
- * @ignore
- */
-MobileAccessibility.onHasSubscribersChange = function() {
- // If we just registered the first handler, make sure native listener is started.
- if (this.numHandlers === 1 && handlers() === 1) {
- exec(mobileAccessibility._status, mobileAccessibility._error, "MobileAccessibility", "start", []);
- } else if (handlers() === 0) {
- exec(null, null, "MobileAccessibility", "stop", []);
- }
-};
-
-/**
- * Asynchronous call to native MobileAccessibility determine if a screen reader is running.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isScreenReaderRunning = function(callback) {
- exec(function(bool) {
- mobileAccessibility.activateOrDeactivateChromeVox(bool);
- callback(Boolean(bool));
- }, null, "MobileAccessibility", "isScreenReaderRunning", []);
-};
-MobileAccessibility.prototype.isVoiceOverRunning = function(callback) {
- if (device.platform.toLowerCase() === "ios") {
- MobileAccessibility.prototype.isScreenReaderRunning(callback);
- } else {
- callback(false);
- }
-};
-MobileAccessibility.prototype.isTalkBackRunning = function(callback) {
- if (device.platform.toLowerCase() === "android" || device.platform.toLowerCase() === "amazon-fireos") {
- MobileAccessibility.prototype.isScreenReaderRunning(callback);
- } else {
- callback(false);
- }
-};
-MobileAccessibility.prototype.isChromeVoxActive = function () {
- return typeof cvox !== "undefined" && cvox.ChromeVox.host.ttsLoaded() && cvox.Api.isChromeVoxActive();
-};
-MobileAccessibility.prototype.activateOrDeactivateChromeVox = function(bool) {
- if (device.platform !== "Android") return;
- if (typeof cvox === "undefined") {
- if (bool) {
- console.warn('A screen reader is running but ChromeVox has failed to initialize.');
- if (navigator.connection.type === Connection.UNKNOWN || navigator.connection.type === Connection.NONE) {
- mobileAccessibility.injectLocalAndroidVoxScript();
- }
- }
- } else {
- // activate or deactivate ChromeVox based on whether or not or not the screen reader is running.
- try {
- cvox.ChromeVox.host.activateOrDeactivateChromeVox(bool);
- } catch (err) {
- console.error(err);
- }
- }
-
- if (bool) {
- if (!mobileAccessibility.hasOrientationChangeListener) {
- window.addEventListener("orientationchange", mobileAccessibility.onOrientationChange);
- mobileAccessibility.hasOrientationChangeListener = true;
- }
- } else if(mobileAccessibility.hasOrientationChangeListener) {
- window.removeEventListener("orientationchange", mobileAccessibility.onOrientationChange);
- mobileAccessibility.hasOrientationChangeListener = false;
- }
-};
-
-MobileAccessibility.prototype.hasOrientationChangeListener = false;
-MobileAccessibility.prototype.onOrientationChange = function(event) {
- if (!mobileAccessibility.isChromeVoxActive()) return;
- cvox.ChromeVox.navigationManager.updateIndicator();
-};
-
-MobileAccessibility.prototype.scriptInjected = false;
-MobileAccessibility.prototype.injectLocalAndroidVoxScript = function() {
- var versionsplit = device.version.split('.');
- if (device.platform !== "Android" ||
- !(versionsplit[0] > 4 || (versionsplit[0] == 4 && versionsplit[1] >= 1)) ||
- typeof cvox !== "undefined" || mobileAccessibility.scriptInjected) return;
- var script = document.createElement('script');
- script.type = 'text/javascript';
- script.async = true;
- script.onload = function(){
- // console.log(this.src + ' has loaded');
- if (mobileAccessibility.isChromeVoxActive()) {
- cordova.fireWindowEvent("screenreaderstatuschanged", {
- isScreenReaderRunning: true
- });
- }
- };
-
- script.src = (versionsplit[0] > 4 || versionsplit[1] > 3)
- ? "plugins/com.phonegap.plugin.mobile-accessibility/android/chromeandroidvox.js"
- : "plugins/com.phonegap.plugin.mobile-accessibility/android/AndroidVox_v1.js";
- document.getElementsByTagName('head')[0].appendChild(script);
- mobileAccessibility.scriptInjected = true;
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Bold Text is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isBoldTextEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isBoldTextEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Closed Captioning is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isClosedCaptioningEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isClosedCaptioningEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Darker System Colors are enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isDarkerSystemColorsEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isDarkerSystemColorsEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Grayscale is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isGrayscaleEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isGrayscaleEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Guided Access is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isGuidedAccessEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isGuidedAccessEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if the display colors have been inverted.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isInvertColorsEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isInvertColorsEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Mono Audio is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isMonoAudioEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isMonoAudioEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Reduce Motion is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isReduceMotionEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isReduceMotionEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Reduce Transparency is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isReduceTransparencyEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isReduceTransparencyEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Speak Screen is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isSpeakScreenEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isSpeakScreenEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Speak Selection is enabled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isSpeakSelectionEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isSpeakSelectionEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Switch Control is running.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isSwitchControlRunning = function(callback) {
- exec(callback, null, "MobileAccessibility", "isSwitchControlRunning", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if Touch Exploration is enabled on Android.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isTouchExplorationEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isTouchExplorationEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to determine if High Contrast is enabled on Windows.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.isHighContrastEnabled = function(callback) {
- exec(callback, null, "MobileAccessibility", "isHighContrastEnabled", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to return the current text zoom percent value for the WebView.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.getTextZoom = function(callback) {
- exec(callback, null, "MobileAccessibility", "getTextZoom", []);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to set the current text zoom percent value for the WebView.
- * @param {Number} textZoom A percentage value by which text in the WebView should be scaled.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.setTextZoom = function(textZoom, callback) {
- exec(callback, null, "MobileAccessibility", "setTextZoom", [textZoom]);
-};
-
-/**
- * Asynchronous call to native MobileAccessibility to retrieve the user's preferred text zoom from system settings and apply it to the application WebView.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility.
- */
-MobileAccessibility.prototype.updateTextZoom = function(callback) {
- exec(callback, null, "MobileAccessibility", "updateTextZoom", []);
-};
-
-MobileAccessibility.prototype.usePreferredTextZoom = function(bool) {
- var currentValue = window.localStorage.getItem("MobileAccessibility.usePreferredTextZoom") === "true";
-
- if (arguments.length === 0) {
- return currentValue;
- }
-
- if (currentValue != bool) {
- window.localStorage.setItem("MobileAccessibility.usePreferredTextZoom", bool);
- }
-
- var callback = function(){
- // Wrapping updateTextZoom call in a function to stop
- // the event parameter propagation. This fixes an error
- // on resume where cordova tried to call apply() on the
- // event, expecting a function.
- mobileAccessibility.updateTextZoom();
- };
-
- document.removeEventListener("resume", callback);
-
- if (bool) {
- // console.log("We should update the text zoom at this point: " + bool)
- document.addEventListener("resume", callback, false);
- mobileAccessibility.updateTextZoom();
- } else {
- mobileAccessibility.setTextZoom(100);
- }
-
- return Boolean(bool);
-};
-
-MobileAccessibility.prototype.MobileAccessibilityNotifications = MobileAccessibilityNotifications;
-
-/**
- * Posts a notification with a string for a screen reader to announce, if it is running.
- * @param {uint} mobileAccessibilityNotification A numeric constant for the type of notification to send. Constants are defined in MobileAccessibility.MobileAccessibilityNotifications.
- * @param {string} string A string to be announced by a screen reader.
- * @param {function} callback A callback method to receive the asynchronous result from the native MobileAccessibility, when the announcement is finished, the function should expect an object containing the stringValue that was voiced and a boolean indicating that the announcement wasSuccessful.
- */
-MobileAccessibility.prototype.postNotification = function(mobileAccessibilityNotification, string, callback) {
- exec(callback, null, "MobileAccessibility", "postNotification", [mobileAccessibilityNotification, string]);
-};
-
-/**
- * Speaks the given string, and if ChromeVox is active, it will use the specified queueMode and properties.
- * @param {string} string A string to be announced by a screen reader.
- * @param {number} [queueMode] Optional number. Valid modes are 0 for flush; 1 for queue.
- * @param {Object} [properties] Speech properties to use for this utterance.
- */
-MobileAccessibility.prototype.speak = function(string, queueMode, properties) {
- if (this.isChromeVoxActive()) {
- cvox.ChromeVox.tts.speak(string, queueMode, properties);
- } else {
- exec(null, null, "MobileAccessibility", "postNotification", [MobileAccessibilityNotifications.ANNOUNCEMENT, string]);
- }
-}
-
-/**
- * Stops speech.
- */
-MobileAccessibility.prototype.stop = function() {
- if (this.isChromeVoxActive()) {
- cvox.ChromeVox.tts.stop();
- } else {
- exec(null, null, "MobileAccessibility", "postNotification", [MobileAccessibilityNotifications.ANNOUNCEMENT, "\u200b"]);
- }
-}
-
-/**
- * Callback from native MobileAccessibility returning an object which describes the status of MobileAccessibility features.
- *
- * @param {Object} info
- * @config {Boolean} [isBoldTextEnabled] Boolean to indicate bold text status (ios).
- * @config {Boolean} [isClosedCaptioningEnabled] Boolean to indicate closed captioning status.
- * @config {Boolean} [isDarkerSystemColorsEnabled] Boolean to indicate darker system colors status (ios).
- * @config {Boolean} [isGrayscaleEnabled] Boolean to indicate grayscale status (ios).
- * @config {Boolean} [isGuidedAccessEnabled] Boolean to indicate guided access status (ios).
- * @config {Boolean} [isInvertColorsEnabled] Boolean to indicate invert colors status (ios).
- * @config {Boolean} [isMonoAudioEnabled] Boolean to indicate mono audio status (ios).
- * @config {Boolean} [isReduceMotionEnabled] Boolean to indicate reduce motion status (ios).
- * @config {Boolean} [isReduceTransparencyEnabled] Boolean to indicate reduce transparency status (ios).
- * @config {Boolean} [isScreenReaderRunning] Boolean to indicate screen reader status.
- * @config {Boolean} [isSpeakScreenEnabled] Boolean to indicate speak screen status (ios).
- * @config {Boolean} [isSpeakSelectionEnabled] Boolean to indicate speak selection status (ios).
- * @config {Boolean} [isSwitchControlRunning] Boolean to indicate switch control status (ios).
- * @config {Boolean} [isTouchExplorationEnabled] Boolean to indicate touch exploration status (android).
- */
-MobileAccessibility.prototype._status = function(info) {
- if (info) {
- mobileAccessibility.activateOrDeactivateChromeVox(info.isScreenReaderRunning);
- if (mobileAccessibility._isBoldTextEnabled !== info.isBoldTextEnabled) {
- mobileAccessibility._isBoldTextEnabled = info.isBoldTextEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.BOLD_TEXT_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isClosedCaptioningEnabled !== info.isClosedCaptioningEnabled) {
- mobileAccessibility._isClosedCaptioningEnabled = info.isClosedCaptioningEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.CLOSED_CAPTIONING_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isDarkerSystemColorsEnabled !== info.isDarkerSystemColorsEnabled) {
- mobileAccessibility._isDarkerSystemColorsEnabled = info.isDarkerSystemColorsEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.DARKER_SYSTEM_COLORS_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isGrayscaleEnabled !== info.isGrayscaleEnabled) {
- mobileAccessibility._isGrayscaleEnabled = info.isGrayscaleEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.GRAYSCALE_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isGuidedAccessEnabled !== info.isGuidedAccessEnabled) {
- mobileAccessibility._isGuidedAccessEnabled = info.isGuidedAccessEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.GUIDED_ACCESS_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isInvertColorsEnabled !== info.isInvertColorsEnabled) {
- mobileAccessibility._isInvertColorsEnabled = info.isInvertColorsEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.INVERT_COLORS_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isMonoAudioEnabled !== info.isMonoAudioEnabled) {
- mobileAccessibility._isMonoAudioEnabled = info.isMonoAudioEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.MONO_AUDIO_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isReduceMotionEnabled !== info.isReduceMotionEnabled) {
- mobileAccessibility._isReduceMotionEnabled = info.isReduceMotionEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.REDUCE_MOTION_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isReduceTransparencyEnabled !== info.isReduceTransparencyEnabled) {
- mobileAccessibility._isReduceTransparencyEnabled = info.isReduceTransparencyEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.REDUCE_TRANSPARENCY_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isScreenReaderRunning !== info.isScreenReaderRunning) {
- mobileAccessibility._isScreenReaderRunning = info.isScreenReaderRunning;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isSpeakScreenEnabled !== info.isSpeakScreenEnabled) {
- mobileAccessibility._isSpeakScreenEnabled = info.isSpeakScreenEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.SPEAK_SCREEN_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isSpeakSelectionEnabled !== info.isSpeakSelectionEnabled) {
- mobileAccessibility._isSpeakSelectionEnabled = info.isSpeakSelectionEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.SPEAK_SELECTION_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isSwitchControlRunning !== info.isSwitchControlRunning) {
- mobileAccessibility._isSwitchControlRunning = info.isSwitchControlRunning;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.SWITCH_CONTROL_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isTouchExplorationEnabled !== info.isTouchExplorationEnabled) {
- mobileAccessibility._isTouchExplorationEnabled = info.isTouchExplorationEnabled;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.TOUCH_EXPLORATION_STATUS_CHANGED, info);
- }
- if (mobileAccessibility._isHighContrastEnabled !== info.isHighContrastEnabled) {
- mobileAccessibility._isHighContrastEnabled = info.isHighContrastEnabled;
- mobileAccessibility._highContrastScheme = info.highContrastScheme;
- cordova.fireWindowEvent(MobileAccessibilityNotifications.HIGH_CONTRAST_CHANGED, info);
- }
- }
-};
-
-/**
- * Error callback for MobileAccessibility start
- */
-MobileAccessibility.prototype._error = function(e) {
- console.log("Error initializing MobileAccessibility: " + e);
-};
-
-var mobileAccessibility = new MobileAccessibility();
-
-module.exports = mobileAccessibility;
-
-});