From fb3b7bc6c4719a9d80ea1b786bb34f1c34cd98d7 Mon Sep 17 00:00:00 2001 From: Vladimir Enchev Date: Mon, 1 Feb 2016 10:55:01 +0200 Subject: [PATCH] Array.create used instead reflection --- file-system/file-system-access.android.ts | 2 +- ui/animation/animation.android.ts | 29 ++++++++--------------- ui/segmented-bar/segmented-bar.android.ts | 2 +- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/file-system/file-system-access.android.ts b/file-system/file-system-access.android.ts index 8c7d94507..1c9db40d9 100644 --- a/file-system/file-system-access.android.ts +++ b/file-system/file-system-access.android.ts @@ -201,7 +201,7 @@ export class FileSystemAccess { try { var javaFile = new java.io.File(path); 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 = (Array).create("byte", javaFile.length()); var dataInputStream = new java.io.DataInputStream(stream); dataInputStream.readFully(bytes); return bytes; diff --git a/ui/animation/animation.android.ts b/ui/animation/animation.android.ts index b8c6ecff4..434e060b3 100644 --- a/ui/animation/animation.android.ts +++ b/ui/animation/animation.android.ts @@ -8,13 +8,6 @@ import enums = require("ui/enums"); global.moduleMerge(common, exports); -var floatType; -function ensureFloatType() { - if (!floatType) { - floatType = java.lang.Float.class.getField("TYPE").get(null); - } -} - var argbEvaluator: android.animation.ArgbEvaluator; function ensureArgbEvaluator() { if (!argbEvaluator) { @@ -54,7 +47,7 @@ export class Animation extends common.Animation implements definition.Animation this._createAnimators(this._propertyAnimations[i]); } - this._nativeAnimatorsArray = java.lang.reflect.Array.newInstance(android.animation.Animator.class, this._animators.length); + this._nativeAnimatorsArray = (Array).create(android.animation.Animator, this._animators.length); i = 0; length = this._animators.length; for (; i < length; i++) { @@ -165,14 +158,12 @@ export class Animation extends common.Animation implements definition.Animation } } } - - ensureFloatType(); switch (propertyAnimation.property) { case common.Properties.opacity: originalValue1 = nativeView.getAlpha(); - nativeArray = java.lang.reflect.Array.newInstance(floatType, 1); + nativeArray = (Array).create("float", 1); nativeArray[0] = propertyAnimation.value; propertyUpdateCallbacks.push(checkAnimation(() => { propertyAnimation.target.opacity = propertyAnimation.value })); propertyResetCallbacks.push(checkAnimation(() => { nativeView.setAlpha(originalValue1); })); @@ -182,7 +173,7 @@ export class Animation extends common.Animation implements definition.Animation case common.Properties.backgroundColor: ensureArgbEvaluator(); originalValue1 = nativeView.getBackground(); - nativeArray = java.lang.reflect.Array.newInstance(java.lang.Object.class, 2); + nativeArray = (Array).create(java.lang.Object, 2); nativeArray[0] = propertyAnimation.target.backgroundColor ? java.lang.Integer.valueOf((propertyAnimation.target.backgroundColor).argb) : java.lang.Integer.valueOf(-1); nativeArray[1] = java.lang.Integer.valueOf((propertyAnimation.value).argb); var animator = android.animation.ValueAnimator.ofObject(argbEvaluator, nativeArray); @@ -199,14 +190,14 @@ export class Animation extends common.Animation implements definition.Animation break; case common.Properties.translate: - xyObjectAnimators = java.lang.reflect.Array.newInstance(android.animation.Animator.class, 2); + xyObjectAnimators = (Array).create(android.animation.Animator, 2); - nativeArray = java.lang.reflect.Array.newInstance(floatType, 1); + nativeArray = (Array).create("float", 1); nativeArray[0] = propertyAnimation.value.x * density; xyObjectAnimators[0] = android.animation.ObjectAnimator.ofFloat(nativeView, "translationX", nativeArray); xyObjectAnimators[0].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations)); - nativeArray = java.lang.reflect.Array.newInstance(floatType, 1); + nativeArray = (Array).create("float", 1); nativeArray[0] = propertyAnimation.value.y * density; xyObjectAnimators[1] = android.animation.ObjectAnimator.ofFloat(nativeView, "translationY", nativeArray); xyObjectAnimators[1].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations)); @@ -231,14 +222,14 @@ export class Animation extends common.Animation implements definition.Animation break; case common.Properties.scale: - xyObjectAnimators = java.lang.reflect.Array.newInstance(android.animation.Animator.class, 2); + xyObjectAnimators = (Array).create(android.animation.Animator, 2); - nativeArray = java.lang.reflect.Array.newInstance(floatType, 1); + nativeArray = (Array).create("float", 1); nativeArray[0] = propertyAnimation.value.x; xyObjectAnimators[0] = android.animation.ObjectAnimator.ofFloat(nativeView, "scaleX", nativeArray); xyObjectAnimators[0].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations)); - nativeArray = java.lang.reflect.Array.newInstance(floatType, 1); + nativeArray = (Array).create("float", 1); nativeArray[0] = propertyAnimation.value.y; xyObjectAnimators[1] = android.animation.ObjectAnimator.ofFloat(nativeView, "scaleY", nativeArray); xyObjectAnimators[1].setRepeatCount(Animation._getAndroidRepeatCount(propertyAnimation.iterations)); @@ -264,7 +255,7 @@ export class Animation extends common.Animation implements definition.Animation case common.Properties.rotate: originalValue1 = nativeView.getRotation(); - nativeArray = java.lang.reflect.Array.newInstance(floatType, 1); + nativeArray = (Array).create("float", 1); nativeArray[0] = propertyAnimation.value; propertyUpdateCallbacks.push(checkAnimation(() => { propertyAnimation.target.rotate = propertyAnimation.value; })); propertyResetCallbacks.push(checkAnimation(() => { nativeView.setRotation(originalValue1); })); diff --git a/ui/segmented-bar/segmented-bar.android.ts b/ui/segmented-bar/segmented-bar.android.ts index 860427937..a9a078e68 100644 --- a/ui/segmented-bar/segmented-bar.android.ts +++ b/ui/segmented-bar/segmented-bar.android.ts @@ -86,7 +86,7 @@ function onItemsPropertyChanged(data: dependencyObservable.PropertyChangeData) { 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 = (Array).create("int", 1); arr[0] = R_ATTR_STATE_SELECTED; var colorDrawable: android.graphics.drawable.ColorDrawable = new SegmentedBarColorDrawableClass(view.selectedBackgroundColor.android) stateDrawable.addState(arr, colorDrawable);