fix(core): AndroidTransitionType symbol export handling (#9252)

BREAKING CHANGE:

AndroidTransitionType is now a static member of the Transition class.

BEFORE:

```
import { AndroidTransitionType } from '@nativescript/core/ui/transition';
```

AFTER:

```
import { Transition } from '@nativescript/core';
Transition.AndroidTransitionType.enter; // etc.
```
This commit is contained in:
Nathan Walker
2021-02-27 13:16:39 -08:00
committed by GitHub
parent ebcc0e2cc0
commit ac7f041dea
9 changed files with 61 additions and 67 deletions

View File

@ -1,6 +1,6 @@
import * as transition from '@nativescript/core/ui/transition';
import { Transition } from '@nativescript/core';
export class CustomTransition extends transition.Transition {
export class CustomTransition extends Transition {
constructor(duration: number, curve: any) {
super(duration, curve);
}
@ -8,13 +8,13 @@ export class CustomTransition extends transition.Transition {
public createAndroidAnimator(transitionType: string): android.animation.Animator {
var scaleValues = Array.create('float', 2);
switch (transitionType) {
case transition.AndroidTransitionType.enter:
case transition.AndroidTransitionType.popEnter:
case Transition.AndroidTransitionType.enter:
case Transition.AndroidTransitionType.popEnter:
scaleValues[0] = 0;
scaleValues[1] = 1;
break;
case transition.AndroidTransitionType.exit:
case transition.AndroidTransitionType.popExit:
case Transition.AndroidTransitionType.exit:
case Transition.AndroidTransitionType.popExit:
scaleValues[0] = 1;
scaleValues[1] = 0;
break;

View File

@ -3,7 +3,7 @@ import { NavigationType } from './frame-common';
import { NavigationTransition, BackstackEntry } from '.';
// Types.
import { Transition, AndroidTransitionType } from '../transition';
import { Transition } from '../transition';
import { FlipTransition } from '../transition/flip-transition';
import { _resolveAnimationCurve } from '../animation';
import lazy from '../../utils/lazy';
@ -177,14 +177,14 @@ function setupAllAnimation(entry: ExpandedEntry, transition: Transition): void {
// setupAllAnimation is called only for new fragments so we don't
// need to clearAnimationListener for enter & popExit animators.
const enterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.enter);
enterAnimator.transitionType = AndroidTransitionType.enter;
const enterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.enter);
enterAnimator.transitionType = Transition.AndroidTransitionType.enter;
enterAnimator.entry = entry;
enterAnimator.addListener(listener);
entry.enterAnimator = enterAnimator;
const popExitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.popExit);
popExitAnimator.transitionType = AndroidTransitionType.popExit;
const popExitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.popExit);
popExitAnimator.transitionType = Transition.AndroidTransitionType.popExit;
popExitAnimator.entry = entry;
popExitAnimator.addListener(listener);
entry.popExitAnimator = popExitAnimator;
@ -197,14 +197,14 @@ function setupExitAndPopEnterAnimation(entry: ExpandedEntry, transition: Transit
clearAnimationListener(entry.exitAnimator, listener);
clearAnimationListener(entry.popEnterAnimator, listener);
const exitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.exit);
exitAnimator.transitionType = AndroidTransitionType.exit;
const exitAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.exit);
exitAnimator.transitionType = Transition.AndroidTransitionType.exit;
exitAnimator.entry = entry;
exitAnimator.addListener(listener);
entry.exitAnimator = exitAnimator;
const popEnterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(AndroidTransitionType.popEnter);
popEnterAnimator.transitionType = AndroidTransitionType.popEnter;
const popEnterAnimator = <ExpandedAnimator>transition.createAndroidAnimator(Transition.AndroidTransitionType.popEnter);
popEnterAnimator.transitionType = Transition.AndroidTransitionType.popEnter;
popEnterAnimator.entry = entry;
popEnterAnimator.addListener(listener);
entry.popEnterAnimator = popEnterAnimator;
@ -579,13 +579,13 @@ function setupCurrentFragmentSlideTransition(navTransition: NavigationTransition
}
function setupCurrentFragmentCustomTransition(navTransition: NavigationTransition, entry: ExpandedEntry, transition: Transition): void {
const exitAnimator = transition.createAndroidAnimator(AndroidTransitionType.exit);
const exitTransition = new org.nativescript.widgets.CustomTransition(exitAnimator, transition.constructor.name + AndroidTransitionType.exit.toString());
const exitAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.exit);
const exitTransition = new org.nativescript.widgets.CustomTransition(exitAnimator, transition.constructor.name + Transition.AndroidTransitionType.exit.toString());
setExitTransition(navTransition, entry, exitTransition);
const reenterAnimator = transition.createAndroidAnimator(AndroidTransitionType.popEnter);
const reenterTransition = new org.nativescript.widgets.CustomTransition(reenterAnimator, transition.constructor.name + AndroidTransitionType.popEnter.toString());
const reenterAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.popEnter);
const reenterTransition = new org.nativescript.widgets.CustomTransition(reenterAnimator, transition.constructor.name + Transition.AndroidTransitionType.popEnter.toString());
setReenterTransition(navTransition, entry, reenterTransition);
}
@ -593,12 +593,12 @@ function setupCurrentFragmentCustomTransition(navTransition: NavigationTransitio
function setupNewFragmentCustomTransition(navTransition: NavigationTransition, entry: ExpandedEntry, transition: Transition): void {
setupCurrentFragmentCustomTransition(navTransition, entry, transition);
const enterAnimator = transition.createAndroidAnimator(AndroidTransitionType.enter);
const enterTransition = new org.nativescript.widgets.CustomTransition(enterAnimator, transition.constructor.name + AndroidTransitionType.enter.toString());
const enterAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.enter);
const enterTransition = new org.nativescript.widgets.CustomTransition(enterAnimator, transition.constructor.name + Transition.AndroidTransitionType.enter.toString());
setEnterTransition(navTransition, entry, enterTransition);
const returnAnimator = transition.createAndroidAnimator(AndroidTransitionType.popExit);
const returnTransition = new org.nativescript.widgets.CustomTransition(returnAnimator, transition.constructor.name + AndroidTransitionType.popExit.toString());
const returnAnimator = transition.createAndroidAnimator(Transition.AndroidTransitionType.popExit);
const returnTransition = new org.nativescript.widgets.CustomTransition(returnAnimator, transition.constructor.name + Transition.AndroidTransitionType.popExit.toString());
setReturnTransition(navTransition, entry, returnTransition);
}

