Add a flag we can use to skip string template calcs in release

This commit is contained in:
Panayot Cankov
2016-05-17 15:36:33 +03:00
parent 114f8b47ae
commit eda260323e
42 changed files with 705 additions and 238 deletions

View File

@ -37,19 +37,25 @@ export module AndroidTransitionType {
export function _clearBackwardTransitions(fragment: any): void {
var expandedFragment = <ExpandedFragment>fragment;
if (expandedFragment.enterPopExitTransition) {
trace.write(`Cleared enterPopExitTransition ${expandedFragment.enterPopExitTransition} for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`Cleared enterPopExitTransition ${expandedFragment.enterPopExitTransition} for ${fragment.getTag()}`, trace.categories.Transition);
}
expandedFragment.enterPopExitTransition = undefined;
}
if (_sdkVersion() >= 21) {
var enterTransition = (<any>fragment).getEnterTransition();
if (enterTransition) {
trace.write(`Cleared Enter ${enterTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`Cleared Enter ${enterTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
}
(<any>fragment).setEnterTransition(null);
}
var returnTransition = (<any>fragment).getReturnTransition();
if (returnTransition) {
trace.write(`Cleared Pop Exit ${returnTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`Cleared Pop Exit ${returnTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
}
(<any>fragment).setReturnTransition(null);
}
}
@ -58,19 +64,25 @@ export function _clearBackwardTransitions(fragment: any): void {
export function _clearForwardTransitions(fragment: any): void {
var expandedFragment = <ExpandedFragment>fragment;
if (expandedFragment.exitPopEnterTransition) {
trace.write(`Cleared exitPopEnterTransition ${expandedFragment.exitPopEnterTransition} for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`Cleared exitPopEnterTransition ${expandedFragment.exitPopEnterTransition} for ${fragment.getTag()}`, trace.categories.Transition);
}
expandedFragment.exitPopEnterTransition = undefined;
}
if (_sdkVersion() >= 21) {
var exitTransition = (<any>fragment).getExitTransition();
if (exitTransition) {
trace.write(`Cleared Exit ${exitTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`Cleared Exit ${exitTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
}
(<any>fragment).setExitTransition(null);//exit
}
var reenterTransition = (<any>fragment).getReenterTransition();
if (reenterTransition) {
trace.write(`Cleared Pop Enter ${reenterTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`Cleared Pop Enter ${reenterTransition.getClass().getSimpleName()} transition for ${fragment.getTag()}`, trace.categories.Transition);
}
(<any>fragment).setReenterTransition(null);//popEnter
}
}
@ -239,13 +251,17 @@ export function _onFragmentShown(fragment: any, isBack: boolean): void {
var transitionType = isBack ? "Pop Enter" : "Enter";
var relevantTransition = isBack ? expandedFragment.exitPopEnterTransition : expandedFragment.enterPopExitTransition;
if (relevantTransition) {
trace.write(`${fragment.getTag() } has been shown when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${relevantTransition}. Will complete page addition when transition ends.`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`${fragment.getTag() } has been shown when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${relevantTransition}. Will complete page addition when transition ends.`, trace.categories.Transition);
}
expandedFragment.completePageAdditionWhenTransitionEnds = { isBack: isBack };
}
else if (_sdkVersion() >= 21) {
var nativeTransition = isBack ? (<any>fragment).getReenterTransition() : (<any>fragment).getEnterTransition();
if (nativeTransition) {
trace.write(`${fragment.getTag() } has been shown when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${nativeTransition.getClass().getSimpleName()} transition. Will complete page addition when transition ends.`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`${fragment.getTag() } has been shown when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${nativeTransition.getClass().getSimpleName()} transition. Will complete page addition when transition ends.`, trace.categories.Transition);
}
expandedFragment.completePageAdditionWhenTransitionEnds = { isBack: isBack };
}
}
@ -260,13 +276,17 @@ export function _onFragmentHidden(fragment: any, isBack: boolean, destroyed: boo
var transitionType = isBack ? "Pop Exit" : "Exit";
var relevantTransition = isBack ? expandedFragment.enterPopExitTransition : expandedFragment.exitPopEnterTransition;
if (relevantTransition) {
trace.write(`${fragment.getTag()} has been hidden when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${relevantTransition}. Will complete page removal when transition ends.`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`${fragment.getTag()} has been hidden when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${relevantTransition}. Will complete page removal when transition ends.`, trace.categories.Transition);
}
expandedFragment.completePageRemovalWhenTransitionEnds = { isBack: isBack };
}
else if (_sdkVersion() >= 21) {
var nativeTransition = isBack ? (<any>fragment).getReturnTransition() : (<any>fragment).getExitTransition();
if (nativeTransition) {
trace.write(`${fragment.getTag()} has been hidden when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${nativeTransition.getClass().getSimpleName()} transition. Will complete page removal when transition ends.`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`${fragment.getTag()} has been hidden when going ${isBack ? "back" : "forward"}, but there is ${transitionType} ${nativeTransition.getClass().getSimpleName()} transition. Will complete page removal when transition ends.`, trace.categories.Transition);
}
expandedFragment.completePageRemovalWhenTransitionEnds = { isBack: isBack };
}
}
@ -290,7 +310,9 @@ function _completePageAddition(fragment: any, isBack: boolean) {
page.onNavigatedTo(isBack);
frame._processNavigationQueue(page);
entry.isNavigation = undefined;
trace.write(`ADDITION of ${page} completed`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`ADDITION of ${page} completed`, trace.categories.Transition);
}
}
function _completePageRemoval(fragment: any, isBack: boolean) {
@ -305,20 +327,28 @@ function _completePageRemoval(fragment: any, isBack: boolean) {
if (entry.isNavigation) {
page.onNavigatedFrom(isBack);
}
trace.write(`REMOVAL of ${page} completed`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`REMOVAL of ${page} completed`, trace.categories.Transition);
}
}
else {
trace.write(`REMOVAL of ${page} has already been done`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`REMOVAL of ${page} has already been done`, trace.categories.Transition);
}
}
if (expandedFragment.isDestroyed) {
expandedFragment.isDestroyed = undefined;
if (page._context) {
page._onDetached(true);
trace.write(`DETACHMENT of ${page} completed`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`DETACHMENT of ${page} completed`, trace.categories.Transition);
}
}
else {
trace.write(`DETACHMENT of ${page} has already been done`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`DETACHMENT of ${page} has already been done`, trace.categories.Transition);
}
}
}
@ -329,7 +359,9 @@ function _addNativeTransitionListener(fragment: any, nativeTransition: any/*andr
var expandedFragment = <ExpandedFragment>fragment;
var transitionListener = new (<any>android).transition.Transition.TransitionListener({
onTransitionCancel: function (transition: any): void {
trace.write(`CANCEL ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`CANCEL ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
}
if (expandedFragment.completePageRemovalWhenTransitionEnds) {
_completePageRemoval(fragment, expandedFragment.completePageRemovalWhenTransitionEnds.isBack);
}
@ -338,7 +370,9 @@ function _addNativeTransitionListener(fragment: any, nativeTransition: any/*andr
}
},
onTransitionEnd: function (transition: any): void {
trace.write(`END ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`END ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
}
if (expandedFragment.completePageRemovalWhenTransitionEnds) {
_completePageRemoval(fragment, expandedFragment.completePageRemovalWhenTransitionEnds.isBack);
}
@ -347,13 +381,19 @@ function _addNativeTransitionListener(fragment: any, nativeTransition: any/*andr
}
},
onTransitionPause: function (transition: any): void {
trace.write(`PAUSE ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`PAUSE ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
}
},
onTransitionResume: function (transition: any): void {
trace.write(`RESUME ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`RESUME ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
}
},
onTransitionStart: function (transition: any): void {
trace.write(`START ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`START ${nativeTransition} transition for ${fragment}`, trace.categories.Transition);
}
}
});
nativeTransition.addListener(transitionListener);
@ -386,13 +426,19 @@ export function _onFragmentCreateAnimator(fragment: any, nextAnim: number): andr
animator = <android.animation.Animator>transition.createAndroidAnimator(transitionType);
var transitionListener = new android.animation.Animator.AnimatorListener({
onAnimationStart: function (animator: android.animation.Animator): void {
trace.write(`START ${transitionType} ${transition} for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`START ${transitionType} ${transition} for ${fragment.getTag()}`, trace.categories.Transition);
}
},
onAnimationRepeat: function (animator: android.animation.Animator): void {
trace.write(`REPEAT ${transitionType} ${transition} for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`REPEAT ${transitionType} ${transition} for ${fragment.getTag()}`, trace.categories.Transition);
}
},
onAnimationEnd: function (animator: android.animation.Animator): void {
trace.write(`END ${transitionType} ${transition}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`END ${transitionType} ${transition}`, trace.categories.Transition);
}
if (expandedFragment.completePageRemovalWhenTransitionEnds) {
_completePageRemoval(fragment, expandedFragment.completePageRemovalWhenTransitionEnds.isBack);
}
@ -401,7 +447,9 @@ export function _onFragmentCreateAnimator(fragment: any, nextAnim: number): andr
}
},
onAnimationCancel: function (animator: android.animation.Animator): void {
trace.write(`CANCEL ${transitionType} ${transition} for ${fragment.getTag()}`, trace.categories.Transition);
if (trace.enabled) {
trace.write(`CANCEL ${transitionType} ${transition} for ${fragment.getTag()}`, trace.categories.Transition);
}
if (expandedFragment.completePageRemovalWhenTransitionEnds) {
_completePageRemoval(fragment, expandedFragment.completePageRemovalWhenTransitionEnds.isBack);
}