diff --git a/src/api-impl/build.xml b/src/api-impl/build.xml
new file mode 100644
index 00000000..48d6023a
--- /dev/null
+++ b/src/api-impl/build.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api-impl/meson.build b/src/api-impl/meson.build
index ad071bda..47b2fca9 100644
--- a/src/api-impl/meson.build
+++ b/src/api-impl/meson.build
@@ -1,601 +1,622 @@
-hax_jar = jar('hax', [
- 'android/Manifest.java',
- 'android/R.java',
- 'android/accounts/Account.java',
- 'android/accounts/AccountManager.java',
- 'android/animation/Animator.java',
- 'android/animation/AnimatorInflater.java',
- 'android/animation/AnimatorListenerAdapter.java',
- 'android/animation/AnimatorSet.java',
- 'android/animation/ArgbEvaluator.java',
- 'android/animation/LayoutTransition.java',
- 'android/animation/ObjectAnimator.java',
- 'android/animation/PropertyValuesHolder.java',
- 'android/animation/StateListAnimator.java',
- 'android/animation/TimeInterpolator.java',
- 'android/animation/TypeEvaluator.java',
- 'android/animation/ValueAnimator.java',
- 'android/annotation/PrivateApi.java',
- 'android/annotation/SdkConstant.java',
- 'android/annotation/SuppressLint.java',
- 'android/annotation/TargetApi.java',
- 'android/annotation/Widget.java',
- 'android/app/Activity.java',
- 'android/app/ActivityManager.java',
- 'android/app/ActivityThread.java',
- 'android/app/AlarmManager.java',
- 'android/app/AlertDialog.java',
- 'android/app/AppGlobals.java',
- 'android/app/AppOpsManager.java',
- 'android/app/DatePickerDialog.java',
- 'android/app/Application.java',
- 'android/app/ApplicationErrorReport.java',
- 'android/app/Dialog.java',
- 'android/app/DownloadManager.java',
- 'android/app/Fragment.java',
- 'android/app/FragmentManager.java',
- 'android/app/FragmentTransaction.java',
- 'android/app/Instrumentation.java',
- 'android/app/IntentService.java',
- 'android/app/KeyguardManager.java',
- 'android/app/ListActivity.java',
- 'android/app/NativeActivity.java',
- 'android/app/Notification.java',
- 'android/app/NotificationManager.java',
- 'android/app/PendingIntent.java',
- 'android/app/ProgressDialog.java',
- 'android/app/RemoteInput.java',
- 'android/app/SearchManager.java',
- 'android/app/Service.java',
- 'android/app/SharedElementCallback.java',
- 'android/app/SharedPreferencesImpl.java',
- 'android/app/UiModeManager.java',
- 'android/app/WallpaperManager.java',
- 'android/app/admin/DevicePolicyManager.java',
- 'android/app/job/JobInfo.java',
- 'android/app/job/JobScheduler.java',
- 'android/app/job/JobService.java',
- 'android/app/usage/UsageStatsManager.java',
- 'android/appwidget/AppWidgetManager.java',
- 'android/appwidget/AppWidgetProvider.java',
- 'android/bluetooth/BluetoothAdapter.java',
- 'android/bluetooth/BluetoothManager.java',
- 'android/bluetooth/BluetoothProfile.java',
- 'android/bluetooth/le/ScanCallback.java',
- 'android/content/ActivityNotFoundException.java',
- 'android/content/BroadcastReceiver.java',
- 'android/content/ClipboardManager.java',
- 'android/content/ClipData.java',
- 'android/content/ComponentCallbacks.java',
- 'android/content/ComponentCallbacks2.java',
- 'android/content/ComponentName.java',
- 'android/content/ContentProvider.java',
- 'android/content/ContentResolver.java',
- 'android/content/ContentUris.java',
- 'android/content/ContentValues.java',
- 'android/content/Context.java',
- 'android/content/ContextWrapper.java',
- 'android/content/DialogInterface.java',
- 'android/content/Intent.java',
- 'android/content/IntentFilter.java',
- 'android/content/IntentSender.java',
- 'android/content/OperationApplicationException.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',
- 'android/content/pm/ComponentInfo.java',
- 'android/content/pm/ConfigurationInfo.java',
- 'android/content/pm/FeatureInfo.java',
- 'android/content/pm/InstrumentationInfo.java',
- 'android/content/pm/LauncherApps.java',
- 'android/content/pm/ManifestDigest.java',
- 'android/content/pm/PackageInfo.java',
- 'android/content/pm/PackageItemInfo.java',
- 'android/content/pm/PackageManager.java',
- 'android/content/pm/PackageParser.java',
- 'android/content/pm/PackageUserState.java',
- 'android/content/pm/PathPermission.java',
- 'android/content/pm/PermissionGroupInfo.java',
- 'android/content/pm/PermissionInfo.java',
- 'android/content/pm/ProviderInfo.java',
- 'android/content/pm/ResolveInfo.java',
- 'android/content/pm/ServiceInfo.java',
- 'android/content/pm/Signature.java',
- 'android/content/pm/VerifierInfo.java',
- 'android/content/res/AssetFileDescriptor.java',
- 'android/content/res/AssetManager.java',
- 'android/content/res/ColorStateList.java',
- 'android/content/res/CompatibilityInfo.java',
- 'android/content/res/Configuration.java',
- 'android/content/res/Resources.java',
- 'android/content/res/StringBlock.java',
- 'android/content/res/TypedArray.java',
- 'android/content/res/XmlBlock.java',
- 'android/content/res/XmlResourceParser.java',
- 'android/database/AbstractCursor.java',
- 'android/database/AbstractWindowedCursor.java',
- 'android/database/ContentObservable.java',
- 'android/database/ContentObserver.java',
- 'android/database/CrossProcessCursor.java',
- 'android/database/Cursor.java',
- 'android/database/CursorWindow.java',
- 'android/database/CursorWrapper.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',
- 'android/database/sqlite/DatabaseErrorHandler.java',
- 'android/database/sqlite/DatabaseObjectNotClosedException.java',
- 'android/database/sqlite/SQLiteAbortException.java',
- 'android/database/sqlite/SQLiteAccessPermException.java',
- 'android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException.java',
- 'android/database/sqlite/SQLiteBlobTooBigException.java',
- 'android/database/sqlite/SQLiteCantOpenDatabaseException.java',
- 'android/database/sqlite/SQLiteClosable.java',
- 'android/database/sqlite/SQLiteConnection.java',
- 'android/database/sqlite/SQLiteConnectionPool.java',
- 'android/database/sqlite/SQLiteConstraintException.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/SQLiteDatabaseLockedException.java',
- 'android/database/sqlite/SQLiteDatatypeMismatchException.java',
- 'android/database/sqlite/SQLiteDebug.java',
- 'android/database/sqlite/SQLiteDirectCursorDriver.java',
- 'android/database/sqlite/SQLiteDiskIOException.java',
- 'android/database/sqlite/SQLiteDoneException.java',
- 'android/database/sqlite/SQLiteException.java',
- 'android/database/sqlite/SQLiteFullException.java',
- 'android/database/sqlite/SQLiteGlobal.java',
- 'android/database/sqlite/SQLiteMisuseException.java',
- 'android/database/sqlite/SQLiteOpenHelper.java',
- 'android/database/sqlite/SQLiteOutOfMemoryException.java',
- 'android/database/sqlite/SQLiteProgram.java',
- 'android/database/sqlite/SQLiteQuery.java',
- 'android/database/sqlite/SQLiteQueryBuilder.java',
- 'android/database/sqlite/SQLiteReadOnlyDatabaseException.java',
- 'android/database/sqlite/SQLiteSession.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/Bitmap.java',
- 'android/graphics/BitmapFactory.java',
- 'android/graphics/BitmapShader.java',
- 'android/graphics/Canvas.java',
- 'android/graphics/Color.java',
- 'android/graphics/ColorFilter.java',
- 'android/graphics/ColorMatrix.java',
- 'android/graphics/ColorMatrixColorFilter.java',
- 'android/graphics/CornerPathEffect.java',
- 'android/graphics/DashPathEffect.java',
- 'android/graphics/GskCanvas.java',
- 'android/graphics/LinearGradient.java',
- 'android/graphics/Matrix.java',
- 'android/graphics/Outline.java',
- 'android/graphics/Paint.java',
- 'android/graphics/Path.java',
- 'android/graphics/PathEffect.java',
- 'android/graphics/PathMeasure.java',
- 'android/graphics/PixelFormat.java',
- 'android/graphics/Point.java',
- 'android/graphics/PointF.java',
- 'android/graphics/PorterDuff.java',
- 'android/graphics/PorterDuffColorFilter.java',
- 'android/graphics/PorterDuffXfermode.java',
- 'android/graphics/RadialGradient.java',
- 'android/graphics/Rect.java',
- 'android/graphics/RectF.java',
- 'android/graphics/Region.java',
- 'android/graphics/Shader.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',
- 'android/graphics/drawable/Drawable.java',
- 'android/graphics/drawable/DrawableContainer.java',
- 'android/graphics/drawable/DrawableWrapper.java',
- 'android/graphics/drawable/GradientDrawable.java',
- 'android/graphics/drawable/InsetDrawable.java',
- 'android/graphics/drawable/LayerDrawable.java',
- 'android/graphics/drawable/NinePatchDrawable.java',
- 'android/graphics/drawable/RippleDrawable.java',
- 'android/graphics/drawable/ScaleDrawable.java',
- 'android/graphics/drawable/ShapeDrawable.java',
- 'android/graphics/drawable/StateListDrawable.java',
- 'android/graphics/drawable/TransitionDrawable.java',
- 'android/graphics/drawable/VectorDrawable.java',
- 'android/graphics/drawable/shapes/OvalShape.java',
- 'android/graphics/drawable/shapes/RoundRectShape.java',
- 'android/graphics/drawable/shapes/Shape.java',
- 'android/hardware/ConsumerIrManager.java',
- 'android/hardware/Sensor.java',
- 'android/hardware/SensorEvent.java',
- 'android/hardware/SensorEventListener.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/media/AudioAttributes.java',
- 'android/media/AudioManager.java',
- 'android/media/AudioTrack.java',
- 'android/media/MediaCodec.java',
- 'android/media/MediaCodecInfo.java',
- 'android/media/MediaCodecList.java',
- 'android/media/MediaCrypto.java',
- 'android/media/MediaDescription.java',
- 'android/media/MediaFormat.java',
- 'android/media/MediaMetadata.java',
- 'android/media/MediaPlayer.java',
- 'android/media/MediaRouter.java',
- 'android/media/Ringtone.java',
- 'android/media/RingtoneManager.java',
- 'android/media/SoundPool.java',
- 'android/media/projection/MediaProjectionManager.java',
- 'android/media/session/MediaController.java',
- 'android/media/session/MediaSession.java',
- 'android/media/session/MediaSessionManager.java',
- 'android/media/session/PlaybackState.java',
- 'android/media/tv/TvInputManager.java',
- 'android/net/ConnectivityManager.java',
- 'android/net/NetworkInfo.java',
- 'android/net/NetworkRequest.java',
- 'android/net/SSLSessionCache.java',
- 'android/net/TrafficStats.java',
- 'android/net/Uri.java',
- 'android/net/UriCodec.java',
- 'android/net/UrlQuerySanitizer.java',
- 'android/net/http/X509TrustManagerExtensions.java',
- 'android/net/nsd/NsdManager.java',
- 'android/net/wifi/WifiInfo.java',
- 'android/net/wifi/WifiManager.java',
- 'android/net/wifi/p2p/WifiP2pManager.java',
- 'android/nfc/NfcManager.java',
- 'android/opengl/EGLConfig.java',
- 'android/opengl/EGLObjectHandle.java',
- 'android/opengl/GLES10.java',
- 'android/opengl/GLES20.java',
- 'android/opengl/GLSurfaceView.java',
- 'android/opengl/Matrix.java',
- 'android/os/AsyncTask.java',
- 'android/os/BaseBundle.java',
- 'android/os/BatteryManager.java',
- 'android/os/Binder.java',
- 'android/os/Build.java',
- 'android/os/Bundle.java',
- 'android/os/CancellationSignal.java',
- 'android/os/ConditionVariable.java',
- 'android/os/CountDownTimer.java',
- 'android/os/DeadObjectException.java',
- 'android/os/Debug.java',
- 'android/os/DropBoxManager.java',
- 'android/os/Environment.java',
- 'android/os/FileObserver.java',
- 'android/os/Handler.java',
- 'android/os/HandlerThread.java',
- 'android/os/IBinder.java',
- 'android/os/IInterface.java',
- 'android/os/IMessenger.java',
- 'android/os/LocaleList.java',
- 'android/os/Looper.java',
- 'android/os/MemoryFile.java',
- 'android/os/Message.java',
- 'android/os/MessageQueue.java',
- 'android/os/Messenger.java',
- 'android/os/OperationCanceledException.java',
- 'android/os/Parcel.java',
- 'android/os/ParcelFileDescriptor.java',
- 'android/os/Parcelable.java',
- 'android/os/PatternMatcher.java',
- 'android/os/PersistableBundle.java',
- 'android/os/PowerManager.java',
- 'android/os/Process.java',
- 'android/os/RemoteCallbackList.java',
- 'android/os/RemoteException.java',
- 'android/os/ResultReceiver.java',
- 'android/os/StatFs.java',
- 'android/os/StrictMode.java',
- 'android/os/SystemClock.java',
- 'android/os/Trace.java',
- 'android/os/UserHandle.java',
- 'android/os/UserManager.java',
- 'android/os/Vibrator.java',
- 'android/os/storage/StorageManager.java',
- 'android/preference/PreferenceActivity.java',
- 'android/preference/PreferenceManager.java',
- 'android/print/PrintManager.java',
- 'android/provider/BaseColumns.java',
- 'android/provider/CalendarContract.java',
- 'android/provider/ContactsContract.java',
- 'android/provider/Settings.java',
- 'android/telecom/TelecomManager.java',
- 'android/telephony/CellLocation.java',
- 'android/telephony/PhoneNumberUtils.java',
- 'android/telephony/PhoneStateListener.java',
- 'android/telephony/SubscriptionManager.java',
- 'android/telephony/TelephonyManager.java',
- 'android/text/BoringLayout.java',
- 'android/text/ClipboardManager.java',
- 'android/text/Editable.java',
- 'android/text/GetChars.java',
- 'android/text/Html.java',
- 'android/text/InputFilter.java',
- '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/Spanned.java',
- 'android/text/SpannedString.java',
- 'android/text/StaticLayout.java',
- 'android/text/TextDirectionHeuristic.java',
- 'android/text/TextDirectionHeuristics.java',
- 'android/text/TextPaint.java',
- 'android/text/TextUtils.java',
- 'android/text/TextWatcher.java',
- 'android/text/format/DateFormat.java',
- 'android/text/format/DateUtils.java',
- 'android/text/format/Formatter.java',
- 'android/text/format/Time.java',
- 'android/text/method/BaseMovementMethod.java',
- 'android/text/method/KeyListener.java',
- 'android/text/method/LinkMovementMethod.java',
- 'android/text/method/MovementMethod.java',
- 'android/text/method/NumberKeyListener.java',
- 'android/text/method/PasswordTransformationMethod.java',
- 'android/text/method/TextKeyListener.java',
- 'android/text/method/TransformationMethod.java',
- 'android/text/style/AbsoluteSizeSpan.java',
- 'android/text/style/BackgroundColorSpan.java',
- 'android/text/style/BulletSpan.java',
- 'android/text/style/CharacterStyle.java',
- 'android/text/style/ClickableSpan.java',
- 'android/text/style/DynamicDrawableSpan.java',
- 'android/text/style/ForegroundColorSpan.java',
- 'android/text/style/ImageSpan.java',
- 'android/text/style/LeadingMarginSpan.java',
- 'android/text/style/LineBackgroundSpan.java',
- 'android/text/style/LineHeightSpan.java',
- 'android/text/style/MetricAffectingSpan.java',
- 'android/text/style/ParagraphStyle.java',
- 'android/text/style/RelativeSizeSpan.java',
- 'android/text/style/ReplacementSpan.java',
- 'android/text/style/StrikethroughSpan.java',
- 'android/text/style/StyleSpan.java',
- 'android/text/style/TextAppearanceSpan.java',
- 'android/text/style/TypefaceSpan.java',
- 'android/text/style/UnderlineSpan.java',
- 'android/text/style/UpdateAppearance.java',
- 'android/text/style/UpdateLayout.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/Base64OutputStream.java',
- 'android/util/ContainerHelpers.java',
- 'android/util/DecompiledXmlResourceParser.java',
- 'android/util/DisplayMetrics.java',
- 'android/util/FloatMath.java',
- 'android/util/FloatProperty.java',
- 'android/util/JsonReader.java',
- 'android/util/JsonScope.java',
- 'android/util/JsonToken.java',
- 'android/util/JsonWriter.java',
- 'android/util/LayoutDirection.java',
- 'android/util/Log.java',
- 'android/util/LongSparseArray.java',
- 'android/util/LruCache.java',
- 'android/util/MapCollections.java',
- 'android/util/Pair.java',
- 'android/util/PrefixPrinter.java',
- 'android/util/Printer.java',
- 'android/util/Property.java',
- 'android/util/Size.java',
- 'android/util/SizeF.java',
- 'android/util/Slog.java',
- 'android/util/SparseArray.java',
- 'android/util/SparseBooleanArray.java',
- 'android/util/SparseIntArray.java',
- 'android/util/SparseLongArray.java',
- 'android/util/StateSet.java',
- 'android/util/TypedValue.java',
- 'android/util/Xml.java',
- 'android/util/XmlPullAttributes.java',
- 'android/view/AbsSavedState.java',
- 'android/view/ActionMode.java',
- 'android/view/ViewAnimationUtils.java',
- 'android/view/Choreographer.java',
- 'android/view/ContextThemeWrapper.java',
- 'android/view/Display.java',
- 'android/view/GestureDetector.java',
- 'android/view/Gravity.java',
- 'android/view/InflateException.java',
- 'android/view/InputDevice.java',
- 'android/view/InputEvent.java',
- 'android/view/InputQueue.java',
- 'android/view/KeyCharacterMap.java',
- 'android/view/KeyEvent.java',
- 'android/view/LayoutInflater.java',
- 'android/view/Menu.java',
- 'android/view/MenuInflater.java',
- 'android/view/MenuItem.java',
- 'android/view/MotionEvent.java',
- 'android/view/ScaleGestureDetector.java',
- 'android/view/SubMenu.java',
- 'android/view/Surface.java',
- 'android/view/SurfaceHolder.java',
- 'android/view/SurfaceView.java',
- 'android/view/TextureView.java',
- 'android/view/TouchDelegate.java',
- 'android/view/VelocityTracker.java',
- 'android/view/View.java',
- 'android/view/ViewConfiguration.java',
- 'android/view/ViewGroup.java',
- 'android/view/ViewManager.java',
- 'android/view/ViewOutlineProvider.java',
- 'android/view/ViewOverlay.java',
- 'android/view/ViewParent.java',
- 'android/view/ViewPropertyAnimator.java',
- 'android/view/ViewStub.java',
- 'android/view/ViewTreeObserver.java',
- 'android/view/Window.java',
- 'android/view/WindowInsets.java',
- 'android/view/WindowManager.java',
- 'android/view/WindowManagerImpl.java',
- 'android/view/accessibility/AccessibilityManager.java',
- 'android/view/accessibility/AccessibilityNodeInfo.java',
- 'android/view/accessibility/AccessibilityNodeProvider.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/AnimationSet.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/OvershootInterpolator.java',
- 'android/view/animation/PathInterpolator.java',
- 'android/view/animation/ScaleAnimation.java',
- 'android/view/animation/TranslateAnimation.java',
- 'android/view/inputmethod/BaseInputConnection.java',
- 'android/view/inputmethod/CursorAnchorInfo.java',
- 'android/view/inputmethod/InputConnection.java',
- 'android/view/inputmethod/InputMethodManager.java',
- 'android/view/textservice/TextServicesManager.java',
- 'android/webkit/DownloadListener.java',
- 'android/webkit/MimeTypeMap.java',
- 'android/webkit/URLUtil.java',
- 'android/webkit/ViewAnimator.java',
- 'android/webkit/WebChromeClient.java',
- 'android/webkit/WebSettings.java',
- 'android/webkit/WebView.java',
- 'android/webkit/WebViewClient.java',
- 'android/widget/AbsListView.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/CheckBox.java',
- 'android/widget/Checkable.java',
- 'android/widget/CheckedTextView.java',
- 'android/widget/CompoundButton.java',
- 'android/widget/CursorAdapter.java',
- 'android/widget/EdgeEffect.java',
- 'android/widget/EditText.java',
- 'android/widget/ExpandableListView.java',
- 'android/widget/Filter.java',
- 'android/widget/Filterable.java',
- 'android/widget/FilterQueryProvider.java',
- 'android/widget/FrameLayout.java',
- 'android/widget/Gallery.java',
- 'android/widget/GridView.java',
- 'android/widget/HeaderViewListAdapter.java',
- 'android/widget/HorizontalScrollView.java',
- 'android/widget/ImageButton.java',
- 'android/widget/ImageView.java',
- 'android/widget/LinearLayout.java',
- 'android/widget/ListAdapter.java',
- 'android/widget/ListView.java',
- 'android/widget/MediaController.java',
- 'android/widget/MultiAutoCompleteTextView.java',
- 'android/widget/OverScroller.java',
- 'android/widget/PopupMenu.java',
- 'android/widget/PopupWindow.java',
- 'android/widget/ProgressBar.java',
- 'android/widget/RadioButton.java',
- 'android/widget/RadioGroup.java',
- 'android/widget/RelativeLayout.java',
- 'android/widget/RemoteViews.java',
- 'android/widget/ScrollView.java',
- 'android/widget/SectionIndexer.java',
- 'android/widget/Scroller.java',
- 'android/widget/SeekBar.java',
- 'android/widget/SimpleAdapter.java',
- 'android/widget/Space.java',
- 'android/widget/Spinner.java',
- 'android/widget/SpinnerAdapter.java',
- 'android/widget/Switch.java',
- 'android/widget/TableLayout.java',
- 'android/widget/TableRow.java',
- 'android/widget/TextView.java',
- 'android/widget/Toast.java',
- 'android/widget/Toolbar.java',
- 'android/widget/ViewAnimator.java',
- 'android/widget/ZoomButton.java',
- 'android/widget/ZoomButtonsController.java',
- 'com/android/internal/Manifest.java',
- 'com/android/internal/R.java',
- 'com/android/internal/util/ArrayUtils.java',
- 'com/android/internal/util/FastXmlSerializer.java',
- 'com/android/internal/util/GrowingArrayUtils.java',
- 'com/android/internal/util/XmlUtils.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/LicenseChecker.java',
- 'com/google/android/vending/licensing/LicenseCheckerCallback.java',
- 'com/google/android/vending/licensing/Policy.java',
- 'com/android/server/am/DumpHeapProvider.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/EGLSurface.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',
- ],
- java_args: [
- '-bootclasspath', bootclasspath,
- '-source', '1.8', '-target', '1.8',
- '-encoding', 'UTF-8',
- '-Xlint:-deprecation', # we implement deprecated APIs
- '-h', join_paths(dir_base, 'src/api-impl-jni/generated_headers')
- ])
+srcs = [
+ 'android/Manifest.java',
+ 'android/R.java',
+ 'android/accounts/Account.java',
+ 'android/accounts/AccountManager.java',
+ 'android/animation/Animator.java',
+ 'android/animation/AnimatorInflater.java',
+ 'android/animation/AnimatorListenerAdapter.java',
+ 'android/animation/AnimatorSet.java',
+ 'android/animation/ArgbEvaluator.java',
+ 'android/animation/LayoutTransition.java',
+ 'android/animation/ObjectAnimator.java',
+ 'android/animation/PropertyValuesHolder.java',
+ 'android/animation/StateListAnimator.java',
+ 'android/animation/TimeInterpolator.java',
+ 'android/animation/TypeEvaluator.java',
+ 'android/animation/ValueAnimator.java',
+ 'android/annotation/PrivateApi.java',
+ 'android/annotation/SdkConstant.java',
+ 'android/annotation/SuppressLint.java',
+ 'android/annotation/TargetApi.java',
+ 'android/annotation/Widget.java',
+ 'android/app/Activity.java',
+ 'android/app/ActivityManager.java',
+ 'android/app/ActivityThread.java',
+ 'android/app/AlarmManager.java',
+ 'android/app/AlertDialog.java',
+ 'android/app/AppGlobals.java',
+ 'android/app/AppOpsManager.java',
+ 'android/app/DatePickerDialog.java',
+ 'android/app/Application.java',
+ 'android/app/ApplicationErrorReport.java',
+ 'android/app/Dialog.java',
+ 'android/app/DownloadManager.java',
+ 'android/app/Fragment.java',
+ 'android/app/FragmentManager.java',
+ 'android/app/FragmentTransaction.java',
+ 'android/app/Instrumentation.java',
+ 'android/app/IntentService.java',
+ 'android/app/KeyguardManager.java',
+ 'android/app/ListActivity.java',
+ 'android/app/NativeActivity.java',
+ 'android/app/Notification.java',
+ 'android/app/NotificationManager.java',
+ 'android/app/PendingIntent.java',
+ 'android/app/ProgressDialog.java',
+ 'android/app/RemoteInput.java',
+ 'android/app/SearchManager.java',
+ 'android/app/Service.java',
+ 'android/app/SharedElementCallback.java',
+ 'android/app/SharedPreferencesImpl.java',
+ 'android/app/UiModeManager.java',
+ 'android/app/WallpaperManager.java',
+ 'android/app/admin/DevicePolicyManager.java',
+ 'android/app/job/JobInfo.java',
+ 'android/app/job/JobScheduler.java',
+ 'android/app/job/JobService.java',
+ 'android/app/usage/UsageStatsManager.java',
+ 'android/appwidget/AppWidgetManager.java',
+ 'android/appwidget/AppWidgetProvider.java',
+ 'android/bluetooth/BluetoothAdapter.java',
+ 'android/bluetooth/BluetoothManager.java',
+ 'android/bluetooth/BluetoothProfile.java',
+ 'android/bluetooth/le/ScanCallback.java',
+ 'android/content/ActivityNotFoundException.java',
+ 'android/content/BroadcastReceiver.java',
+ 'android/content/ClipboardManager.java',
+ 'android/content/ClipData.java',
+ 'android/content/ComponentCallbacks.java',
+ 'android/content/ComponentCallbacks2.java',
+ 'android/content/ComponentName.java',
+ 'android/content/ContentProvider.java',
+ 'android/content/ContentResolver.java',
+ 'android/content/ContentUris.java',
+ 'android/content/ContentValues.java',
+ 'android/content/Context.java',
+ 'android/content/ContextWrapper.java',
+ 'android/content/DialogInterface.java',
+ 'android/content/Intent.java',
+ 'android/content/IntentFilter.java',
+ 'android/content/IntentSender.java',
+ 'android/content/OperationApplicationException.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',
+ 'android/content/pm/ComponentInfo.java',
+ 'android/content/pm/ConfigurationInfo.java',
+ 'android/content/pm/FeatureInfo.java',
+ 'android/content/pm/InstrumentationInfo.java',
+ 'android/content/pm/LauncherApps.java',
+ 'android/content/pm/ManifestDigest.java',
+ 'android/content/pm/PackageInfo.java',
+ 'android/content/pm/PackageItemInfo.java',
+ 'android/content/pm/PackageManager.java',
+ 'android/content/pm/PackageParser.java',
+ 'android/content/pm/PackageUserState.java',
+ 'android/content/pm/PathPermission.java',
+ 'android/content/pm/PermissionGroupInfo.java',
+ 'android/content/pm/PermissionInfo.java',
+ 'android/content/pm/ProviderInfo.java',
+ 'android/content/pm/ResolveInfo.java',
+ 'android/content/pm/ServiceInfo.java',
+ 'android/content/pm/Signature.java',
+ 'android/content/pm/VerifierInfo.java',
+ 'android/content/res/AssetFileDescriptor.java',
+ 'android/content/res/AssetManager.java',
+ 'android/content/res/ColorStateList.java',
+ 'android/content/res/CompatibilityInfo.java',
+ 'android/content/res/Configuration.java',
+ 'android/content/res/Resources.java',
+ 'android/content/res/StringBlock.java',
+ 'android/content/res/TypedArray.java',
+ 'android/content/res/XmlBlock.java',
+ 'android/content/res/XmlResourceParser.java',
+ 'android/database/AbstractCursor.java',
+ 'android/database/AbstractWindowedCursor.java',
+ 'android/database/ContentObservable.java',
+ 'android/database/ContentObserver.java',
+ 'android/database/CrossProcessCursor.java',
+ 'android/database/Cursor.java',
+ 'android/database/CursorWindow.java',
+ 'android/database/CursorWrapper.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',
+ 'android/database/sqlite/DatabaseErrorHandler.java',
+ 'android/database/sqlite/DatabaseObjectNotClosedException.java',
+ 'android/database/sqlite/SQLiteAbortException.java',
+ 'android/database/sqlite/SQLiteAccessPermException.java',
+ 'android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException.java',
+ 'android/database/sqlite/SQLiteBlobTooBigException.java',
+ 'android/database/sqlite/SQLiteCantOpenDatabaseException.java',
+ 'android/database/sqlite/SQLiteClosable.java',
+ 'android/database/sqlite/SQLiteConnection.java',
+ 'android/database/sqlite/SQLiteConnectionPool.java',
+ 'android/database/sqlite/SQLiteConstraintException.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/SQLiteDatabaseLockedException.java',
+ 'android/database/sqlite/SQLiteDatatypeMismatchException.java',
+ 'android/database/sqlite/SQLiteDebug.java',
+ 'android/database/sqlite/SQLiteDirectCursorDriver.java',
+ 'android/database/sqlite/SQLiteDiskIOException.java',
+ 'android/database/sqlite/SQLiteDoneException.java',
+ 'android/database/sqlite/SQLiteException.java',
+ 'android/database/sqlite/SQLiteFullException.java',
+ 'android/database/sqlite/SQLiteGlobal.java',
+ 'android/database/sqlite/SQLiteMisuseException.java',
+ 'android/database/sqlite/SQLiteOpenHelper.java',
+ 'android/database/sqlite/SQLiteOutOfMemoryException.java',
+ 'android/database/sqlite/SQLiteProgram.java',
+ 'android/database/sqlite/SQLiteQuery.java',
+ 'android/database/sqlite/SQLiteQueryBuilder.java',
+ 'android/database/sqlite/SQLiteReadOnlyDatabaseException.java',
+ 'android/database/sqlite/SQLiteSession.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/Bitmap.java',
+ 'android/graphics/BitmapFactory.java',
+ 'android/graphics/BitmapShader.java',
+ 'android/graphics/Canvas.java',
+ 'android/graphics/Color.java',
+ 'android/graphics/ColorFilter.java',
+ 'android/graphics/ColorMatrix.java',
+ 'android/graphics/ColorMatrixColorFilter.java',
+ 'android/graphics/CornerPathEffect.java',
+ 'android/graphics/DashPathEffect.java',
+ 'android/graphics/GskCanvas.java',
+ 'android/graphics/LinearGradient.java',
+ 'android/graphics/Matrix.java',
+ 'android/graphics/Outline.java',
+ 'android/graphics/Paint.java',
+ 'android/graphics/Path.java',
+ 'android/graphics/PathEffect.java',
+ 'android/graphics/PathMeasure.java',
+ 'android/graphics/PixelFormat.java',
+ 'android/graphics/Point.java',
+ 'android/graphics/PointF.java',
+ 'android/graphics/PorterDuff.java',
+ 'android/graphics/PorterDuffColorFilter.java',
+ 'android/graphics/PorterDuffXfermode.java',
+ 'android/graphics/RadialGradient.java',
+ 'android/graphics/Rect.java',
+ 'android/graphics/RectF.java',
+ 'android/graphics/Region.java',
+ 'android/graphics/Shader.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',
+ 'android/graphics/drawable/Drawable.java',
+ 'android/graphics/drawable/DrawableContainer.java',
+ 'android/graphics/drawable/DrawableWrapper.java',
+ 'android/graphics/drawable/GradientDrawable.java',
+ 'android/graphics/drawable/InsetDrawable.java',
+ 'android/graphics/drawable/LayerDrawable.java',
+ 'android/graphics/drawable/NinePatchDrawable.java',
+ 'android/graphics/drawable/RippleDrawable.java',
+ 'android/graphics/drawable/ScaleDrawable.java',
+ 'android/graphics/drawable/ShapeDrawable.java',
+ 'android/graphics/drawable/StateListDrawable.java',
+ 'android/graphics/drawable/TransitionDrawable.java',
+ 'android/graphics/drawable/VectorDrawable.java',
+ 'android/graphics/drawable/shapes/OvalShape.java',
+ 'android/graphics/drawable/shapes/RoundRectShape.java',
+ 'android/graphics/drawable/shapes/Shape.java',
+ 'android/hardware/ConsumerIrManager.java',
+ 'android/hardware/Sensor.java',
+ 'android/hardware/SensorEvent.java',
+ 'android/hardware/SensorEventListener.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/media/AudioAttributes.java',
+ 'android/media/AudioManager.java',
+ 'android/media/AudioTrack.java',
+ 'android/media/MediaCodec.java',
+ 'android/media/MediaCodecInfo.java',
+ 'android/media/MediaCodecList.java',
+ 'android/media/MediaCrypto.java',
+ 'android/media/MediaDescription.java',
+ 'android/media/MediaFormat.java',
+ 'android/media/MediaMetadata.java',
+ 'android/media/MediaPlayer.java',
+ 'android/media/MediaRouter.java',
+ 'android/media/Ringtone.java',
+ 'android/media/RingtoneManager.java',
+ 'android/media/SoundPool.java',
+ 'android/media/projection/MediaProjectionManager.java',
+ 'android/media/session/MediaController.java',
+ 'android/media/session/MediaSession.java',
+ 'android/media/session/MediaSessionManager.java',
+ 'android/media/session/PlaybackState.java',
+ 'android/media/tv/TvInputManager.java',
+ 'android/net/ConnectivityManager.java',
+ 'android/net/NetworkInfo.java',
+ 'android/net/NetworkRequest.java',
+ 'android/net/SSLSessionCache.java',
+ 'android/net/TrafficStats.java',
+ 'android/net/Uri.java',
+ 'android/net/UriCodec.java',
+ 'android/net/UrlQuerySanitizer.java',
+ 'android/net/http/X509TrustManagerExtensions.java',
+ 'android/net/nsd/NsdManager.java',
+ 'android/net/wifi/WifiInfo.java',
+ 'android/net/wifi/WifiManager.java',
+ 'android/net/wifi/p2p/WifiP2pManager.java',
+ 'android/nfc/NfcManager.java',
+ 'android/opengl/EGLConfig.java',
+ 'android/opengl/EGLObjectHandle.java',
+ 'android/opengl/GLES10.java',
+ 'android/opengl/GLES20.java',
+ 'android/opengl/GLSurfaceView.java',
+ 'android/opengl/Matrix.java',
+ 'android/os/AsyncTask.java',
+ 'android/os/BaseBundle.java',
+ 'android/os/BatteryManager.java',
+ 'android/os/Binder.java',
+ 'android/os/Build.java',
+ 'android/os/Bundle.java',
+ 'android/os/CancellationSignal.java',
+ 'android/os/ConditionVariable.java',
+ 'android/os/CountDownTimer.java',
+ 'android/os/DeadObjectException.java',
+ 'android/os/Debug.java',
+ 'android/os/DropBoxManager.java',
+ 'android/os/Environment.java',
+ 'android/os/FileObserver.java',
+ 'android/os/Handler.java',
+ 'android/os/HandlerThread.java',
+ 'android/os/IBinder.java',
+ 'android/os/IInterface.java',
+ 'android/os/IMessenger.java',
+ 'android/os/LocaleList.java',
+ 'android/os/Looper.java',
+ 'android/os/MemoryFile.java',
+ 'android/os/Message.java',
+ 'android/os/MessageQueue.java',
+ 'android/os/Messenger.java',
+ 'android/os/OperationCanceledException.java',
+ 'android/os/Parcel.java',
+ 'android/os/ParcelFileDescriptor.java',
+ 'android/os/Parcelable.java',
+ 'android/os/PatternMatcher.java',
+ 'android/os/PersistableBundle.java',
+ 'android/os/PowerManager.java',
+ 'android/os/Process.java',
+ 'android/os/RemoteCallbackList.java',
+ 'android/os/RemoteException.java',
+ 'android/os/ResultReceiver.java',
+ 'android/os/StatFs.java',
+ 'android/os/StrictMode.java',
+ 'android/os/SystemClock.java',
+ 'android/os/Trace.java',
+ 'android/os/UserHandle.java',
+ 'android/os/UserManager.java',
+ 'android/os/Vibrator.java',
+ 'android/os/storage/StorageManager.java',
+ 'android/preference/PreferenceActivity.java',
+ 'android/preference/PreferenceManager.java',
+ 'android/print/PrintManager.java',
+ 'android/provider/BaseColumns.java',
+ 'android/provider/CalendarContract.java',
+ 'android/provider/ContactsContract.java',
+ 'android/provider/Settings.java',
+ 'android/telecom/TelecomManager.java',
+ 'android/telephony/CellLocation.java',
+ 'android/telephony/PhoneNumberUtils.java',
+ 'android/telephony/PhoneStateListener.java',
+ 'android/telephony/SubscriptionManager.java',
+ 'android/telephony/TelephonyManager.java',
+ 'android/text/BoringLayout.java',
+ 'android/text/ClipboardManager.java',
+ 'android/text/Editable.java',
+ 'android/text/GetChars.java',
+ 'android/text/Html.java',
+ 'android/text/InputFilter.java',
+ '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/Spanned.java',
+ 'android/text/SpannedString.java',
+ 'android/text/StaticLayout.java',
+ 'android/text/TextDirectionHeuristic.java',
+ 'android/text/TextDirectionHeuristics.java',
+ 'android/text/TextPaint.java',
+ 'android/text/TextUtils.java',
+ 'android/text/TextWatcher.java',
+ 'android/text/format/DateFormat.java',
+ 'android/text/format/DateUtils.java',
+ 'android/text/format/Formatter.java',
+ 'android/text/format/Time.java',
+ 'android/text/method/BaseMovementMethod.java',
+ 'android/text/method/KeyListener.java',
+ 'android/text/method/LinkMovementMethod.java',
+ 'android/text/method/MovementMethod.java',
+ 'android/text/method/NumberKeyListener.java',
+ 'android/text/method/PasswordTransformationMethod.java',
+ 'android/text/method/TextKeyListener.java',
+ 'android/text/method/TransformationMethod.java',
+ 'android/text/style/AbsoluteSizeSpan.java',
+ 'android/text/style/BackgroundColorSpan.java',
+ 'android/text/style/BulletSpan.java',
+ 'android/text/style/CharacterStyle.java',
+ 'android/text/style/ClickableSpan.java',
+ 'android/text/style/DynamicDrawableSpan.java',
+ 'android/text/style/ForegroundColorSpan.java',
+ 'android/text/style/ImageSpan.java',
+ 'android/text/style/LeadingMarginSpan.java',
+ 'android/text/style/LineBackgroundSpan.java',
+ 'android/text/style/LineHeightSpan.java',
+ 'android/text/style/MetricAffectingSpan.java',
+ 'android/text/style/ParagraphStyle.java',
+ 'android/text/style/RelativeSizeSpan.java',
+ 'android/text/style/ReplacementSpan.java',
+ 'android/text/style/StrikethroughSpan.java',
+ 'android/text/style/StyleSpan.java',
+ 'android/text/style/TextAppearanceSpan.java',
+ 'android/text/style/TypefaceSpan.java',
+ 'android/text/style/UnderlineSpan.java',
+ 'android/text/style/UpdateAppearance.java',
+ 'android/text/style/UpdateLayout.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/Base64OutputStream.java',
+ 'android/util/ContainerHelpers.java',
+ 'android/util/DecompiledXmlResourceParser.java',
+ 'android/util/DisplayMetrics.java',
+ 'android/util/FloatMath.java',
+ 'android/util/FloatProperty.java',
+ 'android/util/JsonReader.java',
+ 'android/util/JsonScope.java',
+ 'android/util/JsonToken.java',
+ 'android/util/JsonWriter.java',
+ 'android/util/LayoutDirection.java',
+ 'android/util/Log.java',
+ 'android/util/LongSparseArray.java',
+ 'android/util/LruCache.java',
+ 'android/util/MapCollections.java',
+ 'android/util/Pair.java',
+ 'android/util/PrefixPrinter.java',
+ 'android/util/Printer.java',
+ 'android/util/Property.java',
+ 'android/util/Size.java',
+ 'android/util/SizeF.java',
+ 'android/util/Slog.java',
+ 'android/util/SparseArray.java',
+ 'android/util/SparseBooleanArray.java',
+ 'android/util/SparseIntArray.java',
+ 'android/util/SparseLongArray.java',
+ 'android/util/StateSet.java',
+ 'android/util/TypedValue.java',
+ 'android/util/Xml.java',
+ 'android/util/XmlPullAttributes.java',
+ 'android/view/AbsSavedState.java',
+ 'android/view/ActionMode.java',
+ 'android/view/ViewAnimationUtils.java',
+ 'android/view/Choreographer.java',
+ 'android/view/ContextThemeWrapper.java',
+ 'android/view/Display.java',
+ 'android/view/GestureDetector.java',
+ 'android/view/Gravity.java',
+ 'android/view/InflateException.java',
+ 'android/view/InputDevice.java',
+ 'android/view/InputEvent.java',
+ 'android/view/InputQueue.java',
+ 'android/view/KeyCharacterMap.java',
+ 'android/view/KeyEvent.java',
+ 'android/view/LayoutInflater.java',
+ 'android/view/Menu.java',
+ 'android/view/MenuInflater.java',
+ 'android/view/MenuItem.java',
+ 'android/view/MotionEvent.java',
+ 'android/view/ScaleGestureDetector.java',
+ 'android/view/SubMenu.java',
+ 'android/view/Surface.java',
+ 'android/view/SurfaceHolder.java',
+ 'android/view/SurfaceView.java',
+ 'android/view/TextureView.java',
+ 'android/view/TouchDelegate.java',
+ 'android/view/VelocityTracker.java',
+ 'android/view/View.java',
+ 'android/view/ViewConfiguration.java',
+ 'android/view/ViewGroup.java',
+ 'android/view/ViewManager.java',
+ 'android/view/ViewOutlineProvider.java',
+ 'android/view/ViewOverlay.java',
+ 'android/view/ViewParent.java',
+ 'android/view/ViewPropertyAnimator.java',
+ 'android/view/ViewStub.java',
+ 'android/view/ViewTreeObserver.java',
+ 'android/view/Window.java',
+ 'android/view/WindowInsets.java',
+ 'android/view/WindowManager.java',
+ 'android/view/WindowManagerImpl.java',
+ 'android/view/accessibility/AccessibilityManager.java',
+ 'android/view/accessibility/AccessibilityNodeInfo.java',
+ 'android/view/accessibility/AccessibilityNodeProvider.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/AnimationSet.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/OvershootInterpolator.java',
+ 'android/view/animation/PathInterpolator.java',
+ 'android/view/animation/ScaleAnimation.java',
+ 'android/view/animation/TranslateAnimation.java',
+ 'android/view/inputmethod/BaseInputConnection.java',
+ 'android/view/inputmethod/CursorAnchorInfo.java',
+ 'android/view/inputmethod/InputConnection.java',
+ 'android/view/inputmethod/InputMethodManager.java',
+ 'android/view/textservice/TextServicesManager.java',
+ 'android/webkit/DownloadListener.java',
+ 'android/webkit/MimeTypeMap.java',
+ 'android/webkit/URLUtil.java',
+ 'android/webkit/ViewAnimator.java',
+ 'android/webkit/WebChromeClient.java',
+ 'android/webkit/WebSettings.java',
+ 'android/webkit/WebView.java',
+ 'android/webkit/WebViewClient.java',
+ 'android/widget/AbsListView.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/CheckBox.java',
+ 'android/widget/Checkable.java',
+ 'android/widget/CheckedTextView.java',
+ 'android/widget/CompoundButton.java',
+ 'android/widget/CursorAdapter.java',
+ 'android/widget/EdgeEffect.java',
+ 'android/widget/EditText.java',
+ 'android/widget/ExpandableListView.java',
+ 'android/widget/Filter.java',
+ 'android/widget/Filterable.java',
+ 'android/widget/FilterQueryProvider.java',
+ 'android/widget/FrameLayout.java',
+ 'android/widget/Gallery.java',
+ 'android/widget/GridView.java',
+ 'android/widget/HeaderViewListAdapter.java',
+ 'android/widget/HorizontalScrollView.java',
+ 'android/widget/ImageButton.java',
+ 'android/widget/ImageView.java',
+ 'android/widget/LinearLayout.java',
+ 'android/widget/ListAdapter.java',
+ 'android/widget/ListView.java',
+ 'android/widget/MediaController.java',
+ 'android/widget/MultiAutoCompleteTextView.java',
+ 'android/widget/OverScroller.java',
+ 'android/widget/PopupMenu.java',
+ 'android/widget/PopupWindow.java',
+ 'android/widget/ProgressBar.java',
+ 'android/widget/RadioButton.java',
+ 'android/widget/RadioGroup.java',
+ 'android/widget/RelativeLayout.java',
+ 'android/widget/RemoteViews.java',
+ 'android/widget/ScrollView.java',
+ 'android/widget/SectionIndexer.java',
+ 'android/widget/Scroller.java',
+ 'android/widget/SeekBar.java',
+ 'android/widget/SimpleAdapter.java',
+ 'android/widget/Space.java',
+ 'android/widget/Spinner.java',
+ 'android/widget/SpinnerAdapter.java',
+ 'android/widget/Switch.java',
+ 'android/widget/TableLayout.java',
+ 'android/widget/TableRow.java',
+ 'android/widget/TextView.java',
+ 'android/widget/Toast.java',
+ 'android/widget/Toolbar.java',
+ 'android/widget/ViewAnimator.java',
+ 'android/widget/ZoomButton.java',
+ 'android/widget/ZoomButtonsController.java',
+ 'com/android/internal/Manifest.java',
+ 'com/android/internal/R.java',
+ 'com/android/internal/util/ArrayUtils.java',
+ 'com/android/internal/util/FastXmlSerializer.java',
+ 'com/android/internal/util/GrowingArrayUtils.java',
+ 'com/android/internal/util/XmlUtils.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/LicenseChecker.java',
+ 'com/google/android/vending/licensing/LicenseCheckerCallback.java',
+ 'com/google/android/vending/licensing/Policy.java',
+ 'com/android/server/am/DumpHeapProvider.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/EGLSurface.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',
+]
+java_args = [
+ '-bootclasspath', bootclasspath,
+ '-source', '1.8', '-target', '1.8',
+ '-encoding', 'UTF-8',
+ '-Xlint:-deprecation', # we implement deprecated APIs
+ '-h', join_paths(dir_base, 'src/api-impl-jni/generated_headers')
+]
+
+ant = find_program('ant', required: false)
+
+if ant.found()
+ hax_jar = custom_target('hax',
+ output: 'hax.jar',
+ command: [ant,
+ '-buildfile', files('build.xml'),
+ '-Dbasedir=' + builddir_base,
+ '-Dsrcdir=' + meson.current_source_dir(),
+ '-Dincludes=' + ','.join(srcs),
+ '-Djarfile=@OUTPUT@',
+ '-Dbuild=@PRIVATE_DIR@',
+ '-Djavaargs=' + ' '.join(java_args),
+ ],
+ depend_files: srcs + ['build.xml'],
+ )
+else
+ hax_jar = jar('hax', srcs,
+ java_args: java_args)
+endif
diff --git a/src/test-runner/build.xml b/src/test-runner/build.xml
new file mode 100644
index 00000000..7f3cd34d
--- /dev/null
+++ b/src/test-runner/build.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/test-runner/meson.build b/src/test-runner/meson.build
index 15106340..da7db77b 100644
--- a/src/test-runner/meson.build
+++ b/src/test-runner/meson.build
@@ -1,68 +1,90 @@
-test_runner_jar = jar('test_runner', [
- # test-runner
- 'android/test/ActivityInstrumentationTestCase2.java',
- 'android/test/ActivityInstrumentationTestCase.java',
- 'android/test/ActivityTestCase.java',
- 'android/test/ActivityUnitTestCase.java',
- 'android/test/AndroidTestRunner.java',
- 'android/test/ApplicationTestCase.java',
- 'android/test/AssertionFailedError.java',
- 'android/test/ClassPathPackageInfoSource.java',
- 'android/test/ComparisonFailure.java',
- 'android/test/InstrumentationTestRunner.java',
-# 'android/test/IsolatedContext.java',
- 'android/test/LaunchPerformanceBase.java',
-# 'android/test/LoaderTestCase.java',
- 'android/test/MoreAsserts.java',
- 'android/test/NoExecTestResult.java',
-# 'android/test/ProviderTestCase2.java',
-# 'android/test/ProviderTestCase.java',
- 'android/test/RenamingDelegatingContext.java',
-# 'android/test/ServiceTestCase.java',
- 'android/test/SimpleCache.java',
-# 'android/test/SingleLaunchActivityTestCase.java',
- 'android/test/SyncBaseInstrumentation.java',
- 'android/test/TestCaseUtil.java',
- 'android/test/TestPrinter.java',
- 'android/test/TestSuiteProvider.java',
-# 'android/test/TouchUtils.java',
- 'android/test/ViewAsserts.java',
- 'android/test/suitebuilder/AssignableFrom.java',
- 'android/test/suitebuilder/SmokeTestSuiteBuilder.java',
- 'android/test/suitebuilder/TestGrouping.java',
- 'android/test/suitebuilder/TestMethod.java',
- 'android/test/suitebuilder/TestPredicates.java',
- 'android/test/suitebuilder/TestSuiteBuilder.java',
- 'android/test/suitebuilder/UnitTestSuiteBuilder.java',
- # old stuff (needed for older CTS versions)
- 'android/test/suitebuilder/annotation/HasAnnotation.java',
- 'android/test/suitebuilder/annotation/HasClassAnnotation.java',
- 'android/test/suitebuilder/annotation/HasMethodAnnotation.java',
- 'com/android/internal/util/Predicates.java',
- # test-base
- 'android/test/AndroidTestCase.java',
- 'android/test/FlakyTest.java',
- 'android/test/InstrumentationTestCase.java',
- 'android/test/InstrumentationTestSuite.java',
- 'android/test/PerformanceTestCase.java',
- 'android/test/RepetitiveTest.java',
- 'android/test/UiThreadTest.java',
- 'android/test/suitebuilder/annotation/LargeTest.java',
- 'android/test/suitebuilder/annotation/MediumTest.java',
- 'android/test/suitebuilder/annotation/SmallTest.java',
- 'android/test/suitebuilder/annotation/Smoke.java',
- 'android/test/suitebuilder/annotation/Suppress.java',
- 'com/android/internal/util/Predicate.java',
- # this was part of dalvik but got removed at some point
- 'dalvik/annotation/BrokenTest.java',
- 'dalvik/annotation/SideEffect.java',
- ],
- build_by_default: false,
- link_with: [hax_jar],
- java_args: [
- '-bootclasspath', bootclasspath,
- '-source', '1.8', '-target', '1.8',
- '-encoding', 'UTF-8',
- '-Xlint:-deprecation', # we implement deprecated APIs
- '-h', join_paths(dir_base, 'src/api-impl-jni/generated_headers')
- ])
+srcs = [
+# test-runner
+ 'android/test/ActivityInstrumentationTestCase2.java',
+ 'android/test/ActivityInstrumentationTestCase.java',
+ 'android/test/ActivityTestCase.java',
+ 'android/test/ActivityUnitTestCase.java',
+ 'android/test/AndroidTestRunner.java',
+ 'android/test/ApplicationTestCase.java',
+ 'android/test/AssertionFailedError.java',
+ 'android/test/ClassPathPackageInfoSource.java',
+ 'android/test/ComparisonFailure.java',
+ 'android/test/InstrumentationTestRunner.java',
+# 'android/test/IsolatedContext.java',
+ 'android/test/LaunchPerformanceBase.java',
+# 'android/test/LoaderTestCase.java',
+ 'android/test/MoreAsserts.java',
+ 'android/test/NoExecTestResult.java',
+# 'android/test/ProviderTestCase2.java',
+# 'android/test/ProviderTestCase.java',
+ 'android/test/RenamingDelegatingContext.java',
+# 'android/test/ServiceTestCase.java',
+ 'android/test/SimpleCache.java',
+# 'android/test/SingleLaunchActivityTestCase.java',
+ 'android/test/SyncBaseInstrumentation.java',
+ 'android/test/TestCaseUtil.java',
+ 'android/test/TestPrinter.java',
+ 'android/test/TestSuiteProvider.java',
+# 'android/test/TouchUtils.java',
+ 'android/test/ViewAsserts.java',
+ 'android/test/suitebuilder/AssignableFrom.java',
+ 'android/test/suitebuilder/SmokeTestSuiteBuilder.java',
+ 'android/test/suitebuilder/TestGrouping.java',
+ 'android/test/suitebuilder/TestMethod.java',
+ 'android/test/suitebuilder/TestPredicates.java',
+ 'android/test/suitebuilder/TestSuiteBuilder.java',
+ 'android/test/suitebuilder/UnitTestSuiteBuilder.java',
+# old stuff (needed for older CTS versions)
+ 'android/test/suitebuilder/annotation/HasAnnotation.java',
+ 'android/test/suitebuilder/annotation/HasClassAnnotation.java',
+ 'android/test/suitebuilder/annotation/HasMethodAnnotation.java',
+ 'com/android/internal/util/Predicates.java',
+# test-base
+ 'android/test/AndroidTestCase.java',
+ 'android/test/FlakyTest.java',
+ 'android/test/InstrumentationTestCase.java',
+ 'android/test/InstrumentationTestSuite.java',
+ 'android/test/PerformanceTestCase.java',
+ 'android/test/RepetitiveTest.java',
+ 'android/test/UiThreadTest.java',
+ 'android/test/suitebuilder/annotation/LargeTest.java',
+ 'android/test/suitebuilder/annotation/MediumTest.java',
+ 'android/test/suitebuilder/annotation/SmallTest.java',
+ 'android/test/suitebuilder/annotation/Smoke.java',
+ 'android/test/suitebuilder/annotation/Suppress.java',
+ 'com/android/internal/util/Predicate.java',
+# this was part of dalvik but got removed at some point
+ 'dalvik/annotation/BrokenTest.java',
+ 'dalvik/annotation/SideEffect.java',
+]
+
+java_args = [
+ '-bootclasspath', bootclasspath,
+ '-source', '1.8', '-target', '1.8',
+ '-encoding', 'UTF-8',
+ '-Xlint:-deprecation', # we implement deprecated APIs
+ '-h', join_paths(dir_base, 'src/api-impl-jni/generated_headers')
+]
+
+ant = find_program('ant', required: false)
+
+if ant.found()
+ test_runner_jar = custom_target('test_runner',
+ output: 'test_runner.jar',
+ command: [ant,
+ '-buildfile', files('build.xml'),
+ '-Dbasedir=' + builddir_base,
+ '-Dsrcdir=' + meson.current_source_dir(),
+ '-Dincludes=' + ','.join(srcs),
+ '-Djarfile=@OUTPUT@',
+ '-Dbuild=@PRIVATE_DIR@',
+ '-Djavaargs=' + ' '.join(java_args + ['-classpath', hax_jar.full_path()]),
+ ],
+ depend_files: srcs + ['build.xml', hax_jar.full_path()],
+ )
+else
+ test_runner_jar = jar('test_runner', srcs,
+ build_by_default: false,
+ link_with: [hax_jar],
+ java_args: java_args,)
+endif