View File

@ -83,6 +83,6 @@ export { Span } from './text-base/span';
export { TextField } from './text-field';
export { TextView } from './text-view';
export { TimePicker } from './time-picker';
export { Transition, AndroidTransitionType } from './transition';
export { Transition } from './transition';
export { WebView } from './web-view';
export type { LoadEventData, WebViewNavigationType } from './web-view';

View File

@ -1,17 +1,17 @@
import { Transition, AndroidTransitionType } from '.';
import { Transition } from '.';
export class FadeTransition extends Transition {
public createAndroidAnimator(transitionType: string): android.animation.AnimatorSet {
const animatorSet = new android.animation.AnimatorSet();
const alphaValues = Array.create('float', 2);
switch (transitionType) {
case AndroidTransitionType.enter:
case AndroidTransitionType.popEnter:
case Transition.AndroidTransitionType.enter:
case Transition.AndroidTransitionType.popEnter:
alphaValues[0] = 0;
alphaValues[1] = 1;
break;
case AndroidTransitionType.exit:
case AndroidTransitionType.popExit:
case Transition.AndroidTransitionType.exit:
case Transition.AndroidTransitionType.popExit:
alphaValues[0] = 1;
alphaValues[1] = 0;
break;

View File

@ -1,4 +1,4 @@
import { Transition, AndroidTransitionType } from '.';
import { Transition } from '.';
//http://developer.android.com/training/animation/cardflip.html
export class FlipTransition extends Transition {
@ -19,7 +19,7 @@ export class FlipTransition extends Transition {
const rotationY = this._direction === 'right' ? 180 : -180;
switch (transitionType) {
case AndroidTransitionType.enter: // card_flip_right_in
case Transition.AndroidTransitionType.enter: // card_flip_right_in
objectAnimators = Array.create(android.animation.Animator, 2);
values = Array.create('float', 2);
@ -38,7 +38,7 @@ export class FlipTransition extends Transition {
animator.setDuration(fullDuration / 2);
objectAnimators[1] = animator;
break;
case AndroidTransitionType.exit: // card_flip_right_out
case Transition.AndroidTransitionType.exit: // card_flip_right_out
objectAnimators = Array.create(android.animation.Animator, 2);
values = Array.create('float', 2);
@ -57,7 +57,7 @@ export class FlipTransition extends Transition {
animator.setDuration(fullDuration / 2);
objectAnimators[1] = animator;
break;
case AndroidTransitionType.popEnter: // card_flip_left_in
case Transition.AndroidTransitionType.popEnter: // card_flip_left_in
objectAnimators = Array.create(android.animation.Animator, 2);
values = Array.create('float', 2);
@ -76,7 +76,7 @@ export class FlipTransition extends Transition {
animator.setDuration(fullDuration / 2);
objectAnimators[1] = animator;
break;
case AndroidTransitionType.popExit: // card_flip_left_out
case Transition.AndroidTransitionType.popExit: // card_flip_left_out
objectAnimators = Array.create(android.animation.Animator, 2);
values = Array.create('float', 2);

View File

@ -4,15 +4,14 @@ import lazy from '../../utils/lazy';
const _defaultInterpolator = lazy(() => new android.view.animation.AccelerateDecelerateInterpolator());
export namespace AndroidTransitionType {
export const enter = 'enter';
export const exit = 'exit';
export const popEnter = 'popEnter';
export const popExit = 'popExit';
}
let transitionId = 0;
export class Transition {
static AndroidTransitionType = {
enter: 'enter',
exit: 'exit',
popEnter: 'popEnter',
popExit: 'popExit',
};
private _duration: number;
private _interpolator: android.view.animation.Interpolator;
private _id: number;

View File

@ -1,11 +1,5 @@
export namespace AndroidTransitionType {
export const enter: string;
export const exit: string;
export const popEnter: string;
export const popExit: string;
}
export class Transition {
export class Transition {
static AndroidTransitionType: { enter: string; exit: string; popEnter: string; popExit: string };
constructor(duration: number, nativeCurve: any);
public getDuration(): number;
public getCurve(): any;

View File

@ -1,5 +1,6 @@
let transitionId = 0;
export class Transition {
static AndroidTransitionType = {};
private _duration: number;
private _curve: UIViewAnimationCurve;
private _id: number;

View File

@ -1,11 +1,11 @@
import * as transition from '.';
import { Transition } from '.';
import { Screen } from '../../platform';
import lazy from '../../utils/lazy';
const screenWidth = lazy(() => Screen.mainScreen.widthPixels);
const screenHeight = lazy(() => Screen.mainScreen.heightPixels);
export class SlideTransition extends transition.Transition {
export class SlideTransition extends Transition {
private _direction: string;
constructor(direction: string, duration: number, curve: any) {
@ -18,19 +18,19 @@ export class SlideTransition extends transition.Transition {
switch (this._direction) {
case 'left':
switch (transitionType) {
case transition.AndroidTransitionType.enter:
case Transition.AndroidTransitionType.enter:
translationValues[0] = screenWidth();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.exit:
case Transition.AndroidTransitionType.exit:
translationValues[0] = 0;
translationValues[1] = -screenWidth();
break;
case transition.AndroidTransitionType.popEnter:
case Transition.AndroidTransitionType.popEnter:
translationValues[0] = -screenWidth();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.popExit:
case Transition.AndroidTransitionType.popExit:
translationValues[0] = 0;
translationValues[1] = screenWidth();
break;
@ -38,19 +38,19 @@ export class SlideTransition extends transition.Transition {
break;
case 'right':
switch (transitionType) {
case transition.AndroidTransitionType.enter:
case Transition.AndroidTransitionType.enter:
translationValues[0] = -screenWidth();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.exit:
case Transition.AndroidTransitionType.exit:
translationValues[0] = 0;
translationValues[1] = screenWidth();
break;
case transition.AndroidTransitionType.popEnter:
case Transition.AndroidTransitionType.popEnter:
translationValues[0] = screenWidth();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.popExit:
case Transition.AndroidTransitionType.popExit:
translationValues[0] = 0;
translationValues[1] = -screenWidth();
break;
@ -58,19 +58,19 @@ export class SlideTransition extends transition.Transition {
break;
case 'top':
switch (transitionType) {
case transition.AndroidTransitionType.enter:
case Transition.AndroidTransitionType.enter:
translationValues[0] = screenHeight();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.exit:
case Transition.AndroidTransitionType.exit:
translationValues[0] = 0;
translationValues[1] = -screenHeight();
break;
case transition.AndroidTransitionType.popEnter:
case Transition.AndroidTransitionType.popEnter:
translationValues[0] = -screenHeight();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.popExit:
case Transition.AndroidTransitionType.popExit:
translationValues[0] = 0;
translationValues[1] = screenHeight();
break;
@ -78,19 +78,19 @@ export class SlideTransition extends transition.Transition {
break;
case 'bottom':
switch (transitionType) {
case transition.AndroidTransitionType.enter:
case Transition.AndroidTransitionType.enter:
translationValues[0] = -screenHeight();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.exit:
case Transition.AndroidTransitionType.exit:
translationValues[0] = 0;
translationValues[1] = screenHeight();
break;
case transition.AndroidTransitionType.popEnter:
case Transition.AndroidTransitionType.popEnter:
translationValues[0] = screenHeight();
translationValues[1] = 0;
break;
case transition.AndroidTransitionType.popExit:
case Transition.AndroidTransitionType.popExit:
translationValues[0] = 0;
translationValues[1] = -screenHeight();
break;