diff --git a/meson.build b/meson.build index 8c8cddca..088aecdb 100644 --- a/meson.build +++ b/meson.build @@ -71,56 +71,58 @@ libandroid_so = shared_library('android', [ ]) libtranslationlayer_so = shared_library('translation_layer_main', [ - 'src/api-impl-jni/egl/com_google_android_gles_jni_EGLImpl.c', + 'src/api-impl-jni/android_app_NativeActivity.c', + 'src/api-impl-jni/android_content_res_AssetManager.c', + 'src/api-impl-jni/android_graphics_Bitmap.c', + 'src/api-impl-jni/android_graphics_Canvas.c', + 'src/api-impl-jni/android_graphics_Paint.c', + 'src/api-impl-jni/android_opengl_GLES20.c', 'src/api-impl-jni/android_os_Environment.c', 'src/api-impl-jni/android_os_MessageQueue.c', 'src/api-impl-jni/android_os_SystemClock.c', - 'src/api-impl-jni/android_view_Window.c', - 'src/api-impl-jni/util.c', - 'src/api-impl-jni/android_graphics_Canvas.c', - 'src/api-impl-jni/android_graphics_Paint.c', 'src/api-impl-jni/android_util_Log.c', + 'src/api-impl-jni/android_view_Window.c', + 'src/api-impl-jni/app/android_app_Activity.c', + 'src/api-impl-jni/app/android_app_AlertDialog.c', + 'src/api-impl-jni/app/android_app_Dialog.c', + 'src/api-impl-jni/audio/android_media_AudioTrack.c', + 'src/api-impl-jni/audio/android_media_SoundPool.c', 'src/api-impl-jni/content/android_content_Context.c', 'src/api-impl-jni/database/android_database_SQLiteCommon.c', 'src/api-impl-jni/database/android_database_SQLiteConnection.c', + 'src/api-impl-jni/egl/com_google_android_gles_jni_EGLImpl.c', + 'src/api-impl-jni/graphics/NinePatchPaintable.c', + 'src/api-impl-jni/graphics/NinePatchPaintable.c', 'src/api-impl-jni/graphics/android_graphics_BitmapFactory.c', - 'src/api-impl-jni/graphics/android_graphics_drawable_Drawable.c', - 'src/api-impl-jni/graphics/android_graphics_drawable_DrawableContainer.c', 'src/api-impl-jni/graphics/android_graphics_Matrix.c', 'src/api-impl-jni/graphics/android_graphics_Typeface.c', - 'src/api-impl-jni/graphics/NinePatchPaintable.c', + 'src/api-impl-jni/graphics/android_graphics_Typeface.c', + 'src/api-impl-jni/graphics/android_graphics_drawable_Drawable.c', + 'src/api-impl-jni/graphics/android_graphics_drawable_DrawableContainer.c', + 'src/api-impl-jni/location/android_location_LocationManager.c', 'src/api-impl-jni/media/android_media_MediaCodec.c', - 'src/api-impl-jni/android_content_res_AssetManager.c', - 'src/api-impl-jni/audio/android_media_AudioTrack.c', - 'src/api-impl-jni/audio/android_media_SoundPool.c', + 'src/api-impl-jni/util.c', + 'src/api-impl-jni/views/AndroidLayout.c', + 'src/api-impl-jni/views/android_view_View.c', + 'src/api-impl-jni/views/android_view_ViewGroup.c', + 'src/api-impl-jni/widgets/WrapperWidget.c', + 'src/api-impl-jni/widgets/android_view_SurfaceView.c', 'src/api-impl-jni/widgets/android_widget_AbsListView.c', 'src/api-impl-jni/widgets/android_widget_Button.c', 'src/api-impl-jni/widgets/android_widget_CheckBox.c', 'src/api-impl-jni/widgets/android_widget_CompoundButton.c', 'src/api-impl-jni/widgets/android_widget_EditText.c', 'src/api-impl-jni/widgets/android_widget_ImageButton.c', - 'src/api-impl-jni/widgets/android_widget_ScrollView.c', - 'src/api-impl-jni/widgets/android_widget_SeekBar.c', 'src/api-impl-jni/widgets/android_widget_ImageView.c', 'src/api-impl-jni/widgets/android_widget_PopupWindow.c', - 'src/api-impl-jni/widgets/WrapperWidget.c', - 'src/api-impl-jni/widgets/android_widget_TextView.c', 'src/api-impl-jni/widgets/android_widget_Progressbar.c', 'src/api-impl-jni/widgets/android_widget_RadioButton.c', - 'src/api-impl-jni/widgets/android_view_SurfaceView.c', - 'src/api-impl-jni/views/AndroidLayout.c', - 'src/api-impl-jni/views/android_view_View.c', - 'src/api-impl-jni/views/android_view_ViewGroup.c', - 'src/api-impl-jni/android_graphics_Bitmap.c', - 'src/api-impl-jni/android_app_NativeActivity.c', - 'src/api-impl-jni/android_opengl_GLES20.c', - 'src/api-impl-jni/location/android_location_LocationManager.c', - 'src/api-impl-jni/app/android_app_Activity.c', - 'src/api-impl-jni/app/android_app_AlertDialog.c', - 'src/api-impl-jni/app/android_app_Dialog.c', + 'src/api-impl-jni/widgets/android_widget_ScrollView.c', + 'src/api-impl-jni/widgets/android_widget_SeekBar.c', + 'src/api-impl-jni/widgets/android_widget_TextView.c', 'src/sk_area/sk_area.c', - linux_dmabuf, - viewporter, + linux_dmabuf, + viewporter, ] + marshal_files, include_directories: ['src/sk_area/'], install: true, diff --git a/src/api-impl/android/graphics/drawable/AnimationDrawable.java b/src/api-impl/android/graphics/drawable/AnimationDrawable.java index f197fadd..e418c5f7 100644 --- a/src/api-impl/android/graphics/drawable/AnimationDrawable.java +++ b/src/api-impl/android/graphics/drawable/AnimationDrawable.java @@ -2,4 +2,6 @@ package android.graphics.drawable; public class AnimationDrawable extends Drawable { public void addFrame(Drawable drawable, int dummy) {} + public void start() {} + public void stop() {} } diff --git a/src/api-impl/android/os/PowerManager.java b/src/api-impl/android/os/PowerManager.java index 0cf1dcab..34eff171 100644 --- a/src/api-impl/android/os/PowerManager.java +++ b/src/api-impl/android/os/PowerManager.java @@ -12,4 +12,6 @@ public final class PowerManager { public WakeLock newWakeLock(int levelAndFlags, String tag) { return new WakeLock(); } + + public void userActivity(long dummy, boolean dummy2) {} } diff --git a/src/api-impl/android/os/Vibrator.java b/src/api-impl/android/os/Vibrator.java index a15429ab..0fe58a04 100644 --- a/src/api-impl/android/os/Vibrator.java +++ b/src/api-impl/android/os/Vibrator.java @@ -1,4 +1,22 @@ package android.os; +import android.util.Slog; + public class Vibrator { + public void vibrate(long millis) { + Slog.v("Vibrator", "vibration motor go burrrr for "+millis+"ms"); + } + public void vibrate (final long[] pattern, int repeat) { + Thread t = new Thread(new Runnable() { + public void run() { + for(int i = 0; i < pattern.length; i++) { + if(i%2 == 0) + try { Thread.sleep(pattern[i]); } catch(InterruptedException e) {} + else + vibrate(pattern[i]); + } + } + }); + t.start(); + } } diff --git a/src/api-impl/android/view/animation/Animation.java b/src/api-impl/android/view/animation/Animation.java index e28cb0d6..852e7a30 100644 --- a/src/api-impl/android/view/animation/Animation.java +++ b/src/api-impl/android/view/animation/Animation.java @@ -10,4 +10,6 @@ public class Animation { public void cancel() {} + public void setFillBefore(boolean dummy) {} + public void setFillAfter(boolean dummy) {} } diff --git a/src/api-impl/meson.build b/src/api-impl/meson.build index 58af0e90..6668801c 100644 --- a/src/api-impl/meson.build +++ b/src/api-impl/meson.build @@ -1,4 +1,6 @@ hax_jar = jar('hax', [ + 'android/Manifest.java', + 'android/R.java', 'android/accounts/Account.java', 'android/accounts/AccountManager.java', 'android/animation/Animator.java', @@ -21,8 +23,8 @@ hax_jar = jar('hax', [ 'android/app/ActivityManager.java', 'android/app/AlarmManager.java', 'android/app/AlertDialog.java', - 'android/app/Application.java', 'android/app/AppOpsManager.java', + 'android/app/Application.java', 'android/app/Dialog.java', 'android/app/DownloadManager.java', 'android/app/Fragment.java', @@ -59,12 +61,14 @@ hax_jar = jar('hax', [ 'android/content/Context.java', 'android/content/ContextWrapper.java', 'android/content/DialogInterface.java', - 'android/content/IntentFilter.java', 'android/content/Intent.java', + 'android/content/IntentFilter.java', 'android/content/IntentSender.java', 'android/content/OperationApplicationException.java', - 'android/content/SearchRecentSuggestionsProvider.java', 'android/content/RestrictionsManager.java', + 'android/content/SearchRecentSuggestionsProvider.java', + 'android/content/ServiceConnection.java', + 'android/content/SharedPreferences.java', 'android/content/UriMatcher.java', 'android/content/pm/ActivityInfo.java', 'android/content/pm/ApplicationInfo.java', @@ -97,8 +101,6 @@ hax_jar = jar('hax', [ 'android/content/res/TypedArray.java', 'android/content/res/XmlBlock.java', 'android/content/res/XmlResourceParser.java', - 'android/content/ServiceConnection.java', - 'android/content/SharedPreferences.java', 'android/database/AbstractCursor.java', 'android/database/AbstractWindowedCursor.java', 'android/database/ContentObservable.java', @@ -106,10 +108,10 @@ hax_jar = jar('hax', [ 'android/database/CrossProcessCursor.java', 'android/database/Cursor.java', 'android/database/CursorWindow.java', - 'android/database/DatabaseErrorHandler.java', - 'android/database/DatabaseUtils.java', 'android/database/DataSetObservable.java', 'android/database/DataSetObserver.java', + 'android/database/DatabaseErrorHandler.java', + 'android/database/DatabaseUtils.java', 'android/database/DefaultDatabaseErrorHandler.java', 'android/database/Observable.java', 'android/database/SQLException.java', @@ -124,12 +126,12 @@ hax_jar = jar('hax', [ 'android/database/sqlite/SQLiteConnection.java', 'android/database/sqlite/SQLiteConnectionPool.java', 'android/database/sqlite/SQLiteConstraintException.java', - 'android/database/sqlite/SQLiteCursorDriver.java', 'android/database/sqlite/SQLiteCursor.java', + 'android/database/sqlite/SQLiteCursorDriver.java', 'android/database/sqlite/SQLiteCustomFunction.java', + 'android/database/sqlite/SQLiteDatabase.java', 'android/database/sqlite/SQLiteDatabaseConfiguration.java', 'android/database/sqlite/SQLiteDatabaseCorruptException.java', - 'android/database/sqlite/SQLiteDatabase.java', 'android/database/sqlite/SQLiteDatabaseLockedException.java', 'android/database/sqlite/SQLiteDatatypeMismatchException.java', 'android/database/sqlite/SQLiteDebug.java', @@ -143,18 +145,18 @@ hax_jar = jar('hax', [ 'android/database/sqlite/SQLiteOpenHelper.java', 'android/database/sqlite/SQLiteOutOfMemoryException.java', 'android/database/sqlite/SQLiteProgram.java', - 'android/database/sqlite/SQLiteQueryBuilder.java', 'android/database/sqlite/SQLiteQuery.java', + 'android/database/sqlite/SQLiteQueryBuilder.java', 'android/database/sqlite/SQLiteReadOnlyDatabaseException.java', 'android/database/sqlite/SQLiteSession.java', - 'android/database/sqlite/SQLiteStatementInfo.java', 'android/database/sqlite/SQLiteStatement.java', + 'android/database/sqlite/SQLiteStatementInfo.java', 'android/database/sqlite/SQLiteTableLockedException.java', 'android/database/sqlite/SQLiteTransactionListener.java', 'android/gesture/GestureOverlayView.java', 'android/gesture/GestureStore.java', - 'android/graphics/BitmapFactory.java', 'android/graphics/Bitmap.java', + 'android/graphics/BitmapFactory.java', 'android/graphics/Canvas.java', 'android/graphics/Color.java', 'android/graphics/ColorFilter.java', @@ -166,11 +168,12 @@ hax_jar = jar('hax', [ 'android/graphics/PorterDuff.java', 'android/graphics/PorterDuffColorFilter.java', 'android/graphics/PorterDuffXfermode.java', - 'android/graphics/RectF.java', 'android/graphics/Rect.java', + 'android/graphics/RectF.java', 'android/graphics/Region.java', 'android/graphics/Typeface.java', 'android/graphics/Xfermode.java', + 'android/graphics/drawable/Animatable.java', 'android/graphics/drawable/AnimationDrawable.java', 'android/graphics/drawable/BitmapDrawable.java', 'android/graphics/drawable/ColorDrawable.java', @@ -180,26 +183,24 @@ hax_jar = jar('hax', [ 'android/graphics/drawable/InsetDrawable.java', 'android/graphics/drawable/LayerDrawable.java', 'android/graphics/drawable/RippleDrawable.java', - 'android/graphics/drawable/Animatable.java', 'android/graphics/drawable/ScaleDrawable.java', 'android/graphics/drawable/ShapeDrawable.java', 'android/graphics/drawable/StateListDrawable.java', 'android/graphics/drawable/shapes/OvalShape.java', 'android/graphics/drawable/shapes/Shape.java', - 'android/hardware/camera2/CameraManager.java', - 'android/hardware/display/DisplayManager.java', - 'android/hardware/input/InputManager.java', 'android/hardware/ConsumerIrManager.java', + 'android/hardware/Sensor.java', 'android/hardware/SensorEvent.java', 'android/hardware/SensorEventListener.java', - 'android/hardware/Sensor.java', 'android/hardware/SensorManager.java', + 'android/hardware/camera2/CameraManager.java', + 'android/hardware/display/DisplayManager.java', + 'android/hardware/input/InputManager.java', 'android/hardware/usb/UsbManager.java', 'android/location/Criteria.java', 'android/location/Location.java', 'android/location/LocationListener.java', 'android/location/LocationManager.java', - 'android/Manifest.java', 'android/media/AudioAttributes.java', 'android/media/AudioManager.java', 'android/media/AudioTrack.java', @@ -256,8 +257,8 @@ hax_jar = jar('hax', [ 'android/os/Messenger.java', 'android/os/OperationCanceledException.java', 'android/os/Parcel.java', - 'android/os/Parcelable.java', 'android/os/ParcelFileDescriptor.java', + 'android/os/Parcelable.java', 'android/os/PatternMatcher.java', 'android/os/PowerManager.java', 'android/os/Process.java', @@ -269,11 +270,11 @@ hax_jar = jar('hax', [ 'android/os/Trace.java', 'android/os/UserHandle.java', 'android/os/UserManager.java', + 'android/os/Vibrator.java', 'android/os/storage/StorageManager.java', 'android/preference/PreferenceManager.java', 'android/print/PrintManager.java', 'android/provider/Settings.java', - 'android/R.java', 'android/telecom/TelecomManager.java', 'android/telephony/PhoneStateListener.java', 'android/telephony/TelephonyManager.java', @@ -285,17 +286,17 @@ hax_jar = jar('hax', [ 'android/text/Layout.java', 'android/text/NoCopySpan.java', 'android/text/Selection.java', + 'android/text/SpanWatcher.java', 'android/text/Spannable.java', + 'android/text/SpannableString.java', 'android/text/SpannableStringBuilder.java', 'android/text/SpannableStringInternal.java', - 'android/text/SpannableString.java', 'android/text/Spanned.java', 'android/text/SpannedString.java', - 'android/text/SpanWatcher.java', 'android/text/StaticLayout.java', - 'android/text/TextPaint.java', 'android/text/TextDirectionHeuristic.java', 'android/text/TextDirectionHeuristics.java', + 'android/text/TextPaint.java', 'android/text/TextUtils.java', 'android/text/TextWatcher.java', 'android/text/method/KeyListener.java', @@ -305,16 +306,16 @@ hax_jar = jar('hax', [ '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/style/URLSpan.java', 'android/text/util/Linkify.java', 'android/util/AndroidException.java', 'android/util/AndroidRuntimeException.java', 'android/util/ArrayMap.java', 'android/util/AttributeSet.java', + 'android/util/Base64.java', 'android/util/Base64DataException.java', 'android/util/Base64InputStream.java', - 'android/util/Base64.java', 'android/util/Base64OutputStream.java', 'android/util/ContainerHelpers.java', 'android/util/DecompiledXmlResourceParser.java', @@ -330,21 +331,16 @@ hax_jar = jar('hax', [ 'android/util/Property.java', 'android/util/Slog.java', 'android/util/SparseArray.java', - 'android/util/SparseIntArray.java', 'android/util/SparseBooleanArray.java', + 'android/util/SparseIntArray.java', 'android/util/StateSet.java', 'android/util/TypedValue.java', 'android/util/Xml.java', 'android/util/XmlPullAttributes.java', - 'android/view/animation/AccelerateInterpolator.java', - 'android/view/animation/BaseInterpolator.java', - 'android/view/animation/DecelerateInterpolator.java', - 'android/view/animation/Interpolator.java', - 'android/view/animation/PathInterpolator.java', 'android/view/AbsSavedState.java', 'android/view/ActionMode.java', - 'android/view/ContextThemeWrapper.java', 'android/view/Choreographer.java', + 'android/view/ContextThemeWrapper.java', 'android/view/Display.java', 'android/view/GestureDetector.java', 'android/view/Gravity.java', @@ -352,9 +348,6 @@ hax_jar = jar('hax', [ 'android/view/InputDevice.java', 'android/view/InputEvent.java', 'android/view/InputQueue.java', - 'android/view/inputmethod/BaseInputConnection.java', - 'android/view/inputmethod/InputConnection.java', - 'android/view/inputmethod/InputMethodManager.java', 'android/view/KeyCharacterMap.java', 'android/view/KeyEvent.java', 'android/view/LayoutInflater.java', @@ -363,14 +356,14 @@ hax_jar = jar('hax', [ 'android/view/MenuItem.java', 'android/view/MotionEvent.java', 'android/view/SubMenu.java', - 'android/view/SurfaceHolder.java', 'android/view/Surface.java', + 'android/view/SurfaceHolder.java', 'android/view/SurfaceView.java', 'android/view/TextureView.java', 'android/view/VelocityTracker.java', + 'android/view/View.java', 'android/view/ViewConfiguration.java', 'android/view/ViewGroup.java', - 'android/view/View.java', 'android/view/ViewManager.java', 'android/view/ViewOutlineProvider.java', 'android/view/ViewParent.java', @@ -379,16 +372,24 @@ hax_jar = jar('hax', [ 'android/view/ViewTreeObserver.java', 'android/view/Window.java', 'android/view/WindowInsets.java', - 'android/view/WindowManagerImpl.java', 'android/view/WindowManager.java', - 'android/view/animation/AccelerateDecelerateInterpolator.java', - 'android/view/animation/AlphaAnimation.java', - 'android/view/animation/Animation.java', - 'android/view/animation/AnimationUtils.java', - 'android/view/animation/LinearInterpolator.java', + 'android/view/WindowManagerImpl.java', 'android/view/accessibility/AccessibilityManager.java', 'android/view/accessibility/AccessibilityNodeInfo.java', 'android/view/accessibility/CaptioningManager.java', + 'android/view/animation/AccelerateDecelerateInterpolator.java', + 'android/view/animation/AccelerateInterpolator.java', + 'android/view/animation/AlphaAnimation.java', + 'android/view/animation/Animation.java', + 'android/view/animation/AnimationUtils.java', + 'android/view/animation/BaseInterpolator.java', + 'android/view/animation/DecelerateInterpolator.java', + 'android/view/animation/Interpolator.java', + 'android/view/animation/LinearInterpolator.java', + 'android/view/animation/PathInterpolator.java', + 'android/view/inputmethod/BaseInputConnection.java', + 'android/view/inputmethod/InputConnection.java', + 'android/view/inputmethod/InputMethodManager.java', 'android/view/textservice/TextServicesManager.java', 'android/webkit/DownloadListener.java', 'android/webkit/MimeTypeMap.java', @@ -396,17 +397,17 @@ hax_jar = jar('hax', [ 'android/webkit/WebView.java', 'android/webkit/WebViewClient.java', 'android/widget/AbsListView.java', - 'android/widget/AbsoluteLayout.java', 'android/widget/AbsSeekBar.java', 'android/widget/AbsSpinner.java', + 'android/widget/AbsoluteLayout.java', 'android/widget/Adapter.java', 'android/widget/AdapterView.java', 'android/widget/ArrayAdapter.java', 'android/widget/AutoCompleteTextView.java', 'android/widget/BaseAdapter.java', 'android/widget/Button.java', - 'android/widget/Checkable.java', 'android/widget/CheckBox.java', + 'android/widget/Checkable.java', 'android/widget/CheckedTextView.java', 'android/widget/CompoundButton.java', 'android/widget/CursorAdapter.java', @@ -428,9 +429,9 @@ hax_jar = jar('hax', [ 'android/widget/ProgressBar.java', 'android/widget/RadioButton.java', 'android/widget/RelativeLayout.java', - 'android/widget/RemoteViews.java', - 'android/widget/Scroller.java', + 'android/widget/RemoteViews.java', 'android/widget/ScrollView.java', + 'android/widget/Scroller.java', 'android/widget/SeekBar.java', 'android/widget/SimpleAdapter.java', 'android/widget/Space.java', @@ -446,31 +447,31 @@ hax_jar = jar('hax', [ 'com/android/internal/util/FastXmlSerializer.java', 'com/android/internal/util/GrowingArrayUtils.java', 'com/android/internal/util/XmlUtils.java', - 'com/android/org/conscrypt/OpenSSLSocketImpl.java', 'com/android/org/conscrypt/OpenSSLSocketFactoryImpl.java', + 'com/android/org/conscrypt/OpenSSLSocketImpl.java', 'com/android/org/conscrypt/SSLParametersImpl.java', 'com/google/android/gles_jni/EGLImpl.java', 'com/google/android/gles_jni/EGLSurfaceImpl.java', 'com/google/android/gles_jni/GLImpl.java', 'com/google/android/vending/expansion/downloader/IDownloaderClient.java', 'com/google/android/vending/expansion/downloader/impl/DownloaderService.java', - 'com/google/android/vending/licensing/LicenseCheckerCallback.java', 'com/google/android/vending/licensing/LicenseChecker.java', + 'com/google/android/vending/licensing/LicenseCheckerCallback.java', 'com/google/android/vending/licensing/Policy.java', 'com/htc/util/htcresutil/resutil.java', + 'javax/microedition/khronos/egl/EGL.java', 'javax/microedition/khronos/egl/EGL10.java', 'javax/microedition/khronos/egl/EGL11.java', 'javax/microedition/khronos/egl/EGLConfig.java', 'javax/microedition/khronos/egl/EGLContext.java', 'javax/microedition/khronos/egl/EGLDisplay.java', - 'javax/microedition/khronos/egl/EGL.java', 'javax/microedition/khronos/egl/EGLSurface.java', - 'javax/microedition/khronos/opengles/GL10Ext.java', - 'javax/microedition/khronos/opengles/GL10.java', - 'javax/microedition/khronos/opengles/GL11ExtensionPack.java', - 'javax/microedition/khronos/opengles/GL11Ext.java', - 'javax/microedition/khronos/opengles/GL11.java', 'javax/microedition/khronos/opengles/GL.java', + 'javax/microedition/khronos/opengles/GL10.java', + 'javax/microedition/khronos/opengles/GL10Ext.java', + 'javax/microedition/khronos/opengles/GL11.java', + 'javax/microedition/khronos/opengles/GL11Ext.java', + 'javax/microedition/khronos/opengles/GL11ExtensionPack.java', 'org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java', ], dependencies: [