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
    AInputEvent_toJava; # introduced=35
    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_setDesiredHdrHeadroom; # introduced=VanillaIceCream
    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
    AThermal_getThermalHeadroomThresholds; # introduced=VanillaIceCream
    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
    APerformanceHint_setPreferPowerEfficiency; # introduced=VanillaIceCream
    APerformanceHint_reportActualWorkDuration2; # introduced=VanillaIceCream
    AWorkDuration_create; # introduced=VanillaIceCream
    AWorkDuration_release; # introduced=VanillaIceCream
    AWorkDuration_setWorkPeriodStartTimestampNanos; # introduced=VanillaIceCream
    AWorkDuration_setActualTotalDurationNanos; # introduced=VanillaIceCream
    AWorkDuration_setActualCpuDurationNanos; # introduced=VanillaIceCream
    AWorkDuration_setActualGpuDurationNanos; # introduced=VanillaIceCream
  local:
    *;
};

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