How to use the @nativescript/core/application.ios function in @nativescript/core

To help you get started, we’ve selected a few @nativescript/core examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github Notalib / nativescript-accessibility-ext / src / utils / FontScaleObservable.ios.ts View on Github external
function setupConfigListener(attempt = 0) {
  if (!nsApp.ios.nativeApp) {
    if (attempt > 100) {
      if (isTraceEnabled()) {
        writeErrorTrace(`App didn't become active couldn't enable font scaling`);
      }

      fontScaleChanged(1);

      return;
    }

    // Couldn't get launchEvent to trigger.
    setTimeout(() => setupConfigListener(attempt + 1), 1);

    return;
  }
github NativeScript / NativeScript / tests / app / tk-unit.ts View on Github external
export function waitUntilReady(isReady: () => boolean, timeoutSec: number = 3, shouldThrow: boolean = true) {
    if (!isReady) {
        return;
    }

    if (application.ios) {
        const timeoutMs = timeoutSec * 1000;
        let totalWaitTime = 0;
        while (true) {
            const begin = time();
            const currentRunLoop = NSRunLoop.currentRunLoop;
            currentRunLoop.limitDateForMode(currentRunLoop.currentMode);
            if (isReady()) {
                break;
            }

            totalWaitTime += (time() - begin);
            if (totalWaitTime >= timeoutMs) {
                if (shouldThrow) {
                    throw new Error("waitUntilReady Timeout.");
                } else {
                    break;
github NativeScript / NativeScript / tests / app / image-source / image-source-tests.ts View on Github external
export function testNativeFields() {
    const img = ImageSource.fromFileSync(imagePath);
    if (app.android) {
        TKUnit.assert(img.android != null, "Image.android not updated.");
    } else if (app.ios) {
        TKUnit.assert(img.ios != null, "Image.ios not updated.");
    }
}
const fullAndroidPng = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAA3NCSVQICAjb4U/gAAAAFUlEQVQImWP8z4AAjAz/kTnIPGQAAG86AwGcuMlCAAAAAElFTkSuQmCC";
github Notalib / nativescript-accessibility-ext / src / utils / AccessibilityHelper.ios.ts View on Github external
return;
  }

  if (tnsView[accessibilityFocusObserverSymbol]) {
    if (tnsView.accessible) {
      if (isTraceEnabled()) {
        writeTrace(`${cls}: Already configured no need to do so again`);
      }

      return;
    }

    if (isTraceEnabled()) {
      writeTrace(`${cls}: view no longer accessible, remove listener`);
    }
    nsApp.ios.removeNotificationObserver(tnsView[accessibilityFocusObserverSymbol], UIAccessibilityElementFocusedNotification);

    delete tnsView[accessibilityFocusObserverSymbol];

    return;
  }

  if (!tnsView.accessible) {
    return;
  }

  const selfTnsView = new WeakRef(tnsView);

  let observer = nsApp.ios.addNotificationObserver(UIAccessibilityElementFocusedNotification, (args: NSNotification) => {
    const localTnsView = selfTnsView.get();
    if (!localTnsView || !localTnsView.ios) {
      nsApp.ios.removeNotificationObserver(observer, UIAccessibilityElementFocusedNotification);
github Notalib / nativescript-accessibility-ext / src / utils / utils.ios.ts View on Github external
nsApp.on(nsApp.exitEvent, () => {
      if (nativeObserver) {
        nsApp.ios.removeNotificationObserver(nativeObserver, UIAccessibilityVoiceOverStatusChanged);
      }

      nativeObserver = null;
      if (sharedA11YObservable) {
        sharedA11YObservable.removeEventListener(Observable.propertyChangeEvent);
        sharedA11YObservable = null;
      }
    });
  }
github Notalib / nativescript-accessibility-ext / src / utils / AccessibilityHelper.ios.ts View on Github external
let observer = nsApp.ios.addNotificationObserver(UIAccessibilityElementFocusedNotification, (args: NSNotification) => {
    const localTnsView = selfTnsView.get();
    if (!localTnsView || !localTnsView.ios) {
      nsApp.ios.removeNotificationObserver(observer, UIAccessibilityElementFocusedNotification);
      observer = null;
      if (localTnsView) {
        delete localTnsView[accessibilityFocusObserverSymbol];
      }

      return;
    }

    const localView = getUIView(localTnsView);

    const object = args.userInfo.objectForKey(UIAccessibilityFocusedElementKey) as UIView;

    const receivedFocus = object === localView;
    const lostFocus = localView[accessibilityHadFocusSymbol] && !receivedFocus;

    if (!receivedFocus && !lostFocus) {
github Notalib / nativescript-accessibility-ext / src / utils / utils.ios.ts View on Github external
function ensureStateListener() {
  if (sharedA11YObservable) {
    return sharedA11YObservable;
  }

  sharedA11YObservable = new Observable() as SharedA11YObservable;

  sharedA11YObservable.set(AccessibilityServiceEnabledPropName, isAccessibilityServiceEnabled());

  if (typeof UIAccessibilityVoiceOverStatusDidChangeNotification !== 'undefined') {
    nativeObserver = nsApp.ios.addNotificationObserver(UIAccessibilityVoiceOverStatusDidChangeNotification, () =>
      sharedA11YObservable.set(AccessibilityServiceEnabledPropName, isAccessibilityServiceEnabled()),
    );

    nsApp.on(nsApp.exitEvent, () => {
      if (nativeObserver) {
        nsApp.ios.removeNotificationObserver(nativeObserver, UIAccessibilityVoiceOverStatusDidChangeNotification);
      }

      nativeObserver = null;
      sharedA11YObservable = null;
    });
  } else if (typeof UIAccessibilityVoiceOverStatusChanged !== 'undefined') {
    nativeObserver = nsApp.ios.addNotificationObserver(UIAccessibilityVoiceOverStatusChanged, () =>
      sharedA11YObservable.set(AccessibilityServiceEnabledPropName, isAccessibilityServiceEnabled()),
    );
github Notalib / nativescript-accessibility-ext / src / utils / FontScaleObservable.ios.ts View on Github external
if (isTraceEnabled()) {
      writeFontScaleTrace(`fontSize: ${fontSize} is unknown`);
    }

    fontScaleChanged(1);
  }

  function useIOSFontScale() {
    if (nsApp.ios.nativeApp) {
      contentSizeUpdated(nsApp.ios.nativeApp.preferredContentSizeCategory);
    } else {
      fontScaleChanged(1);
    }
  }

  const fontSizeObserver = nsApp.ios.addNotificationObserver(UIContentSizeCategoryDidChangeNotification, (args) => {
    const fontSize = args.userInfo.valueForKey(UIContentSizeCategoryNewValueKey);
    contentSizeUpdated(fontSize);
  });

  nsApp.on(nsApp.exitEvent, () => {
    nsApp.ios.removeNotificationObserver(fontSizeObserver, UIContentSizeCategoryDidChangeNotification);
    internalObservable = null;

    nsApp.off(nsApp.resumeEvent, useIOSFontScale);
  });

  nsApp.on(nsApp.resumeEvent, useIOSFontScale);

  useIOSFontScale();
}