diff --git a/src/api-impl/android/os/ConditionVariable.java b/src/api-impl/android/os/ConditionVariable.java index 7193fa9c..346cc5d4 100644 --- a/src/api-impl/android/os/ConditionVariable.java +++ b/src/api-impl/android/os/ConditionVariable.java @@ -2,6 +2,8 @@ package android.os; public class ConditionVariable { + public ConditionVariable(boolean state) {} + public void open() {} public void block() {} diff --git a/src/api-impl/android/view/MotionEvent.java b/src/api-impl/android/view/MotionEvent.java index 3c85c0c2..359affb6 100644 --- a/src/api-impl/android/view/MotionEvent.java +++ b/src/api-impl/android/view/MotionEvent.java @@ -1540,11 +1540,11 @@ public final class MotionEvent extends InputEvent { pc[0].pressure = pressure; pc[0].size = size; - ev.mNativePtr = nativeInitialize(ev.mNativePtr, - deviceId, /*InputDevice.SOURCE_UNKNOWN*/ 0, action, 0, edgeFlags, metaState, 0, - 0, 0, xPrecision, yPrecision, - downTime * NS_PER_MS, eventTime * NS_PER_MS, - 1, pp, pc); +// ev.mNativePtr = nativeInitialize(ev.mNativePtr, +// deviceId, /*InputDevice.SOURCE_UNKNOWN*/ 0, action, 0, edgeFlags, metaState, 0, +// 0, 0, xPrecision, yPrecision, +// downTime * NS_PER_MS, eventTime * NS_PER_MS, +// 1, pp, pc); return ev; } } diff --git a/src/api-impl/android/view/VelocityTracker.java b/src/api-impl/android/view/VelocityTracker.java index 36960a02..352945f8 100644 --- a/src/api-impl/android/view/VelocityTracker.java +++ b/src/api-impl/android/view/VelocityTracker.java @@ -5,4 +5,8 @@ public class VelocityTracker { public static VelocityTracker obtain() { return new VelocityTracker(); } + + public void addMovement(MotionEvent event) {} + + public void recycle() {} } diff --git a/src/api-impl/android/view/View.java b/src/api-impl/android/view/View.java index 7438bc51..2b0322c1 100644 --- a/src/api-impl/android/view/View.java +++ b/src/api-impl/android/view/View.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Matrix; +import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Handler; @@ -799,6 +800,8 @@ public class View extends Object { private int scrollX = 0; private int scrollY = 0; + private boolean attachedToWindow = false; + public long widget; // pointer public static HashMap view_by_id = new HashMap(); @@ -1247,7 +1250,7 @@ public class View extends Object { public void clearAnimation() {} public ViewPropertyAnimator animate() { - return new ViewPropertyAnimator(); + return new ViewPropertyAnimator(this); } public float getTranslationX() {return 0.f;} @@ -1385,7 +1388,7 @@ public class View extends Object { public void setPaddingRelative(int start, int top, int end, int bottom) {} - public boolean isAttachedToWindow() {return true;} + public boolean isAttachedToWindow() {return attachedToWindow;} public void requestApplyInsets() {} @@ -1457,4 +1460,10 @@ public class View extends Object { } public void setKeepScreenOn(boolean screenOn) {} + + protected void onAttachedToWindow () { + attachedToWindow = true; + } + + public void setLayerType(int layerType, Paint paint) {} } diff --git a/src/api-impl/android/view/ViewGroup.java b/src/api-impl/android/view/ViewGroup.java index ecde5bc6..413b16dd 100644 --- a/src/api-impl/android/view/ViewGroup.java +++ b/src/api-impl/android/view/ViewGroup.java @@ -75,6 +75,9 @@ public class ViewGroup extends View implements ViewParent, ViewManager { index = children.size(); children.add(index, child); native_addView(widget, child.widget, index, params); + if (isAttachedToWindow()) { + child.onAttachedToWindow(); + } requestLayout(); } @@ -291,6 +294,14 @@ public class ViewGroup extends View implements ViewParent, ViewManager { public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {} + @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + for (View child: children) { + child.onAttachedToWindow(); + } + } + public static class LayoutParams { public static final int FILL_PARENT = -1; public static final int MATCH_PARENT = -1; diff --git a/src/api-impl/android/view/ViewPropertyAnimator.java b/src/api-impl/android/view/ViewPropertyAnimator.java index ceaa9ada..2548347d 100644 --- a/src/api-impl/android/view/ViewPropertyAnimator.java +++ b/src/api-impl/android/view/ViewPropertyAnimator.java @@ -5,6 +5,12 @@ import android.animation.TimeInterpolator; public class ViewPropertyAnimator { + private View view; + + public ViewPropertyAnimator(View view) { + this.view = view; + } + public void cancel() {} public ViewPropertyAnimator setInterpolator(TimeInterpolator interpolator) { @@ -18,6 +24,7 @@ public class ViewPropertyAnimator { } public ViewPropertyAnimator alpha(float alpha) { + view.setAlpha(alpha); return this; } diff --git a/src/api-impl/android/view/Window.java b/src/api-impl/android/view/Window.java index a5207241..240f6599 100644 --- a/src/api-impl/android/view/Window.java +++ b/src/api-impl/android/view/Window.java @@ -43,6 +43,7 @@ public class Window { public void setContentView(View view) { if (view != contentView) { contentView = view; + view.onAttachedToWindow(); set_widget_as_root(native_window, view.widget); } } diff --git a/src/api-impl/android/widget/TextView.java b/src/api-impl/android/widget/TextView.java index c8fe5014..42a7b055 100644 --- a/src/api-impl/android/widget/TextView.java +++ b/src/api-impl/android/widget/TextView.java @@ -183,6 +183,8 @@ public class TextView extends View { return new MovementMethod(); } + public CharSequence getHint() {return "HINT";} + public static interface OnEditorActionListener { }