mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-26 11:17:04 +08:00
Array.create used instead reflection
This commit is contained in:
@ -201,7 +201,7 @@ export class FileSystemAccess {
|
|||||||
try {
|
try {
|
||||||
var javaFile = new java.io.File(path);
|
var javaFile = new java.io.File(path);
|
||||||
var stream = new java.io.FileInputStream(javaFile);
|
var stream = new java.io.FileInputStream(javaFile);
|
||||||
var bytes = java.lang.reflect.Array.newInstance(java.lang.Byte.class.getField("TYPE").get(null), javaFile.length());
|
var bytes = (<any>Array).create("byte", javaFile.length());
|
||||||
var dataInputStream = new java.io.DataInputStream(stream);
|
var dataInputStream = new java.io.DataInputStream(stream);
|
||||||
dataInputStream.readFully(bytes);
|
dataInputStream.readFully(bytes);
|
||||||
return bytes;
|
return bytes;
|
||||||
|
@ -8,13 +8,6 @@ import enums = require("ui/enums");
|
|||||||
|
|
||||||
global.moduleMerge(common, exports);
|
global.moduleMerge(common, exports);
|
||||||
|
|
||||||
var floatType;
|
|
||||||
function ensureFloatType() {
|
|
||||||
if (!floatType) {
|
|
||||||
floatType = java.lang.Float.class.getField("TYPE").get(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var argbEvaluator: android.animation.ArgbEvaluator;
|
var argbEvaluator: android.animation.ArgbEvaluator;
|
||||||
function ensureArgbEvaluator() {
|
function ensureArgbEvaluator() {
|
||||||
if (!argbEvaluator) {
|
if (!argbEvaluator) {
|
||||||
@ -54,7 +47,7 @@ export class Animation extends common.Animation implements definition.Animation
|
|||||||
this._createAnimators(this._propertyAnimations[i]);
|
this._createAnimators(this._propertyAnimations[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._nativeAnimatorsArray = java.lang.reflect.Array.newInstance(android.animation.Animator.class, this._animators.length);
|
this._nativeAnimatorsArray = (<any>Array).create(android.animation.Animator, this._animators.length);
|
||||||
i = 0;
|
i = 0;
|
||||||
length = this._animators.length;
|
length = this._animators.length;
|
||||||
for (; i < length; i++) {
|
for (; i < length; i++) {
|
||||||
@ -165,14 +158,12 @@ export class Animation extends common.Animation implements definition.Animation
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ensureFloatType();
|
|
||||||
|
|
||||||
switch (propertyAnimation.property) {
|
switch (propertyAnimation.property) {
|
||||||
|
|
||||||
case common.Properties.opacity:
|
case common.Properties.opacity:
|
||||||
originalValue1 = nativeView.getAlpha();
|
originalValue1 = nativeView.getAlpha();
|
||||||
nativeArray = java.lang.reflect.Array.newInstance(floatType, 1);
|
nativeArray = (<any>Array).create("float", 1);
|
||||||
nativeArray[0] = propertyAnimation.value;
|
nativeArray[0] = propertyAnimation.value;
|
||||||
propertyUpdateCallbacks.push(checkAnimation(() => { propertyAnimation.target.opacity = propertyAnimation.value }));
|
propertyUpdateCallbacks.push(checkAnimation(() => { propertyAnimation.target.opacity = propertyAnimation.value }));
|
||||||
propertyResetCallbacks.push(checkAnimation(() => { nativeView.setAlpha(originalValue1); }));
|
propertyResetCallbacks.push(checkAnimation(() => { nativeView.setAlpha(originalValue1); }));
|
||||||
@ -182,7 +173,7 @@ export class Animation extends common.Animation implements definition.Animation
|
|||||||
case common.Properties.backgroundColor:
|
case common.Properties.backgroundColor:
|
||||||
ensureArgbEvaluator();
|
ensureArgbEvaluator();
|
||||||
originalValue1 = nativeView.getBackground();
|
originalValue1 = nativeView.getBackground();
|
||||||
nativeArray = java.lang.reflect.Array.newInstance(java.lang.Object.class, 2);
|
nativeArray = (<any>Array).create(java.lang.Object, 2);
|
||||||
nativeArray[0] = propertyAnimation.target.backgroundColor ? java.lang.Integer.valueOf((<color.Color>propertyAnimation.target.backgroundColor).argb) : java.lang.Integer.valueOf(-1);
|
nativeArray[0] = propertyAnimation.target.backgroundColor ? java.lang.Integer.valueOf((<color.Color>propertyAnimation.target.backgroundColor).argb) : java.lang.Integer.valueOf(-1);
|
||||||
nativeArray[1] = java.lang.Integer.valueOf((<color.Color>propertyAnimation.value).argb);
|
nativeArray[1] = java.lang.Integer.valueOf((<color.Color>propertyAnimation.value).argb);
|
||||||
var animator = android.animation.ValueAnimator.ofObject(argbEvaluator, nativeArray);
|
var animator = android.animation.ValueAnimator.ofObject(argbEvaluator, nativeArray);
|
||||||
@ -199,14 +190,14 @@ export class Animation extends common.Animation implements definition.Animation
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case common.Properties.translate:
|
case common.Properties.translate:
|
||||||
xyObjectAnimators = java.lang.reflect.Array.newInstance(android.animation.Animator.class, 2);
|
xyObjectAnimators = (<any>Array).create(android.animation.Animator, 2);
|
||||||
|
|
||||||
nativeArray = java.lang.reflect.Array.newInstance(floatType, 1);
|
nativeArray = (<any>Array).create("float", 1);
|
||||||
nativeArray[0] = propertyAnimation.value.x * density;
|
nativeArray[0] = propertyAnimation.value.x * density;
|
||||||
xyObjectAnimators[0] = android.animation.ObjectAnimator.ofFloat(nativeView, "translationX", nativeArray);
|
xyObjectAnimators[0] = android.animation.ObjectAnimator.ofFloat(nativeView, "translationX", nativeArray);
|
||||||
xyObjectAnimators[0].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
xyObjectAnimators[0].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
||||||
|
|
||||||
nativeArray = java.lang.reflect.Array.newInstance(floatType, 1);
|
nativeArray = (<any>Array).create("float", 1);
|
||||||
nativeArray[0] = propertyAnimation.value.y * density;
|
nativeArray[0] = propertyAnimation.value.y * density;
|
||||||
xyObjectAnimators[1] = android.animation.ObjectAnimator.ofFloat(nativeView, "translationY", nativeArray);
|
xyObjectAnimators[1] = android.animation.ObjectAnimator.ofFloat(nativeView, "translationY", nativeArray);
|
||||||
xyObjectAnimators[1].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
xyObjectAnimators[1].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
||||||
@ -231,14 +222,14 @@ export class Animation extends common.Animation implements definition.Animation
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case common.Properties.scale:
|
case common.Properties.scale:
|
||||||
xyObjectAnimators = java.lang.reflect.Array.newInstance(android.animation.Animator.class, 2);
|
xyObjectAnimators = (<any>Array).create(android.animation.Animator, 2);
|
||||||
|
|
||||||
nativeArray = java.lang.reflect.Array.newInstance(floatType, 1);
|
nativeArray = (<any>Array).create("float", 1);
|
||||||
nativeArray[0] = propertyAnimation.value.x;
|
nativeArray[0] = propertyAnimation.value.x;
|
||||||
xyObjectAnimators[0] = android.animation.ObjectAnimator.ofFloat(nativeView, "scaleX", nativeArray);
|
xyObjectAnimators[0] = android.animation.ObjectAnimator.ofFloat(nativeView, "scaleX", nativeArray);
|
||||||
xyObjectAnimators[0].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
xyObjectAnimators[0].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
||||||
|
|
||||||
nativeArray = java.lang.reflect.Array.newInstance(floatType, 1);
|
nativeArray = (<any>Array).create("float", 1);
|
||||||
nativeArray[0] = propertyAnimation.value.y;
|
nativeArray[0] = propertyAnimation.value.y;
|
||||||
xyObjectAnimators[1] = android.animation.ObjectAnimator.ofFloat(nativeView, "scaleY", nativeArray);
|
xyObjectAnimators[1] = android.animation.ObjectAnimator.ofFloat(nativeView, "scaleY", nativeArray);
|
||||||
xyObjectAnimators[1].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
xyObjectAnimators[1].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations));
|
||||||
@ -264,7 +255,7 @@ export class Animation extends common.Animation implements definition.Animation
|
|||||||
|
|
||||||
case common.Properties.rotate:
|
case common.Properties.rotate:
|
||||||
originalValue1 = nativeView.getRotation();
|
originalValue1 = nativeView.getRotation();
|
||||||
nativeArray = java.lang.reflect.Array.newInstance(floatType, 1);
|
nativeArray = (<any>Array).create("float", 1);
|
||||||
nativeArray[0] = propertyAnimation.value;
|
nativeArray[0] = propertyAnimation.value;
|
||||||
propertyUpdateCallbacks.push(checkAnimation(() => { propertyAnimation.target.rotate = propertyAnimation.value; }));
|
propertyUpdateCallbacks.push(checkAnimation(() => { propertyAnimation.target.rotate = propertyAnimation.value; }));
|
||||||
propertyResetCallbacks.push(checkAnimation(() => { nativeView.setRotation(originalValue1); }));
|
propertyResetCallbacks.push(checkAnimation(() => { nativeView.setRotation(originalValue1); }));
|
||||||
|
@ -86,7 +86,7 @@ function onItemsPropertyChanged(data: dependencyObservable.PropertyChangeData) {
|
|||||||
|
|
||||||
var stateDrawable = new android.graphics.drawable.StateListDrawable();
|
var stateDrawable = new android.graphics.drawable.StateListDrawable();
|
||||||
|
|
||||||
var arr = java.lang.reflect.Array.newInstance(java.lang.Integer.class.getField("TYPE").get(null), 1);
|
var arr = (<any>Array).create("int", 1);
|
||||||
arr[0] = R_ATTR_STATE_SELECTED;
|
arr[0] = R_ATTR_STATE_SELECTED;
|
||||||
var colorDrawable: android.graphics.drawable.ColorDrawable = new SegmentedBarColorDrawableClass(view.selectedBackgroundColor.android)
|
var colorDrawable: android.graphics.drawable.ColorDrawable = new SegmentedBarColorDrawableClass(view.selectedBackgroundColor.android)
|
||||||
stateDrawable.addState(arr, colorDrawable);
|
stateDrawable.addState(arr, colorDrawable);
|
||||||
|
Reference in New Issue
Block a user