From c830abc5f333e3dc86f817becbb430adc6a13134 Mon Sep 17 00:00:00 2001 From: Julian Winkler Date: Tue, 19 Sep 2023 23:22:21 +0200 Subject: [PATCH] add more API stubs for NewPipe --- src/api-impl/android/animation/Animator.java | 9 ++- .../android/animation/ObjectAnimator.java | 8 ++ src/api-impl/android/content/Intent.java | 13 ++- .../android/content/res/Resources.java | 4 + src/api-impl/android/graphics/Canvas.java | 3 + src/api-impl/android/graphics/Paint.java | 4 + src/api-impl/android/graphics/Path.java | 15 ++-- src/api-impl/android/net/Uri.java | 3 + .../android/os/ConditionVariable.java | 8 ++ src/api-impl/android/provider/Settings.java | 4 + .../android/telephony/TelephonyManager.java | 2 + .../android/text/method/MovementMethod.java | 4 + .../method/PasswordTransformationMethod.java | 7 ++ .../android/text/style/ClickableSpan.java | 4 + src/api-impl/android/text/style/URLSpan.java | 4 + src/api-impl/android/util/Property.java | 80 +++++++++++++++++++ .../android/view/GestureDetector.java | 2 + src/api-impl/android/view/Menu.java | 2 + src/api-impl/android/view/MenuItem.java | 2 + src/api-impl/android/view/SubMenu.java | 2 + src/api-impl/android/view/TextureView.java | 18 +++++ .../android/view/VelocityTracker.java | 8 ++ src/api-impl/android/view/View.java | 14 +++- src/api-impl/android/view/ViewGroup.java | 2 + src/api-impl/android/view/ViewParent.java | 2 + src/api-impl/android/widget/AbsSeekBar.java | 28 +++++++ src/api-impl/android/widget/CheckBox.java | 9 +-- .../android/widget/CompoundButton.java | 10 +++ src/api-impl/android/widget/ImageView.java | 3 + src/api-impl/android/widget/PopupWindow.java | 6 ++ src/api-impl/android/widget/ProgressBar.java | 22 +++++ src/api-impl/android/widget/SeekBar.java | 6 +- src/api-impl/android/widget/TextView.java | 16 ++++ src/api-impl/meson.build | 9 +++ 34 files changed, 310 insertions(+), 23 deletions(-) create mode 100644 src/api-impl/android/os/ConditionVariable.java create mode 100644 src/api-impl/android/text/method/MovementMethod.java create mode 100644 src/api-impl/android/text/style/ClickableSpan.java create mode 100644 src/api-impl/android/text/style/URLSpan.java create mode 100644 src/api-impl/android/util/Property.java create mode 100644 src/api-impl/android/view/TextureView.java create mode 100644 src/api-impl/android/view/VelocityTracker.java create mode 100644 src/api-impl/android/widget/AbsSeekBar.java create mode 100644 src/api-impl/android/widget/PopupWindow.java diff --git a/src/api-impl/android/animation/Animator.java b/src/api-impl/android/animation/Animator.java index 449d3aaa..ff03ced1 100644 --- a/src/api-impl/android/animation/Animator.java +++ b/src/api-impl/android/animation/Animator.java @@ -6,12 +6,17 @@ public class Animator { public abstract void onAnimationEnd (Animator animation); } + private AnimatorListener listener; + public void setTarget(Object target) {} - public void start() {} + public void start() { + if (listener != null) + listener.onAnimationEnd(this); + } public void addListener(AnimatorListener listener) { - listener.onAnimationEnd(Animator.this); + this.listener = listener; } } diff --git a/src/api-impl/android/animation/ObjectAnimator.java b/src/api-impl/android/animation/ObjectAnimator.java index bb252a50..8705d064 100644 --- a/src/api-impl/android/animation/ObjectAnimator.java +++ b/src/api-impl/android/animation/ObjectAnimator.java @@ -1,5 +1,7 @@ package android.animation; +import android.util.Property; + public class ObjectAnimator extends ValueAnimator { public String getPropertyName() { @@ -10,6 +12,12 @@ public class ObjectAnimator extends ValueAnimator { return new ObjectAnimator(); } + public static ObjectAnimator ofFloat(T target, Property property, float... values) { + return new ObjectAnimator(); + } + public ObjectAnimator setDuration(long duration) {return this;} + public void setAutoCancel(boolean autoCancel) {} + } diff --git a/src/api-impl/android/content/Intent.java b/src/api-impl/android/content/Intent.java index 1a6ee4d1..9d499c6f 100644 --- a/src/api-impl/android/content/Intent.java +++ b/src/api-impl/android/content/Intent.java @@ -10,6 +10,7 @@ public class Intent { private Bundle extras = new Bundle(); private String action; private Uri data; + private int flags; public Intent() {} public Intent(Intent o) { @@ -34,11 +35,13 @@ public class Intent { } public Intent addFlags(int flags) { - return this; //?? + this.flags |= flags; + return this; } public Intent setFlags(int flags) { - return this; //?? + this.flags = flags; + return this; } public Intent setPackage(String packageName) { return this; //?? @@ -206,7 +209,7 @@ public class Intent { } public String getAction() { - return null; + return action; } public Bundle getBundleExtra(String name) { @@ -259,4 +262,8 @@ public class Intent { return target; } + public int getFlags() { + return flags; + } + } diff --git a/src/api-impl/android/content/res/Resources.java b/src/api-impl/android/content/res/Resources.java index 5c58b88b..f8e92913 100644 --- a/src/api-impl/android/content/res/Resources.java +++ b/src/api-impl/android/content/res/Resources.java @@ -714,6 +714,10 @@ public class Resources { return res; } + public Drawable getDrawable(int id, Theme theme) throws NotFoundException { + return getDrawable(id); + } + /** * Return a drawable object associated with a particular resource ID for the * given screen density in DPI. This will set the drawable's density to be diff --git a/src/api-impl/android/graphics/Canvas.java b/src/api-impl/android/graphics/Canvas.java index e1660b4f..dd556132 100644 --- a/src/api-impl/android/graphics/Canvas.java +++ b/src/api-impl/android/graphics/Canvas.java @@ -376,6 +376,9 @@ public class Canvas { } public void setBitmap(Bitmap bitmap) {} + + public void drawPath(Path path, Paint paint) {} + private static native void native_drawText(long skia_canvas, CharSequence text, int start, int end, float x, float y, long skia_font, long skia_paint); private static native void native_drawRect(long skia_canvas, float left, float top, float right, float bottom, long skia_paint); private static native void native_drawLine(long skia_canvas, long widget, float startX, float startY, float stopX, float stopY, long skia_paint); diff --git a/src/api-impl/android/graphics/Paint.java b/src/api-impl/android/graphics/Paint.java index c73f2395..e1bc70ef 100644 --- a/src/api-impl/android/graphics/Paint.java +++ b/src/api-impl/android/graphics/Paint.java @@ -203,6 +203,10 @@ public class Paint { public void setStrokeJoin(Join join) {} + public Typeface getTypeface() { + return new Typeface(); + } + private native long native_constructor(); private native void native_set_color(long skia_paint, int color); private native int native_get_color(long skia_paint); diff --git a/src/api-impl/android/graphics/Path.java b/src/api-impl/android/graphics/Path.java index 37532675..c19f1bf4 100644 --- a/src/api-impl/android/graphics/Path.java +++ b/src/api-impl/android/graphics/Path.java @@ -80,7 +80,7 @@ mDetectSimplePaths = HardwareRenderer.isAvailable(); // We promised not to change this, so preserve it around the native // call, which does now reset fill type. final FillType fillType = getFillType(); - native_reset(mNativePath); + // native_reset(mNativePath); setFillType(fillType); } /** @@ -213,7 +213,8 @@ mDetectSimplePaths = HardwareRenderer.isAvailable(); * @return the path's fill type */ public FillType getFillType() { - return sFillTypeArray[native_getFillType(mNativePath)]; + return FillType.WINDING; + // return sFillTypeArray[native_getFillType(mNativePath)]; } /** * Set the path's fill type. This defines how "inside" is computed. @@ -221,7 +222,7 @@ mDetectSimplePaths = HardwareRenderer.isAvailable(); * @param ft The new fill type for this path */ public void setFillType(FillType ft) { - native_setFillType(mNativePath, ft.nativeInt); + // native_setFillType(mNativePath, ft.nativeInt); } /** @@ -292,7 +293,7 @@ mDetectSimplePaths = HardwareRenderer.isAvailable(); * @param y The y-coordinate of the start of a new contour */ public void moveTo(float x, float y) { - native_moveTo(mNativePath, x, y); + // native_moveTo(mNativePath, x, y); } /** * Set the beginning of the next contour relative to the last point on the @@ -317,7 +318,7 @@ mDetectSimplePaths = HardwareRenderer.isAvailable(); */ public void lineTo(float x, float y) { isSimplePath = false; - native_lineTo(mNativePath, x, y); + // native_lineTo(mNativePath, x, y); } /** * Same as lineTo, but the coordinates are considered relative to the last @@ -345,7 +346,7 @@ mDetectSimplePaths = HardwareRenderer.isAvailable(); */ public void quadTo(float x1, float y1, float x2, float y2) { isSimplePath = false; - native_quadTo(mNativePath, x1, y1, x2, y2); + // native_quadTo(mNativePath, x1, y1, x2, y2); } /** * Same as quadTo, but the coordinates are considered relative to the last @@ -433,7 +434,7 @@ mDetectSimplePaths = HardwareRenderer.isAvailable(); */ public void close() { isSimplePath = false; - native_close(mNativePath); + // native_close(mNativePath); } /** * Specifies how closed shapes (e.g. rects, ovals) are oriented when they diff --git a/src/api-impl/android/net/Uri.java b/src/api-impl/android/net/Uri.java index baae422c..38fc0da6 100644 --- a/src/api-impl/android/net/Uri.java +++ b/src/api-impl/android/net/Uri.java @@ -6,6 +6,9 @@ import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; public class Uri { + + public static final Uri EMPTY = new Uri(); + private URI uri; public static Uri parse(String s) { diff --git a/src/api-impl/android/os/ConditionVariable.java b/src/api-impl/android/os/ConditionVariable.java new file mode 100644 index 00000000..7193fa9c --- /dev/null +++ b/src/api-impl/android/os/ConditionVariable.java @@ -0,0 +1,8 @@ +package android.os; + +public class ConditionVariable { + + public void open() {} + + public void block() {} +} diff --git a/src/api-impl/android/provider/Settings.java b/src/api-impl/android/provider/Settings.java index 20748806..f625cf65 100644 --- a/src/api-impl/android/provider/Settings.java +++ b/src/api-impl/android/provider/Settings.java @@ -54,6 +54,10 @@ public class Settings { public static Uri getUriFor(String name) { return null; } + + public static float getFloat(ContentResolver cr, String key, float def) { + return 0.0f; + } } public static final class Global { diff --git a/src/api-impl/android/telephony/TelephonyManager.java b/src/api-impl/android/telephony/TelephonyManager.java index 5284a92a..aa369a2b 100644 --- a/src/api-impl/android/telephony/TelephonyManager.java +++ b/src/api-impl/android/telephony/TelephonyManager.java @@ -8,4 +8,6 @@ public class TelephonyManager { public int getPhoneType() { return 0; // PHONE_TYPE_NONE } + + public String getNetworkCountryIso() {return "";} } diff --git a/src/api-impl/android/text/method/MovementMethod.java b/src/api-impl/android/text/method/MovementMethod.java new file mode 100644 index 00000000..bc453de4 --- /dev/null +++ b/src/api-impl/android/text/method/MovementMethod.java @@ -0,0 +1,4 @@ +package android.text.method; + +public class MovementMethod { +} diff --git a/src/api-impl/android/text/method/PasswordTransformationMethod.java b/src/api-impl/android/text/method/PasswordTransformationMethod.java index 4d15afac..9a0e0adf 100644 --- a/src/api-impl/android/text/method/PasswordTransformationMethod.java +++ b/src/api-impl/android/text/method/PasswordTransformationMethod.java @@ -19,6 +19,7 @@ package android.text.method; import android.graphics.Rect; import android.os.Handler; import android.os.SystemClock; +import android.text.Editable; import android.text.GetChars; import android.text.NoCopySpan; import android.text.Spannable; @@ -173,4 +174,10 @@ public class PasswordTransformationMethod implements TransformationMethod, TextW private static PasswordTransformationMethod sInstance; private static char DOT = '\u2022'; + + @Override + public void afterTextChanged(Editable s) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'afterTextChanged'"); + } } diff --git a/src/api-impl/android/text/style/ClickableSpan.java b/src/api-impl/android/text/style/ClickableSpan.java new file mode 100644 index 00000000..353bf7da --- /dev/null +++ b/src/api-impl/android/text/style/ClickableSpan.java @@ -0,0 +1,4 @@ +package android.text.style; + +public class ClickableSpan { +} diff --git a/src/api-impl/android/text/style/URLSpan.java b/src/api-impl/android/text/style/URLSpan.java new file mode 100644 index 00000000..531ac4a9 --- /dev/null +++ b/src/api-impl/android/text/style/URLSpan.java @@ -0,0 +1,4 @@ +package android.text.style; + +public class URLSpan { +} diff --git a/src/api-impl/android/util/Property.java b/src/api-impl/android/util/Property.java new file mode 100644 index 00000000..e4123c45 --- /dev/null +++ b/src/api-impl/android/util/Property.java @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.util; + +/** + * A property is an abstraction that can be used to represent a mutable value that is held + * in a host object. The Property's {@link #set(Object, Object)} or {@link #get(Object)} + * methods can be implemented in terms of the private fields of the host object, or via "setter" and + * "getter" methods or by some other mechanism, as appropriate. + * + * @param The class on which the property is declared. + * @param The type that this property represents. + */ +public abstract class Property { + private final String mName; + private final Class mType; + + /** + * A constructor that takes an identifying name and {@link #getType() type} for the property. + */ + public Property(Class type, String name) { + mName = name; + mType = type; + } + + /** + * Returns true if the {@link #set(Object, Object)} method does not set the value on the target + * object (in which case the {@link #set(Object, Object) set()} method should throw a {@link + * NoSuchPropertyException} exception). This may happen if the Property wraps functionality that + * allows querying the underlying value but not setting it. For example, the {@link #of(Class, + * Class, String)} factory method may return a Property with name "foo" for an object that has + * only a getFoo() or isFoo() method, but no matching + * setFoo() method. + */ + public boolean isReadOnly() { + return false; + } + + /** + * Sets the value on object which this property represents. If the method is unable + * to set the value on the target object it will throw an {@link UnsupportedOperationException} + * exception. + */ + public void set(T object, V value) { + throw new UnsupportedOperationException("Property " + getName() +" is read-only"); + } + + /** + * Returns the current value that this property represents on the given object. + */ + public abstract V get(T object); + + /** + * Returns the name for this property. + */ + public String getName() { + return mName; + } + + /** + * Returns the type for this property. + */ + public Class getType() { + return mType; + } +} \ No newline at end of file diff --git a/src/api-impl/android/view/GestureDetector.java b/src/api-impl/android/view/GestureDetector.java index 582b3087..be8429e1 100644 --- a/src/api-impl/android/view/GestureDetector.java +++ b/src/api-impl/android/view/GestureDetector.java @@ -7,6 +7,8 @@ public class GestureDetector { public GestureDetector(Context context, OnGestureListener listener, Handler handler) {} + public GestureDetector(Context context, OnGestureListener listener) {} + public interface OnGestureListener { } diff --git a/src/api-impl/android/view/Menu.java b/src/api-impl/android/view/Menu.java index 9c786e91..659f3443 100644 --- a/src/api-impl/android/view/Menu.java +++ b/src/api-impl/android/view/Menu.java @@ -21,4 +21,6 @@ public interface Menu { public MenuItem add(CharSequence text); public void setGroupCheckable(int group, boolean checkable, boolean exclusive); + + public SubMenu addSubMenu(int groupId, int itemId, int order, CharSequence title); } diff --git a/src/api-impl/android/view/MenuItem.java b/src/api-impl/android/view/MenuItem.java index 14421ff9..7483ed3d 100644 --- a/src/api-impl/android/view/MenuItem.java +++ b/src/api-impl/android/view/MenuItem.java @@ -28,4 +28,6 @@ public interface MenuItem { public MenuItem setOnMenuItemClickListener(OnMenuItemClickListener listener); + public MenuItem setTitle(int resId); + } \ No newline at end of file diff --git a/src/api-impl/android/view/SubMenu.java b/src/api-impl/android/view/SubMenu.java index f9f080b2..fef75ecb 100644 --- a/src/api-impl/android/view/SubMenu.java +++ b/src/api-impl/android/view/SubMenu.java @@ -2,4 +2,6 @@ package android.view; public interface SubMenu extends Menu { + public MenuItem getItem(); + } diff --git a/src/api-impl/android/view/TextureView.java b/src/api-impl/android/view/TextureView.java new file mode 100644 index 00000000..e0975668 --- /dev/null +++ b/src/api-impl/android/view/TextureView.java @@ -0,0 +1,18 @@ +package android.view; + +import android.content.Context; +import android.util.AttributeSet; + +public class TextureView extends View { + + public TextureView(Context context) { + super(context); + } + + public TextureView(Context context, AttributeSet attributeSet) { + super(context, attributeSet); + } + + public interface SurfaceTextureListener {} + +} \ No newline at end of file diff --git a/src/api-impl/android/view/VelocityTracker.java b/src/api-impl/android/view/VelocityTracker.java new file mode 100644 index 00000000..36960a02 --- /dev/null +++ b/src/api-impl/android/view/VelocityTracker.java @@ -0,0 +1,8 @@ +package android.view; + +public class VelocityTracker { + + public static VelocityTracker obtain() { + return new VelocityTracker(); + } +} diff --git a/src/api-impl/android/view/View.java b/src/api-impl/android/view/View.java index 21f99f09..7b59902c 100644 --- a/src/api-impl/android/view/View.java +++ b/src/api-impl/android/view/View.java @@ -1255,7 +1255,9 @@ public class View extends Object { public void setTranslationX(float translationX) {} public void setTranslationY(float translationY) {} - public void setAlpha(float alpha) {} + public void setAlpha(float alpha) { + setVisibility((alpha == 0.f) ? INVISIBLE : VISIBLE); + } public boolean onGenericMotionEvent(MotionEvent event) {return false;} @@ -1443,4 +1445,14 @@ public class View extends Object { public boolean isPaddingRelative() {return false;} public void setForeground(Drawable foreground) {} + + public boolean canScrollVertically(int value) {return true;} + + public boolean isInTouchMode() {return false;} + + public void stopNestedScroll() {} + + public long getDrawingTime() { + return System.currentTimeMillis(); + } } diff --git a/src/api-impl/android/view/ViewGroup.java b/src/api-impl/android/view/ViewGroup.java index 21df8255..ecde5bc6 100644 --- a/src/api-impl/android/view/ViewGroup.java +++ b/src/api-impl/android/view/ViewGroup.java @@ -289,6 +289,8 @@ public class ViewGroup extends View implements ViewParent, ViewManager { protected void setChildrenDrawingOrderEnabled(boolean enabled) {} + public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {} + 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/ViewParent.java b/src/api-impl/android/view/ViewParent.java index 31155da3..6f1bf0e3 100644 --- a/src/api-impl/android/view/ViewParent.java +++ b/src/api-impl/android/view/ViewParent.java @@ -4,4 +4,6 @@ public interface ViewParent { public abstract ViewParent getParent(); public boolean isLayoutRequested(); + + public void requestDisallowInterceptTouchEvent(boolean disallowIntercept); } diff --git a/src/api-impl/android/widget/AbsSeekBar.java b/src/api-impl/android/widget/AbsSeekBar.java new file mode 100644 index 00000000..a0851258 --- /dev/null +++ b/src/api-impl/android/widget/AbsSeekBar.java @@ -0,0 +1,28 @@ +package android.widget; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; +import android.util.AttributeSet; + +public abstract class AbsSeekBar extends ProgressBar { + + public AbsSeekBar(Context context) { + super(context); + } + + public AbsSeekBar(Context context, AttributeSet attributeSet) { + super(context, attributeSet); + } + + public Drawable getThumb() { + return new Drawable() { + @Override + public void draw(Canvas canvas) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'draw'"); + } + }; + } + +} diff --git a/src/api-impl/android/widget/CheckBox.java b/src/api-impl/android/widget/CheckBox.java index c351e218..5d11f18c 100644 --- a/src/api-impl/android/widget/CheckBox.java +++ b/src/api-impl/android/widget/CheckBox.java @@ -2,9 +2,8 @@ package android.widget; import android.content.Context; import android.util.AttributeSet; -import android.view.View; -public class CheckBox extends View { +public class CheckBox extends CompoundButton { public CheckBox(Context context) { super(context); @@ -14,10 +13,4 @@ public class CheckBox extends View { super(context, attributeSet); } - public void setChecked(boolean checked) {} - - public void setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener listener) {} - - public boolean isChecked() {return false;} - } diff --git a/src/api-impl/android/widget/CompoundButton.java b/src/api-impl/android/widget/CompoundButton.java index d2456e92..8c43949a 100644 --- a/src/api-impl/android/widget/CompoundButton.java +++ b/src/api-impl/android/widget/CompoundButton.java @@ -4,6 +4,8 @@ import android.content.Context; import android.util.AttributeSet; public abstract class CompoundButton extends Button { + + private boolean checked; public CompoundButton(Context context) { super(context); @@ -16,4 +18,12 @@ public abstract class CompoundButton extends Button { public static interface OnCheckedChangeListener {} public void setOnCheckedChangeListener(OnCheckedChangeListener listener) {} + + public void setChecked(boolean checked) { + this.checked = checked; + } + + public boolean isChecked() { + return checked; + } } diff --git a/src/api-impl/android/widget/ImageView.java b/src/api-impl/android/widget/ImageView.java index 3f75b2de..aaae4feb 100644 --- a/src/api-impl/android/widget/ImageView.java +++ b/src/api-impl/android/widget/ImageView.java @@ -1,6 +1,7 @@ package android.widget; import android.content.Context; +import android.content.res.ColorStateList; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; @@ -131,4 +132,6 @@ public class ImageView extends View { } public final void setColorFilter(int color, PorterDuff.Mode mode) {} + + public void setImageTintList(ColorStateList tint) {} } diff --git a/src/api-impl/android/widget/PopupWindow.java b/src/api-impl/android/widget/PopupWindow.java new file mode 100644 index 00000000..bd9a0364 --- /dev/null +++ b/src/api-impl/android/widget/PopupWindow.java @@ -0,0 +1,6 @@ +package android.widget; + +public class PopupWindow { + + public interface OnDismissListener {} +} diff --git a/src/api-impl/android/widget/ProgressBar.java b/src/api-impl/android/widget/ProgressBar.java index a7a90b8c..5caf32d9 100644 --- a/src/api-impl/android/widget/ProgressBar.java +++ b/src/api-impl/android/widget/ProgressBar.java @@ -1,6 +1,8 @@ package android.widget; import android.content.Context; +import android.graphics.Canvas; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.View; @@ -14,4 +16,24 @@ public class ProgressBar extends View { } public synchronized void setIndeterminate(boolean indeterminate) {} + + public Drawable getProgressDrawable() { + return new Drawable() { + @Override + public void draw(Canvas canvas) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'draw'"); + } + }; + } + + public Drawable getIndeterminateDrawable() { + return new Drawable() { + @Override + public void draw(Canvas canvas) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'draw'"); + } + }; + } } diff --git a/src/api-impl/android/widget/SeekBar.java b/src/api-impl/android/widget/SeekBar.java index 09cd3fac..cb5eac48 100644 --- a/src/api-impl/android/widget/SeekBar.java +++ b/src/api-impl/android/widget/SeekBar.java @@ -3,7 +3,7 @@ package android.widget; import android.content.Context; import android.util.AttributeSet; -public class SeekBar extends ProgressBar { +public class SeekBar extends AbsSeekBar { public SeekBar(Context context) { super(context); @@ -13,7 +13,9 @@ public class SeekBar extends ProgressBar { super(context, attributeSet); } - public interface OnSeekBarChangeListener { + public void setOnSeekBarChangeListener(OnSeekBarChangeListener l) {} + + public static interface OnSeekBarChangeListener { } } diff --git a/src/api-impl/android/widget/TextView.java b/src/api-impl/android/widget/TextView.java index 1772d343..3aa56beb 100644 --- a/src/api-impl/android/widget/TextView.java +++ b/src/api-impl/android/widget/TextView.java @@ -11,7 +11,9 @@ import android.text.TextPaint; import android.text.TextUtils; import android.text.TextWatcher; import android.text.method.KeyListener; +import android.text.method.MovementMethod; import android.text.method.TransformationMethod; +import android.text.style.URLSpan; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; @@ -165,6 +167,20 @@ public class TextView extends View { public void setCompoundDrawablesRelative(Drawable start, Drawable top, Drawable end, Drawable bottom) {} + public int getLineCount() {return 1;} + + public URLSpan[] getUrls() {return new URLSpan[0];} + + public void setMovementMethod(MovementMethod method) {} + + public void setTextIsSelectable(boolean selectable) {} + public static interface OnEditorActionListener { } + + public static enum BufferType { + EDITABLE, + NORMAL, + SPANNABLE, + } } diff --git a/src/api-impl/meson.build b/src/api-impl/meson.build index 8ee8bced..63a20eaf 100644 --- a/src/api-impl/meson.build +++ b/src/api-impl/meson.build @@ -227,6 +227,7 @@ hax_jar = jar('hax', [ 'android/os/Build.java', 'android/os/Bundle.java', 'android/os/CancellationSignal.java', + 'android/os/ConditionVariable.java', 'android/os/Debug.java', 'android/os/DropBoxManager.java', 'android/os/Environment.java', @@ -286,10 +287,13 @@ hax_jar = jar('hax', [ 'android/text/TextUtils.java', 'android/text/TextWatcher.java', 'android/text/method/KeyListener.java', + 'android/text/method/MovementMethod.java', 'android/text/method/NumberKeyListener.java', 'android/text/method/PasswordTransformationMethod.java', 'android/text/method/TransformationMethod.java', 'android/text/style/CharacterStyle.java', + 'android/text/style/URLSpan.java', + 'android/text/style/ClickableSpan.java', 'android/text/util/Linkify.java', 'android/util/AndroidException.java', 'android/util/AndroidRuntimeException.java', @@ -310,6 +314,7 @@ hax_jar = jar('hax', [ 'android/util/Pair.java', 'android/util/PrefixPrinter.java', 'android/util/Printer.java', + 'android/util/Property.java', 'android/util/Slog.java', 'android/util/SparseArray.java', 'android/util/SparseIntArray.java', @@ -346,6 +351,8 @@ hax_jar = jar('hax', [ 'android/view/SurfaceHolder.java', 'android/view/Surface.java', 'android/view/SurfaceView.java', + 'android/view/TextureView.java', + 'android/view/VelocityTracker.java', 'android/view/ViewConfiguration.java', 'android/view/ViewGroup.java', 'android/view/View.java', @@ -374,6 +381,7 @@ hax_jar = jar('hax', [ 'android/webkit/WebView.java', 'android/webkit/WebViewClient.java', 'android/widget/AbsListView.java', + 'android/widget/AbsSeekBar.java', 'android/widget/AbsSpinner.java', 'android/widget/Adapter.java', 'android/widget/AdapterView.java', @@ -397,6 +405,7 @@ hax_jar = jar('hax', [ 'android/widget/MediaController.java', 'android/widget/OverScroller.java', 'android/widget/PopupMenu.java', + 'android/widget/PopupWindow.java', 'android/widget/ProgressBar.java', 'android/widget/RadioButton.java', 'android/widget/RelativeLayout.java',