LIBANDROID {
  global:
    AActivityManager_addUidImportanceListener; # systemapi # introduced=31
    AActivityManager_removeUidImportanceListener; # systemapi # introduced=31
    AActivityManager_isUidActive; # systemapi # introduced=31
    AActivityManager_getUidImportance; # systemapi # introduced=31
    AAssetDir_close;
    AAssetDir_getNextFileName;
    AAssetDir_rewind;
    AAssetManager_fromJava;
    AAssetManager_open;
    AAssetManager_openDir;
    AAsset_close;
    AAsset_getBuffer;
    AAsset_getLength;
    AAsset_getLength64; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AAsset_getRemainingLength;
    AAsset_getRemainingLength64; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AAsset_isAllocated;
    AAsset_openFileDescriptor;
    AAsset_openFileDescriptor64; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AAsset_read;
    AAsset_seek;
    AAsset_seek64; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AChoreographer_getInstance; # introduced=24
    AChoreographer_postFrameCallback; # introduced=24
    AChoreographer_postFrameCallbackDelayed; # introduced=24
    AChoreographer_postFrameCallback64; # introduced=29
    AChoreographer_postFrameCallbackDelayed64; # introduced=29
    AChoreographer_registerRefreshRateCallback; # introduced=30
    AChoreographer_unregisterRefreshRateCallback; # introduced=30
    AChoreographer_postVsyncCallback;  # introduced=33
    AChoreographerFrameCallbackData_getFrameTimeNanos;  # introduced=33
    AChoreographerFrameCallbackData_getFrameTimelinesLength;  # introduced=33
    AChoreographerFrameCallbackData_getPreferredFrameTimelineIndex;  # introduced=33
    AChoreographerFrameCallbackData_getFrameTimelineVsyncId;  # introduced=33
    AChoreographerFrameCallbackData_getFrameTimelineExpectedPresentationTimeNanos;  # introduced=33
    AChoreographerFrameCallbackData_getFrameTimelineDeadlineNanos;  # introduced=33
    AConfiguration_copy;
    AConfiguration_delete;
    AConfiguration_diff;
    AConfiguration_fromAssetManager;
    AConfiguration_getCountry;
    AConfiguration_getDensity;
    AConfiguration_getGrammaticalGender; # introduced=UpsideDownCake
    AConfiguration_getKeyboard;
    AConfiguration_getKeysHidden;
    AConfiguration_getLanguage;
    AConfiguration_getLayoutDirection; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
    AConfiguration_getMcc;
    AConfiguration_getMnc;
    AConfiguration_getNavHidden;
    AConfiguration_getNavigation;
    AConfiguration_getOrientation;
    AConfiguration_getScreenHeightDp; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AConfiguration_getScreenLong;
    AConfiguration_getScreenRound; # introduced=30
    AConfiguration_getScreenSize;
    AConfiguration_getScreenWidthDp; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AConfiguration_getSdkVersion;
    AConfiguration_getSmallestScreenWidthDp; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AConfiguration_getTouchscreen;
    AConfiguration_getUiModeNight;
    AConfiguration_getUiModeType;
    AConfiguration_isBetterThan;
    AConfiguration_match;
    AConfiguration_new;
    AConfiguration_setCountry;
    AConfiguration_setDensity;
    AConfiguration_setGrammaticalGender; # introduced=UpsideDownCake
    AConfiguration_setKeyboard;
    AConfiguration_setKeysHidden;
    AConfiguration_setLanguage;
    AConfiguration_setLayoutDirection; # introduced-arm=17 introduced-arm64=21 introduced-mips=17 introduced-mips64=21 introduced-x86=17 introduced-x86_64=21
    AConfiguration_setMcc;
    AConfiguration_setMnc;
    AConfiguration_setNavHidden;
    AConfiguration_setNavigation;
    AConfiguration_setOrientation;
    AConfiguration_setScreenHeightDp; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AConfiguration_setScreenLong;
    AConfiguration_setScreenSize;
    AConfiguration_setScreenWidthDp; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AConfiguration_setSdkVersion;
    AConfiguration_setSmallestScreenWidthDp; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AConfiguration_setTouchscreen;
    AConfiguration_setUiModeNight;
    AConfiguration_setUiModeType;
    AInputEvent_getDeviceId;
    AInputEvent_getSource;
    AInputEvent_getType;
    AInputEvent_release; # introduced=31
    AInputQueue_attachLooper;
    AInputQueue_detachLooper;
    AInputQueue_finishEvent;
    AInputQueue_fromJava; # introduced=Tiramisu
    AInputQueue_getEvent;
    AInputQueue_hasEvents;
    AInputQueue_preDispatchEvent;
    AKeyEvent_getAction;
    AKeyEvent_getDownTime;
    AKeyEvent_getEventTime;
    AKeyEvent_getFlags;
    AKeyEvent_getKeyCode;
    AKeyEvent_getMetaState;
    AKeyEvent_getRepeatCount;
    AKeyEvent_getScanCode;
    AKeyEvent_fromJava; # introduced=31
    ALooper_acquire;
    ALooper_addFd;
    ALooper_forThread;
    ALooper_pollAll;
    ALooper_pollOnce;
    ALooper_prepare;
    ALooper_release;
    ALooper_removeFd;
    ALooper_wake;
    AMotionEvent_getAction;
    AMotionEvent_getActionButton; # introduced=Tiramisu
    AMotionEvent_getAxisValue; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AMotionEvent_getButtonState; # introduced-arm=14 introduced-arm64=21 introduced-mips=14 introduced-mips64=21 introduced-x86=14 introduced-x86_64=21
    AMotionEvent_getClassification; # introduced=Tiramisu
    AMotionEvent_getDownTime;
    AMotionEvent_getEdgeFlags;
    AMotionEvent_getEventTime;
    AMotionEvent_getFlags;
    AMotionEvent_getHistoricalAxisValue; # introduced-arm=13 introduced-arm64=21 introduced-mips=13 introduced-mips64=21 introduced-x86=13 introduced-x86_64=21
    AMotionEvent_getHistoricalEventTime;
    AMotionEvent_getHistoricalOrientation;
    AMotionEvent_getHistoricalPressure;
    AMotionEvent_getHistoricalRawX;
    AMotionEvent_getHistoricalRawY;
    AMotionEvent_getHistoricalSize;
    AMotionEvent_getHistoricalToolMajor;
    AMotionEvent_getHistoricalToolMinor;
    AMotionEvent_getHistoricalTouchMajor;
    AMotionEvent_getHistoricalTouchMinor;
    AMotionEvent_getHistoricalX;
    AMotionEvent_getHistoricalY;
    AMotionEvent_getHistorySize;
    AMotionEvent_getMetaState;
    AMotionEvent_getOrientation;
    AMotionEvent_getPointerCount;
    AMotionEvent_getPointerId;
    AMotionEvent_getPressure;
    AMotionEvent_getRawX;
    AMotionEvent_getRawY;
    AMotionEvent_getSize;
    AMotionEvent_getToolMajor;
    AMotionEvent_getToolMinor;
    AMotionEvent_getToolType; # introduced-arm=14 introduced-arm64=21 introduced-mips=14 introduced-mips64=21 introduced-x86=14 introduced-x86_64=21
    AMotionEvent_getTouchMajor;
    AMotionEvent_getTouchMinor;
    AMotionEvent_getX;
    AMotionEvent_getXOffset;
    AMotionEvent_getXPrecision;
    AMotionEvent_getY;
    AMotionEvent_getYOffset;
    AMotionEvent_getYPrecision;
    AMotionEvent_fromJava; # introduced=31
    ANativeActivity_finish;
    ANativeActivity_hideSoftInput;
    ANativeActivity_setWindowFlags;
    ANativeActivity_setWindowFormat;
    ANativeActivity_showSoftInput;
    AHardwareBuffer_acquire; # introduced=26
    AHardwareBuffer_allocate; # introduced=26
    AHardwareBuffer_describe; # introduced=26
    AHardwareBuffer_fromHardwareBuffer; # introduced=26
    AHardwareBuffer_getId; # introduced=31
    AHardwareBuffer_getNativeHandle; # introduced=26
    AHardwareBuffer_isSupported; # introduced=29
    AHardwareBuffer_lock; # introduced=26
    AHardwareBuffer_lockAndGetInfo; # introduced=29
    AHardwareBuffer_lockPlanes; # introduced=29
    AHardwareBuffer_recvHandleFromUnixSocket; # introduced=26
    AHardwareBuffer_release; # introduced=26
    AHardwareBuffer_sendHandleToUnixSocket; # introduced=26
    AHardwareBuffer_toHardwareBuffer; # introduced=26
    AHardwareBuffer_unlock; # introduced=26
    ANativeWindow_acquire;
    ANativeWindow_fromSurface;
    ANativeWindow_toSurface; # introduced=26
    ANativeWindow_getFormat;
    ANativeWindow_getHeight;
    ANativeWindow_getWidth;
    ANativeWindow_lock;
    ANativeWindow_release;
    ANativeWindow_setBuffersGeometry;
    ANativeWindow_unlockAndPost;
    AObbInfo_delete;
    AObbInfo_getFlags;
    AObbInfo_getPackageName;
    AObbInfo_getVersion;
    AObbScanner_getObbInfo;
    APermissionManager_checkPermission; # introduced=31
    ASensorEventQueue_disableSensor;
    ASensorEventQueue_enableSensor;
    ASensorEventQueue_getEvents;
    ASensorEventQueue_hasEvents;
    ASensorEventQueue_registerSensor; # introduced=26
    ASensorEventQueue_setEventRate;
    ASensorEventQueue_requestAdditionalInfoEvents; # introduced=29
    ASensorManager_configureDirectReport; # introduced=26
    ASensorManager_createEventQueue;
    ASensorManager_createHardwareBufferDirectChannel; # introduced=26
    ASensorManager_createSharedMemoryDirectChannel; # introduced=26
    ASensorManager_destroyDirectChannel; # introduced=26
    ASensorManager_destroyEventQueue;
    ASensorManager_getDefaultSensor;
    ASensorManager_getDefaultSensorEx; # introduced=21
    ASensorManager_getDynamicSensorList; # introduced=33
    ASensorManager_getInstance;
    ASensorManager_getInstanceForPackage; # introduced=26
    ASensorManager_getSensorList;
    ASensor_getFifoMaxEventCount; # introduced=21
    ASensor_getFifoReservedEventCount; # introduced=21
    ASensor_getHandle; # introduced=29
    ASensor_getHighestDirectReportRateLevel; # introduced=26
    ASensor_getMinDelay;
    ASensor_getName;
    ASensor_getReportingMode; # introduced=21
    ASensor_getResolution;
    ASensor_getStringType; # introduced=21
    ASensor_getType;
    ASensor_getVendor;
    ASensor_isDirectChannelTypeSupported; # introduced=26
    ASensor_isWakeUpSensor; # introduced=21
    ASharedMemory_create; # introduced=26
    ASharedMemory_getSize; # introduced=26
    ASharedMemory_setProt; # introduced=26
    ASharedMemory_dupFromJava; # introduced=27
    AStorageManager_delete;
    AStorageManager_getMountedObbPath;
    AStorageManager_isObbMounted;
    AStorageManager_mountObb;
    AStorageManager_new;
    AStorageManager_unmountObb;
    ASurfaceControl_create; # introduced=29
    ASurfaceControl_createFromWindow; # introduced=29
    ASurfaceControl_acquire; # introduced=31
    ASurfaceControl_release; # introduced=29
    ASurfaceControl_fromJava; # introduced=34
    ASurfaceTexture_acquireANativeWindow; # introduced=28
    ASurfaceTexture_attachToGLContext; # introduced=28
    ASurfaceTexture_detachFromGLContext; # introduced=28
    ASurfaceTexture_fromSurfaceTexture; # introduced=28
    ASurfaceTexture_getTimestamp; # introduced=28
    ASurfaceTexture_getTransformMatrix; # introduced=28
    ASurfaceTexture_release; # introduced=28
    ASurfaceTexture_updateTexImage; # introduced=28
    ASurfaceTransactionStats_getAcquireTime; # introduced=29
    ASurfaceTransactionStats_getASurfaceControls; # introduced=29
    ASurfaceTransactionStats_getLatchTime; # introduced=29
    ASurfaceTransactionStats_getPresentFenceFd; # introduced=29
    ASurfaceTransactionStats_getPreviousReleaseFenceFd; # introduced=29
    ASurfaceTransactionStats_releaseASurfaceControls; # introduced=29
    ASurfaceTransaction_apply; # introduced=29
    ASurfaceTransaction_create; # introduced=29
    ASurfaceTransaction_delete; # introduced=29
    ASurfaceTransaction_fromJava; # introduced=34
    ASurfaceTransaction_reparent; # introduced=29
    ASurfaceTransaction_setBuffer; # introduced=29
    ASurfaceTransaction_setBufferAlpha; # introduced=29
    ASurfaceTransaction_setBufferDataSpace; # introduced=29
    ASurfaceTransaction_setBufferTransparency; # introduced=29
    ASurfaceTransaction_setColor; # introduced=29
    ASurfaceTransaction_setDamageRegion; # introduced=29
    ASurfaceTransaction_setDesiredPresentTime; # introduced=29
    ASurfaceTransaction_setEnableBackPressure; # introduced=31
    ASurfaceTransaction_setFrameRate; # introduced=30
    ASurfaceTransaction_setFrameRateWithChangeStrategy; # introduced=31
    ASurfaceTransaction_clearFrameRate; # introduced=34
    ASurfaceTransaction_setFrameTimeline; # introduced=Tiramisu
    ASurfaceTransaction_setGeometry; # introduced=29
    ASurfaceTransaction_setHdrMetadata_cta861_3; # introduced=29
    ASurfaceTransaction_setHdrMetadata_smpte2086; # introduced=29
    ASurfaceTransaction_setExtendedRangeBrightness; # introduced=UpsideDownCake
    ASurfaceTransaction_setOnComplete; # introduced=29
    ASurfaceTransaction_setOnCommit; # introduced=31
    ASurfaceTransaction_setPosition; # introduced=31
    ASurfaceTransaction_setCrop; # introduced=31
    ASurfaceTransaction_setBufferTransform; # introduced=31
    ASurfaceTransaction_setScale; # introduced=31
    ASurfaceTransaction_setVisibility; # introduced=29
    ASurfaceTransaction_setZOrder; # introduced=29
    ASystemFontIterator_open; # introduced=29
    ASystemFontIterator_close; # introduced=29
    ASystemFontIterator_next; # introduced=29
    AFont_close; # introduced=29
    AFont_getFontFilePath; # introduced=29
    AFont_getWeight; # introduced=29
    AFont_isItalic; # introduced=29
    AFont_getLocale; # introduced=29
    AFont_getCollectionIndex; # introduced=29
    AFont_getAxisCount; # introduced=29
    AFont_getAxisTag; # introduced=29
    AFont_getAxisValue; # introduced=29
    AFontMatcher_create; # introduced=29
    AFontMatcher_destroy; # introduced=29
    AFontMatcher_setStyle; # introduced=29
    AFontMatcher_setLocales; # introduced=29
    AFontMatcher_setFamilyVariant; # introduced=29
    AFontMatcher_match; # introduced=29
    ATrace_beginSection; # introduced=23
    ATrace_endSection; # introduced=23
    ATrace_isEnabled; # introduced=23
    ATrace_beginAsyncSection; # introduced=29
    ATrace_endAsyncSection; # introduced=29
    ATrace_setCounter; # introduced=29
    android_getaddrinfofornetwork; # introduced=23
    android_getprocnetwork; # introduced=31
    android_setprocnetwork; # introduced=23
    android_getprocdns; # introduced=31
    android_setprocdns; # introduced=31
    android_setsocknetwork; # introduced=23
    android_res_cancel; # introduced=29
    android_res_nquery; # introduced=29
    android_res_nresult; # introduced=29
    android_res_nsend; # introduced=29
    android_tag_socket_with_uid; # introduced=Tiramisu
    android_tag_socket; # introduced=Tiramisu
    android_untag_socket; # introduced=Tiramisu
    AThermal_acquireManager; # introduced=30
    AThermal_releaseManager; # introduced=30
    AThermal_getCurrentThermalStatus; # introduced=30
    AThermal_registerThermalStatusListener; # introduced=30
    AThermal_unregisterThermalStatusListener; # introduced=30
    AThermal_getThermalHeadroom; # introduced=31
    APerformanceHint_getManager; # introduced=Tiramisu
    APerformanceHint_createSession; # introduced=Tiramisu
    APerformanceHint_getPreferredUpdateRateNanos; # introduced=Tiramisu
    APerformanceHint_updateTargetWorkDuration; # introduced=Tiramisu
    APerformanceHint_reportActualWorkDuration; # introduced=Tiramisu
    APerformanceHint_closeSession; # introduced=Tiramisu
    APerformanceHint_setThreads; # introduced=UpsideDownCake
  local:
    *;
};

LIBANDROID_PLATFORM {
  global:
    APerformanceHint_setIHintManagerForTesting;
    APerformanceHint_sendHint;
    APerformanceHint_getThreadIds;
    extern "C++" {
        ASurfaceControl_registerSurfaceStatsListener*;
        ASurfaceControl_unregisterSurfaceStatsListener*;
        ASurfaceControl_getChoreographer*;
        ASurfaceControlStats_getAcquireTime*;
        ASurfaceControlStats_getFrameNumber*;
    };
} LIBANDROID;