為了確保應用程式穩定性和相容性,平台已開始限制應用程式可在 Android 9 (API 級別 28) 中使用的非 SDK 介面。基於與 Android 開發人員合作及最新的內部測試,Android 10 包含最新的受限制非 SDK 介面清單。我們的目標是在限制非 SDK 介面之前,確保可使用公開替代方案。
如果您並不是指定 Android 10 (API 級別 29),則此處所述的某些變更可能不會立即對您造成影響。不過,雖然您目前可以使用某些非 SDK 介面 (視應用程式的目標 API 級別而定),但使用任何非 SDK 方法或欄位時,都會面臨應用程式中斷的高風險。
如果不確定應用程式是否使用非 SDK 介面,可測試應用程式以便確認。如果您的應用程式仰賴非 SDK 介面,則建議您開始規劃遷移至 SDK 替代方案。我們瞭解有些應用程式可使用非 SDK 介面運作。如果您除了為應用程式中的某個功能使用非 SDK 介面外,已別無他法,則應要求新的公用 API。
為非 SDK 介面清單命名變更
在 Android 9 (API 級別 28) 中,非 SDK 介面清單 (可疑清單) 會劃分在以下兩份清單之間:
- 不支援的非 SDK 介面清單 (淺灰色清單),無論目標 API 級別為何,均可以使用該介面。
- 如果應用程式指定 API 級別 28 以上,無法使用的已封鎖非 SDK 介面 (深灰色清單) 清單。
自 Android 10 起,受目標 API 級別限制的非 SDK 介面 (先前稱為深灰色清單) 現在改以該介面可使用的最高目標 SDK 版本為準。
範例
如果應用程式指定 Android 9 (API 級別 28) 時,非 SDK 介面遭到封鎖,該介面現已列入 max-target-o
(greylist-max-o
) 清單,其中「o」代表 Oreo 或 Android 8.1 (API 級別 27)。在這種情況下,只有在應用程式指定 Android 8.1 (API 級別 27) 以下版本時,您才能使用屬於 max-target-o
(greylist-max-o
) 清單的介面。
同樣地,如果 Android Pie 並未封鎖非 SDK 介面,但現在在 Android 10 中遭到封鎖,該介面會列於 max-target-p
(greylist-max-p
) 清單中,其中「p」代表 Pie 或 Android 9 (API 級別 28)。
這些名稱應提供更多關於目標 SDK 最高級別的深入分析資訊,在平台封鎖前,原本就可使用非 SDK API。
非 SDK 介面的程式碼註解
除了變更清單名稱外,現在許多非 SDK 介面還能在程式碼中使用下列註解加註。
註解 | 意義 |
---|---|
@UnsupportedAppUsage |
不支援的非 SDK 介面 |
@UnsupportedAppUsage(maxTargetSdk = 0) |
封鎖清單 |
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.O) |
有條件封鎖。只有指定 Android 8.1 Oreo (API 級別 27) 以下版本的應用程式能夠存取。 |
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P) |
有條件封鎖。只有指定 Android 9 Pie (API 級別 28) 以下版本的應用程式才能存取。 |
由於 Android 8.1 Oreo (API 級別 27) 中因大量非 SDK 介面遭到有條件封鎖,因此這份清單中的許多介面都未加上註解。雖然這些新註解可以提供快速參考要點,但如果您不確定應用程式是否使用非 SDK 介面,則應測試應用程式。
在 Android 10 中啟用非 SDK 介面的存取權
在 Android 10 中,可用來啟用非 SDK 介面存取權的指令已有所變更。只要變更 API 強制執行政策,即可在開發裝置上啟用非 SDK 介面的存取權。方法是使用下列 ADB 指令:
adb shell settings put global hidden_api_policy 1
若要將 API 強制執行政策重設為預設設定,請使用下列指令:
adb shell settings delete global hidden_api_policy
這些指令不需要使用已解鎖裝置即可執行。
您可以將 API 強制執行政策中的整數設為下列其中一個值:
- 0:停用所有非 SDK 介面的偵測作業。使用這項設定會停用所有非 SDK 介面使用情形的記錄訊息,您也將無法使用
StrictMode
API 測試應用程式。我們不建議採用此設定。 - 1:啟用所有非 SDK 介面的存取權,但若偵測到使用非 SDK 介面時,將會顯示記錄訊息並附上警告。使用這項設定也可讓您使用
StrictMode
API 測試應用程式。 - 2:禁止使用封鎖清單中的非 SDK 介面,或視目標 API 級別進行有條件封鎖。
Android 10 的清單變更
Android 10 中的清單變更分為以下類別:
- Android 9 (API 級別 28) 不支援的非 SDK 介面 (列入可疑清單),現已在 Android 10 (API 級別 29) 中封鎖。
- 在 Android 10 中新增至 Android SDK 的非 SDK 介面。
如需 Android 10 所有非 SDK 介面的完整清單,請下載下列檔案:hiddenapi-flags.csv
。
現已在 Android 10 中封鎖的非 SDK 介面
以下程式碼方塊會列出 Android 9 (API 級別 28) 不支援的所有非 SDK 介面 (列入可疑項目),而這些介面在 Android 10 (API 級別 29) 中遭到封鎖。也就是說,這些介面屬於 max-target-p
(greylist-max-p
) 清單,因此只有在指定 Android 9 (API 級別 28) 以下版本時,應用程式才能使用這些介面。
如果可以的話,建議您在介面名稱後面的註解中推薦替代 API。對於我們所認為可能正在使用,但結案的介面,系統不會記錄偽陽性。每個介面都會佔滿一行。
我們的目標是在限制非 SDK 介面之前,先確定公開替代方案的可得性,同時我們也瞭解您的應用程式可能具備使用這些介面的有效用途。如果您目前在 Android 9 中使用的介面遭到封鎖,您應針對該介面要求新的公用 API。
Landroid/accessibilityservice/AccessibilityService;->mWindowToken:Landroid/os/IBinder; # False Positive Landroid/accounts/AccountManager$AmsTask;->mActivity:Landroid/app/Activity; # False Positive Landroid/accounts/AccountManager$AmsTask;->mHandler:Landroid/os/Handler; # False Positive Landroid/accounts/AccountManager$AmsTask;->mResponse:Landroid/accounts/IAccountManagerResponse; # False Positive Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mAuthTokenType:Ljava/lang/String; # False Positive Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mLoginOptions:Landroid/os/Bundle; # False Positive Landroid/accounts/AccountManager$GetAuthTokenByTypeAndFeaturesTask;->mMyCallback:Landroid/accounts/AccountManagerCallback; # False Positive Landroid/accounts/AuthenticatorDescription;-><init>(Landroid/os/Parcel;)V # False Positive Landroid/accounts/AuthenticatorDescription;-><init>(Ljava/lang/String;)V # False Positive Landroid/animation/LayoutTransition;->cancel()V # This is used by androidx.transitions only for the API levels less than 18, so it is safe to restrict it after P. If developers are using it directly we encourage them to migrate to AndroidX Transition library instead Landroid/animation/LayoutTransition;->cancel(I)V # This is used by androidx.transitions only for the API levels less than 18, so it is safe to restrict it after P. If developers are using it directly we encourage them to migrate to AndroidX Transition library instead Landroid/animation/ValueAnimator;->sDurationScale:F # Use ValueAnimator.areAnimatorsEnabled() (introduced in API 26) to query whether duration scale = 0. Otherwise, it is intended not to expose impl details such as the actual duration scales to devs. Landroid/app/Activity;->mVisibleFromClient:Z # False Positive Landroid/app/Activity;->mVoiceInteractor:Landroid/app/VoiceInteractor; # False Positive Landroid/app/Activity;->setParent(Landroid/app/Activity;)V # False Positive Landroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I # False Positive Landroid/app/ActivityThread$ActivityClientRecord;-><init>()V # False Positive Landroid/app/ActivityThread$AppBindData;->compatInfo:Landroid/content/res/CompatibilityInfo; # False Positive Landroid/app/ActivityThread;->getPackageInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk; # False Positive Landroid/app/ActivityThread;->handleReceiver(Landroid/app/ActivityThread$ReceiverData;)V # False Positive Landroid/app/ActivityThread;->mLocalProviders:Landroid/util/ArrayMap; # False Positive Landroid/app/ActivityThread;->mResourcesManager:Landroid/app/ResourcesManager; # False Positive Landroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk; # False Positive Landroid/app/ActivityThread;->sMainThreadHandler:Landroid/os/Handler; # False Positive Landroid/app/admin/DeviceAdminInfo$PolicyInfo;->tag:Ljava/lang/String; # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordHistoryLength(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLength(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLetters(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumLowerCase(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNonLetter(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumNumeric(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumSymbols(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordMinimumUpperCase(Landroid/content/ComponentName;I)I # False Positive Landroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I # False Positive Landroid/app/assist/AssistContent;->mClipData:Landroid/content/ClipData; # False Positive Landroid/app/assist/AssistContent;->mExtras:Landroid/os/Bundle; # False Positive Landroid/app/assist/AssistContent;->mIntent:Landroid/content/Intent; # False Positive Landroid/app/assist/AssistContent;->mIsAppProvidedIntent:Z # False Positive Landroid/app/assist/AssistContent;->mStructuredData:Ljava/lang/String; # False Positive Landroid/app/assist/AssistContent;->mUri:Landroid/net/Uri; # False Positive Landroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V # False Positive Landroid/app/ContentProviderHolder;->noReleaseNeeded:Z # False Positive Landroid/app/ContextImpl;->mFlags:I # False Positive Landroid/app/ContextImpl;->mOpPackageName:Ljava/lang/String; # False Positive Landroid/app/ContextImpl;->mSharedPrefsPaths:Landroid/util/ArrayMap; # False Positive Landroid/app/Dialog;->CANCEL:I # False Positive Landroid/app/Dialog;->mHandler:Landroid/os/Handler; # False Positive Landroid/app/DownloadManager$Query;->orderBy(Ljava/lang/String;I)Landroid/app/DownloadManager$Query; # False Positive Landroid/app/DownloadManager;->setAccessFilename(Z)V # False Positive Landroid/app/Fragment;->mView:Landroid/view/View; # False Positive Landroid/app/Fragment;->sClassMap:Landroid/util/ArrayMap; # False Positive Landroid/app/IInstrumentationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstrumentationWatcher; # False Positive Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V # False Positive Landroid/app/ISearchManager$Stub;-><init>()V # False Positive Landroid/app/IUiModeManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiModeManager; # False Positive Landroid/app/IUiModeManager;->disableCarMode(I)V # False Positive Landroid/app/job/JobInfo;->flags:I # False Positive Landroid/app/job/JobWorkItem;-><init>(Landroid/os/Parcel;)V # False Positive Landroid/app/job/JobWorkItem;->mDeliveryCount:I # False Positive Landroid/app/job/JobWorkItem;->mGrants:Ljava/lang/Object; # False Positive Landroid/app/job/JobWorkItem;->mIntent:Landroid/content/Intent; # False Positive Landroid/app/job/JobWorkItem;->mWorkId:I # False Positive Landroid/app/KeyguardManager;->isDeviceLocked(I)Z # False Positive Landroid/app/LoadedApk$ReceiverDispatcher;->mContext:Landroid/content/Context; # False Positive Landroid/app/LoadedApk$ServiceDispatcher;->mContext:Landroid/content/Context; # False Positive Landroid/app/LoadedApk;->mDataDirFile:Ljava/io/File; # False Positive Landroid/app/LoadedApk;->mServices:Landroid/util/ArrayMap; # False Positive Landroid/app/Notification$Action;->mIcon:Landroid/graphics/drawable/Icon; # False Positive Landroid/app/ProgressDialog;->mProgress:Landroid/widget/ProgressBar; # False Positive Landroid/app/ResultInfo;->CREATOR:Landroid/os/Parcelable$Creator; # False Positive Landroid/app/UiAutomation;-><init>(Landroid/os/Looper;Landroid/app/IUiAutomationConnection;)V # False Positive Landroid/app/UiAutomation;->connect()V # False Positive Landroid/app/UiAutomation;->disconnect()V # False Positive Landroid/app/usage/ConfigurationStats;->mActivationCount:I # False Positive Landroid/app/usage/ConfigurationStats;->mBeginTimeStamp:J # False Positive Landroid/app/usage/ConfigurationStats;->mConfiguration:Landroid/content/res/Configuration; # False Positive Landroid/app/usage/ConfigurationStats;->mEndTimeStamp:J # False Positive Landroid/app/usage/ConfigurationStats;->mLastTimeActive:J # False Positive Landroid/app/usage/ConfigurationStats;->mTotalTimeActive:J # False Positive Landroid/app/usage/UsageEvents$Event;->mClass:Ljava/lang/String; # False Positive Landroid/app/usage/UsageEvents$Event;->mConfiguration:Landroid/content/res/Configuration; # False Positive Landroid/app/usage/UsageEvents$Event;->mEventType:I # False Positive Landroid/app/usage/UsageEvents$Event;->mPackage:Ljava/lang/String; # False Positive Landroid/app/usage/UsageEvents$Event;->mTimeStamp:J # False Positive Landroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V # False Positive Landroid/app/usage/UsageEvents;->findStringIndex(Ljava/lang/String;)I # False Positive Landroid/app/usage/UsageEvents;->mEventCount:I # False Positive Landroid/app/usage/UsageEvents;->mEventsToWrite:Ljava/util/List; # False Positive Landroid/app/usage/UsageEvents;->mIndex:I # False Positive Landroid/app/usage/UsageEvents;->mStringPool:[Ljava/lang/String; # False Positive Landroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V # False Positive Landroid/app/usage/UsageEvents;->writeEventToParcel(Landroid/app/usage/UsageEvents$Event;Landroid/os/Parcel;I)V # False Positive Landroid/app/usage/UsageStats;->mBeginTimeStamp:J # False Positive Landroid/app/usage/UsageStats;->mEndTimeStamp:J # False Positive Landroid/app/usage/UsageStats;->mLastTimeUsed:J # False Positive Landroid/app/usage/UsageStats;->mPackageName:Ljava/lang/String; # False Positive Landroid/app/usage/UsageStatsManager;->mContext:Landroid/content/Context; # False Positive Landroid/app/usage/UsageStatsManager;->sEmptyResults:Landroid/app/usage/UsageEvents; # False Positive Landroid/app/WallpaperManager;->setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;ZII)I # False Positive Landroid/bluetooth/BluetoothA2dp;->getPriority(Landroid/bluetooth/BluetoothDevice;)I # False Positive Landroid/bluetooth/BluetoothA2dp;->stateToString(I)Ljava/lang/String; # False Positive Landroid/bluetooth/BluetoothClass;-><init>(I)V # False Positive Landroid/bluetooth/BluetoothGatt;->mAuthRetryState:I # False Positive Landroid/bluetooth/BluetoothProfile;->PAN:I # False Positive Landroid/bluetooth/BluetoothUuid;->AdvAudioDist:Landroid/os/ParcelUuid; # False Positive Landroid/bluetooth/BluetoothUuid;->AudioSink:Landroid/os/ParcelUuid; # False Positive Landroid/bluetooth/BluetoothUuid;->Handsfree:Landroid/os/ParcelUuid; # False Positive Landroid/bluetooth/BluetoothUuid;->HSP:Landroid/os/ParcelUuid; # False Positive Landroid/bluetooth/IBluetooth$Stub;-><init>()V # False Positive Landroid/bluetooth/IBluetoothA2dp$Stub;-><init>()V # False Positive Landroid/content/BroadcastReceiver$PendingResult;-><init>(ILjava/lang/String;Landroid/os/Bundle;IZZLandroid/os/IBinder;II)V # False Positive Landroid/content/BroadcastReceiver$PendingResult;->mFlags:I # False Positive Landroid/content/BroadcastReceiver$PendingResult;->mResultCode:I # False Positive Landroid/content/BroadcastReceiver$PendingResult;->mResultData:Ljava/lang/String; # False Positive Landroid/content/BroadcastReceiver$PendingResult;->mToken:Landroid/os/IBinder; # False Positive Landroid/content/BroadcastReceiver$PendingResult;->mType:I # False Positive Landroid/content/ClipData$Item;->mUri:Landroid/net/Uri; # False Positive Landroid/content/ContentProvider;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;[Landroid/content/pm/PathPermission;)V # False Positive Landroid/content/ContentProviderClient;->mPackageName:Ljava/lang/String; # False Positive Landroid/content/Context;->COUNTRY_DETECTOR:Ljava/lang/String; # False Positive Landroid/content/Entity;->mSubValues:Ljava/util/ArrayList; # False Positive Landroid/content/Entity;->mValues:Landroid/content/ContentValues; # False Positive Landroid/content/IContentProvider;->descriptor:Ljava/lang/String; # False Positive Landroid/content/IIntentReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentReceiver; # False Positive Landroid/content/IIntentSender$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentSender; # False Positive Landroid/content/IntentFilter;->isVerified()Z # False Positive Landroid/content/pm/ApplicationInfo$DisplayNameComparator;->mPM:Landroid/content/pm/PackageManager; # False Positive Landroid/content/pm/ApplicationInfo$DisplayNameComparator;->sCollator:Ljava/text/Collator; # False Positive Landroid/content/pm/ApplicationInfo;->disableCompatibilityMode()V # False Positive Landroid/content/pm/ApplicationInfo;->isPackageUnavailable(Landroid/content/pm/PackageManager;)Z # False Positive Landroid/content/pm/LauncherApps;->mService:Landroid/content/pm/ILauncherApps; # False Positive Landroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V # False Positive Landroid/content/pm/PackageInfoLite;->CREATOR:Landroid/os/Parcelable$Creator; # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->active:Z # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->appIcon:Landroid/graphics/Bitmap; # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->appLabel:Ljava/lang/CharSequence; # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->appPackageName:Ljava/lang/String; # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->installerPackageName:Ljava/lang/String; # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->mode:I # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->progress:F # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->sessionId:I # False Positive Landroid/content/pm/PackageInstaller$SessionInfo;->sizeBytes:J # False Positive Landroid/content/pm/PackageInstaller$SessionParams;->appLabel:Ljava/lang/String; # False Positive Landroid/content/pm/PackageInstaller$SessionParams;->appPackageName:Ljava/lang/String; # False Positive Landroid/content/pm/PackageInstaller$SessionParams;->mode:I # False Positive Landroid/content/pm/PackageParser;->parseBaseApk(Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package; # False Positive Landroid/content/pm/PackageStats;->userHandle:I # False Positive Landroid/content/pm/ParceledListSlice;->CREATOR:Landroid/os/Parcelable$ClassLoaderCreator; # False Positive Landroid/content/pm/ShortcutInfo;->getIcon()Landroid/graphics/drawable/Icon; # False Positive Landroid/content/pm/ShortcutManager;->mService:Landroid/content/pm/IShortcutService; # False Positive Landroid/content/res/CompatibilityInfo;->CREATOR:Landroid/os/Parcelable$Creator; # False Positive Landroid/content/RestrictionsManager;->mService:Landroid/content/IRestrictionsManager; # False Positive Landroid/content/SyncAdapterType;-><init>(Ljava/lang/String;Ljava/lang/String;)V # False Positive Landroid/content/SyncAdapterType;->supportsUploading:Z # False Positive Landroid/content/SyncAdapterType;->userVisible:Z # False Positive Landroid/content/SyncInfo;-><init>(Landroid/os/Parcel;)V # False Positive Landroid/content/SyncRequest;->mAuthority:Ljava/lang/String; # False Positive Landroid/content/SyncRequest;->mExtras:Landroid/os/Bundle; # False Positive Landroid/database/AbstractCursor;->mExtras:Landroid/os/Bundle; # False Positive Landroid/database/DatabaseUtils;->getTypeOfObject(Ljava/lang/Object;)I # False Positive Landroid/database/MatrixCursor;->data:[Ljava/lang/Object; # False Positive Landroid/database/MatrixCursor;->rowCount:I # False Positive Landroid/database/sqlite/SQLiteCustomFunction;->name:Ljava/lang/String; # False Positive Landroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String; # False Positive Landroid/database/sqlite/SQLiteQueryBuilder;->mDistinct:Z # False Positive Landroid/database/sqlite/SQLiteQueryBuilder;->mTables:Ljava/lang/String; # False Positive Landroid/database/sqlite/SQLiteQueryBuilder;->mWhereClause:Ljava/lang/StringBuilder; # False Positive Landroid/graphics/Bitmap;->mNinePatchChunk:[B # Bitmap#getNinePatchChunk already exists since API level 1 Landroid/graphics/BitmapRegionDecoder;-><init>(J)V # False Positive Landroid/graphics/Canvas;-><init>(J)V # False Positive Landroid/graphics/Canvas;->mBitmap:Landroid/graphics/Bitmap; # Canvas#setBitmap(Bitmap) to set, and for getters we consider it an anti-pattern on Canvas and recommend instead explicit side channel for that information if the app needs it. Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState; # False Positive Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V # False Positive Landroid/graphics/drawable/GradientDrawable$GradientState;->mAngle:I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getOrientation() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradient:I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getGradientType() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradientColors:[I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getColors() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mHeight:I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getIntrinsicHeight() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadius:I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getInnerRadius() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadiusRatio:F # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getInnerRadiusRatio() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mOrientation:Landroid/graphics/drawable/GradientDrawable$Orientation; # Use GradientDrawable#getOrientation which is public and added in API level 16 Landroid/graphics/drawable/GradientDrawable$GradientState;->mPadding:Landroid/graphics/Rect; # Use https://developer.android.com/reference/android/graphics/drawable/Drawable#getPadding(android.graphics.Rect) instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadius:F # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getGradientRadius() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadiusArray:[F # GradientDrawable#getCornerRadii added in API level 24 Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getShape() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mSolidColors:Landroid/content/res/ColorStateList; # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getColor() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mThickness:I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getThickness() instead. Landroid/graphics/drawable/GradientDrawable$GradientState;->mThicknessRatio:F # GradientDrawable#getThicknessRatio is public in Android 10 Landroid/graphics/drawable/GradientDrawable$GradientState;->mWidth:I # Use https://developer.android.com/reference/android/graphics/drawable/GradientDrawable.html#getIntrinsicWidth() instead. Landroid/graphics/drawable/GradientDrawable;->mGradientState:Landroid/graphics/drawable/GradientDrawable$GradientState; # Use https://developer.android.com/reference/android/graphics/drawable/Drawable#getConstantState() instead. Landroid/graphics/drawable/GradientDrawable;->mPadding:Landroid/graphics/Rect; # Use https://developer.android.com/reference/android/graphics/drawable/Drawable#getPadding(android.graphics.Rect) instead. Landroid/graphics/drawable/Icon;->getDataBytes()[B # False Positive Landroid/graphics/drawable/Icon;->getDataOffset()I # False Positive Landroid/graphics/drawable/Icon;->getResources()Landroid/content/res/Resources; # False Positive Landroid/graphics/drawable/Icon;->mString1:Ljava/lang/String; # False Positive Landroid/graphics/drawable/Icon;->mType:I # False Positive Landroid/graphics/fonts/FontVariationAxis;->mTag:I # False Positive Landroid/graphics/Movie;-><init>(J)V # False Positive Landroid/graphics/Paint;->mTypeface:Landroid/graphics/Typeface; # False Positive Landroid/graphics/Picture;->mNativePicture:J # No public alternative as it's a pointer to a private native object. We suspect this was a false-positive. Landroid/graphics/Typeface;-><init>(J)V # False Positive Landroid/graphics/Typeface;->setDefault(Landroid/graphics/Typeface;)V # Please use font in xml and also your application global theme to change the default Typeface. android:textViewStyle and its attribute android:textAppearance can be used in order to change typeface and other text related properties. Landroid/hardware/Camera;->mNativeContext:J # False Positive Landroid/hardware/Camera;->setPreviewSurface(Landroid/view/Surface;)V # False Positive Landroid/hardware/HardwareBuffer;-><init>(J)V # False Positive Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager; # False Positive Landroid/hardware/usb/UsbManager;-><init>(Landroid/content/Context;Landroid/hardware/usb/IUsbManager;)V # False Positive Landroid/inputmethodservice/InputMethodService;->mTheme:I # False Positive Landroid/inputmethodservice/InputMethodService;->mTmpInsets:Landroid/inputmethodservice/InputMethodService$Insets; # False Positive Landroid/inputmethodservice/Keyboard;->resize(II)V # False Positive Landroid/location/CountryDetector;-><init>(Landroid/location/ICountryDetector;)V # False Positive Landroid/location/GpsStatus;->setTimeToFirstFix(I)V # False Positive Landroid/location/Location;->mProvider:Ljava/lang/String; # False Positive Landroid/location/LocationManager;->sendNiResponse(II)Z # False Positive Landroid/location/LocationRequest;->checkDisplacement(F)V # False Positive Landroid/location/LocationRequest;->checkInterval(J)V # False Positive Landroid/location/LocationRequest;->checkProvider(Ljava/lang/String;)V # False Positive Landroid/location/LocationRequest;->checkQuality(I)V # False Positive Landroid/location/LocationRequest;->mExpireAt:J # False Positive Landroid/location/LocationRequest;->mExplicitFastestInterval:Z # False Positive Landroid/location/LocationRequest;->mFastestInterval:J # False Positive Landroid/location/LocationRequest;->mNumUpdates:I # False Positive Landroid/location/LocationRequest;->mQuality:I # False Positive Landroid/location/LocationRequest;->mSmallestDisplacement:F # False Positive Landroid/media/AudioAttributes;->mContentType:I # False Positive Landroid/media/AudioAttributes;->mFlags:I # False Positive Landroid/media/AudioAttributes;->mSource:I # False Positive Landroid/media/audiofx/AudioEffect;->command(I[B[B)I # False Positive Landroid/media/CamcorderProfile;->native_init()V # False Positive Landroid/media/ExifInterface;->convertRationalLatLonToFloat(Ljava/lang/String;Ljava/lang/String;)F # False Positive Landroid/media/ExifInterface;->mFilename:Ljava/lang/String; # False Positive Landroid/media/ExifInterface;->mHasThumbnail:Z # False Positive Landroid/media/ExifInterface;->sFormatter:Ljava/text/SimpleDateFormat; # False Positive Landroid/media/MediaCodec;->mNativeContext:J # False Positive Landroid/media/MediaCodecInfo$VideoCapabilities;->create(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$VideoCapabilities; # False Positive Landroid/media/MediaMetadataRetriever;->native_finalize()V # False Positive Landroid/media/MediaMetadataRetriever;->native_init()V # False Positive Landroid/media/MediaMetadataRetriever;->native_setup()V # False Positive Landroid/media/MediaRecorder;->_prepare()V # False Positive Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler; # False Positive Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor; # False Positive Landroid/media/MediaRecorder;->mPath:Ljava/lang/String; # False Positive Landroid/media/MediaRecorder;->native_finalize()V # False Positive Landroid/media/MediaRecorder;->native_init()V # False Positive Landroid/media/MediaRecorder;->native_reset()V # False Positive Landroid/media/MediaRouter$RouteInfo;->isDefault()Z # False Positive Landroid/media/PlaybackParams;->mSet:I # False Positive Landroid/media/PlaybackParams;->mSpeed:F # False Positive Landroid/media/ThumbnailUtils;->closeSilently(Landroid/os/ParcelFileDescriptor;)V # False Positive Landroid/media/ThumbnailUtils;->computeInitialSampleSize(Landroid/graphics/BitmapFactory$Options;II)I # False Positive Landroid/media/ThumbnailUtils;->computeSampleSize(Landroid/graphics/BitmapFactory$Options;II)I # False Positive Landroid/media/ThumbnailUtils;->createThumbnailFromEXIF(Ljava/lang/String;IILandroid/media/ThumbnailUtils$SizedThumbnailBitmap;)V # False Positive Landroid/media/ThumbnailUtils;->makeInputStream(Landroid/net/Uri;Landroid/content/ContentResolver;)Landroid/os/ParcelFileDescriptor; # False Positive Landroid/media/ThumbnailUtils;->transform(Landroid/graphics/Matrix;Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap; # False Positive Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties; # Use getLinkProperties(getActiveNetwork()) Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties; # Use getLinkProperties(Network) instead Landroid/net/ConnectivityManager;->isNetworkSupported(I)Z # This legacy method returns results that don't make sense in modern Android. To find out about available networks, please use ConnectivityManager#registerNetworkCallback. Landroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z # Please use NetworkCapabilities with TRANSPORT_CELLULAR instead. If you want to know if a network is metered, use NET_CAPABILITY_NOT_METERED. Landroid/net/ConnectivityManager;->mService:Landroid/net/IConnectivityManager; # This is an internal interface with methods that can change at any time. Please use the public methods in ConnectivityManager instead. Landroid/net/ConnectivityManager;->TYPE_MOBILE_CBS:I # Use NetworkCapabilities#NET_CAPABILITY_CBS instead. Landroid/net/ConnectivityManager;->TYPE_MOBILE_EMERGENCY:I # Use NetworkCapabilities#NET_CAPABILITY_EIMS instead. Landroid/net/ConnectivityManager;->TYPE_MOBILE_FOTA:I # Use NetworkCapabilities#NET_CAPABILITY_FOTA instead. Landroid/net/ConnectivityManager;->TYPE_NONE:I # Use the NetworkCapabilities API instead – this is not needed any more. Landroid/net/ConnectivityManager;->unregisterNetworkFactory(Landroid/os/Messenger;)V # False Positive Landroid/net/http/SslError;->mErrors:I # False Positive Landroid/net/http/SslError;->mUrl:Ljava/lang/String; # False Positive Landroid/net/IConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo; # False Positive Landroid/net/IConnectivityManager;->reportInetCondition(II)V # False Positive Landroid/net/LinkAddress;->address:Ljava/net/InetAddress; # False Positive Landroid/net/LinkAddress;->isIPv6()Z # Implementation detail, do not use. Use getAddress() to find about the address. Landroid/net/LinkAddress;->prefixLength:I # False Positive Landroid/net/LinkProperties;->hasGlobalIPv6Address()Z # Implementation detail, do not use. Use getLinkAddresses() to find out about addresses. Landroid/net/LinkProperties;->hasIPv4Address()Z # Implementation detail, do not use. Use getLinkAddresses() to find out about addresses. Landroid/net/LinkProperties;->hasIPv4DefaultRoute()Z # Implementation detail, do not use. Use getRoutes() to find out about routes. Landroid/net/LinkProperties;->hasIPv4DnsServer()Z # Implementation detail, do not use. Use getDnsServers to find out about DNS servers. Landroid/net/LinkProperties;->hasIPv6DefaultRoute()Z # Implementation detail, do not use. Use getRoutes() to find out about routes. Landroid/net/LinkProperties;->hasIPv6DnsServer()Z # Implementation detail, do not use. Use getDnsServers to find out about DNS servers. Landroid/net/LinkProperties;->isIdenticalHttpProxy(Landroid/net/LinkProperties;)Z # False Positive Landroid/net/LinkProperties;->isIPv6Provisioned()Z # Implementation detail, do not use. Use getRoutes(), getLinkAddresses() and getDnsServers() instead. Landroid/net/LinkProperties;->mIfaceName:Ljava/lang/String; # False Positive Landroid/net/NetworkAgent;->sendNetworkInfo(Landroid/net/NetworkInfo;)V # False Positive Landroid/net/NetworkCapabilities;->getNetworkSpecifier()Landroid/net/NetworkSpecifier; # False Positive Landroid/net/NetworkCapabilities;->mSignalStrength:I # Use NetworkCapabilities#getSignalStrength() instead. Landroid/net/NetworkFactory;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V # False Positive Landroid/net/NetworkFactory;->setScoreFilter(I)V # False Positive Landroid/net/NetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V # False Positive Landroid/net/NetworkPolicyManager;->unregisterListener(Landroid/net/INetworkPolicyListener;)V # False Positive Landroid/net/NetworkRequest;->legacyType:I # False Positive Landroid/net/NetworkState;->network:Landroid/net/Network; # False Positive Landroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress; # Use InetAddresses#parseNumericAddress() instead Landroid/net/RouteInfo;->isHost()Z # False Positive Landroid/net/RouteInfo;->mIsHost:Z # False Positive Landroid/net/SSLCertificateSocketFactory;->getAlpnSelectedProtocol(Ljava/net/Socket;)[B # False Positive Landroid/net/SSLCertificateSocketFactory;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V # False Positive Landroid/net/SSLCertificateSocketFactory;->TAG:Ljava/lang/String; # False Positive Landroid/net/TrafficStats;->getMobileIfaces()[Ljava/lang/String; # Please use public methods like ConnectivityManager#registerNetworkCallback or ConnectivityManager#getAllNetworks. You can learn about the interfaces with the LinkProperties associated object (NetworkCallback#onLinkPropertiesChanged, ConnectivityManager#getLinkProperties(Network)) Landroid/net/TrafficStats;->getStatsService()Landroid/net/INetworkStatsService; # This is an internal interface that has methods that can change at any time. Please use NetworkStatsManager instead. Landroid/net/WebAddress;->mPort:I # False Positive Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;->createRequest(Ljava/lang/String;II)Ljava/lang/String; # False Positive Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;-><init>(Ljava/util/List;)V # False Positive Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;->mQueryList:Ljava/util/List; # False Positive Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;-><init>(ILjava/lang/String;)V # False Positive Landroid/net/wifi/p2p/WifiP2pManager;-><init>(Landroid/net/wifi/p2p/IWifiP2pManager;)V # False Positive Landroid/net/wifi/p2p/WifiP2pWfdInfo;-><init>()V # False Positive Landroid/net/wifi/WifiConfiguration;->INVALID_RSSI:I # False Positive Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String; # False Positive Landroid/nfc/NfcManager;-><init>(Landroid/content/Context;)V # False Positive Landroid/os/BatteryStats$Counter;-><init>()V # False Positive Landroid/os/BatteryStats$HistoryItem;->clear()V # False Positive Landroid/os/BatteryStats$HistoryItem;->next:Landroid/os/BatteryStats$HistoryItem; # False Positive Landroid/os/BatteryStats$HistoryItem;->same(Landroid/os/BatteryStats$HistoryItem;)Z # False Positive Landroid/os/BatteryStats$HistoryItem;->setTo(JBLandroid/os/BatteryStats$HistoryItem;)V # False Positive Landroid/os/BatteryStats$HistoryItem;->setTo(Landroid/os/BatteryStats$HistoryItem;)V # False Positive Landroid/os/BatteryStats$Timer;-><init>()V # False Positive Landroid/os/BatteryStats$Uid$Pkg;-><init>()V # False Positive Landroid/os/BatteryStats$Uid$Proc;-><init>()V # False Positive Landroid/os/BatteryStats$Uid$Sensor;-><init>()V # False Positive Landroid/os/BatteryStats$Uid$Wakelock;-><init>()V # False Positive Landroid/os/BatteryStats;-><init>()V # False Positive Landroid/os/BatteryStats;->getMobileRadioActiveTime(JI)J # False Positive Landroid/os/BatteryStats;->getNetworkActivityBytes(II)J # False Positive Landroid/os/CancellationSignal;->mCancelInProgress:Z # False Positive Landroid/os/CancellationSignal;->mIsCanceled:Z # False Positive Landroid/os/CancellationSignal;->mOnCancelListener:Landroid/os/CancellationSignal$OnCancelListener; # False Positive Landroid/os/CancellationSignal;->mRemote:Landroid/os/ICancellationSignal; # False Positive Landroid/os/CancellationSignal;->waitForCancelFinishedLocked()V # False Positive Landroid/os/health/SystemHealthManager;->from(Landroid/content/Context;)Landroid/os/health/SystemHealthManager; # False Positive Landroid/os/IPowerManager;->nap(J)V # False Positive Landroid/os/Parcel;->mCreators:Ljava/util/HashMap; # False Positive Landroid/os/PowerManager;->mHandler:Landroid/os/Handler; # False Positive Landroid/os/Process;->sendSignalQuiet(II)V # False Positive Landroid/os/Registrant;->getHandler()Landroid/os/Handler; # False Positive Landroid/os/RegistrantList;->get(I)Ljava/lang/Object; # False Positive Landroid/os/RemoteCallback;->mHandler:Landroid/os/Handler; # False Positive Landroid/os/storage/DiskInfo;-><init>(Landroid/os/Parcel;)V # False Positive Landroid/os/storage/DiskInfo;->CREATOR:Landroid/os/Parcelable$Creator; # False Positive Landroid/os/storage/IObbActionListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IObbActionListener; # False Positive Landroid/os/storage/StorageVolume;->getOwner()Landroid/os/UserHandle; # False Positive Landroid/os/SystemProperties;->native_add_change_callback()V # False Positive Landroid/os/SystemProperties;->native_get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; # False Positive Landroid/os/SystemProperties;->native_get_boolean(Ljava/lang/String;Z)Z # False Positive Landroid/os/SystemProperties;->native_get_int(Ljava/lang/String;I)I # False Positive Landroid/os/SystemProperties;->native_set(Ljava/lang/String;Ljava/lang/String;)V # False Positive Landroid/os/UserHandle;->formatUid(Ljava/io/PrintWriter;I)V # False Positive Landroid/os/WorkSource;->sGoneWork:Landroid/os/WorkSource; # False Positive Landroid/os/WorkSource;->sNewbWork:Landroid/os/WorkSource; # False Positive Landroid/os/WorkSource;->sTmpWorkSource:Landroid/os/WorkSource; # False Positive Landroid/os/WorkSource;->updateLocked(Landroid/os/WorkSource;ZZ)Z # False Positive Landroid/preference/Preference;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z # False Positive Landroid/preference/PreferenceManager;->mFragment:Landroid/preference/PreferenceFragment; # False Positive Landroid/preference/PreferenceManager;->setFragment(Landroid/preference/PreferenceFragment;)V # False Positive Landroid/provider/Telephony$Sms;->query(Landroid/content/ContentResolver;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; # False Positive Landroid/security/KeyStore;->isEmpty()Z # False Positive Landroid/security/KeyStore;->reset()Z # False Positive Landroid/service/carrier/ICarrierMessagingCallback$Stub;-><init>()V # False Positive Landroid/service/carrier/ICarrierMessagingService;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V # False Positive Landroid/service/dreams/DreamService;->canDoze()Z # False Positive Landroid/service/dreams/DreamService;->isDozing()Z # False Positive Landroid/service/dreams/DreamService;->stopDozing()V # False Positive Landroid/service/notification/NotificationListenerService;->getNotificationInterface()Landroid/app/INotificationManager; # False Positive Landroid/service/notification/NotificationListenerService;->mHandler:Landroid/os/Handler; # False Positive Landroid/service/notification/NotificationListenerService;->mNoMan:Landroid/app/INotificationManager; # False Positive Landroid/service/notification/NotificationListenerService;->TAG:Ljava/lang/String; # False Positive Landroid/service/notification/StatusBarNotification;->initialPid:I # False Positive Landroid/service/notification/StatusBarNotification;->notification:Landroid/app/Notification; # False Positive Landroid/service/notification/StatusBarNotification;->postTime:J # False Positive Landroid/service/notification/StatusBarNotification;->tag:Ljava/lang/String; # False Positive Landroid/service/notification/StatusBarNotification;->user:Landroid/os/UserHandle; # False Positive Landroid/service/wallpaper/WallpaperService$Engine;->mPendingXOffset:F # False Positive Landroid/telecom/AudioState;->isMuted:Z # Deprecated class; use https://developer.android.com/reference/android/telecom/CallAudioState.html#isMuted() Landroid/telecom/AudioState;->route:I # Deprecated class; use https://developer.android.com/reference/android/telecom/CallAudioState.html#getRoute() Landroid/telecom/AudioState;->supportedRouteMask:I # Deprecated class; use https://developer.android.com/reference/android/telecom/CallAudioState.html#getSupportedRouteMask() Landroid/telecom/Call$Details;->CAPABILITY_CAN_UPGRADE_TO_VIDEO:I # This extra is not used in the framework at all; apps needing to know whether a call supports video should use CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL and CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL instead. Landroid/telecom/ParcelableCall;->CREATOR:Landroid/os/Parcelable$Creator; # False Positive Landroid/telecom/ParcelableCall;->getConnectTimeMillis()J # False Positive Landroid/telecom/ParcelableCall;->getDisconnectCause()Landroid/telecom/DisconnectCause; # False Positive Landroid/telecom/ParcelableCall;->getHandle()Landroid/net/Uri; # False Positive Landroid/telecom/ParcelableCall;->getId()Ljava/lang/String; # False Positive Landroid/telecom/Phone;->setProximitySensorOff(Z)V # No public alternative; this method does not do anything and is part of a deprecated class. Landroid/telecom/Phone;->setProximitySensorOn()V # No public alternative; this method does not do anything and is part of a deprecated class. Landroid/telecom/PhoneAccountHandle;-><init>(Landroid/os/Parcel;)V # False Positive Landroid/telecom/PhoneAccountHandle;->mComponentName:Landroid/content/ComponentName; # Use https://developer.android.com/reference/android/telecom/PhoneAccountHandle.html#getComponentName() Landroid/telecom/PhoneAccountHandle;->mId:Ljava/lang/String; # False Positive Landroid/telecom/TelecomManager;->EXTRA_IS_HANDOVER:Ljava/lang/String; # EXTRA_IS_HANDOVER is no longer used in the framework; it was part of non-supported experimental functionality. Apps performing handovers should use android.telecom.Call#handoverTo() and the APIs linked from its documentation -- these APIs are fully supported and tested through CTS tests. Landroid/telecom/TelecomManager;->from(Landroid/content/Context;)Landroid/telecom/TelecomManager; # Apps should use TelecomManager telecomManager = (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE) instead. Landroid/telecom/TelecomManager;->getCallCapablePhoneAccounts(Z)Ljava/util/List; # No public alternative as disabled PhoneAccounts are not intended to be exposed to any external application; this method shoudl never be used. Apps should use TelecomManager#getCallCapablePhoneAccounts() instead to get a list of the phone accounts which are enabled. Disabled phone accounts are not available to place calls; no public API consumers should be able to see disabled phone accounts as they cannot possibly be enabled by a consumer of the public API, nor could they be used to place calls. Landroid/telecom/TelecomManager;->getSimCallManager(I)Landroid/telecom/PhoneAccountHandle; # No public alternative as there is no valid use-case for querying the SimCallManager across users; apps should use TelecomManager#getSimCallManager() instead. OEMs modifying AOSP are free to add private APIs to meet their needs, however apps targeting public APIS should NEVER interact across users. Landroid/telecom/VideoCallImpl;->destroy()V # No public alternative; no need to call this directly. Landroid/telephony/CarrierMessagingServiceManager;-><init>()V # False Positive Landroid/telephony/cdma/CdmaCellLocation;->equalsHandlesNulls(Ljava/lang/Object;Ljava/lang/Object;)Z # False Positive Landroid/telephony/cdma/CdmaCellLocation;->mBaseStationId:I # False Positive Landroid/telephony/cdma/CdmaCellLocation;->mBaseStationLatitude:I # False Positive Landroid/telephony/cdma/CdmaCellLocation;->mBaseStationLongitude:I # False Positive Landroid/telephony/cdma/CdmaCellLocation;->mNetworkId:I # False Positive Landroid/telephony/cdma/CdmaCellLocation;->mSystemId:I # False Positive Landroid/telephony/CellIdentityLte;-><init>(IIIII)V # False Positive Landroid/telephony/CellInfoCdma;-><init>(Landroid/telephony/CellInfoCdma;)V # False Positive Landroid/telephony/CellInfoLte;->setCellIdentity(Landroid/telephony/CellIdentityLte;)V # False Positive Landroid/telephony/CellInfoLte;->setCellSignalStrength(Landroid/telephony/CellSignalStrengthLte;)V # False Positive Landroid/telephony/CellSignalStrengthGsm;->mTimingAdvance:I # public alternative: CellSignalStrengthGsm#getTimingAdvance Landroid/telephony/CellSignalStrengthLte;->mCqi:I # public alternative: CellSignalStrengthLte#getCqi Landroid/telephony/CellSignalStrengthLte;->mRsrp:I # public alternative: CellSignalStrengthLte#getRsrp() Landroid/telephony/CellSignalStrengthLte;->mRsrq:I # public alternative: CellSignalStrengthLte#getRsrq Landroid/telephony/CellSignalStrengthLte;->mRssnr:I # public alternative: CellSignalStrengthLte#getRssi Landroid/telephony/CellSignalStrengthLte;->mSignalStrength:I # alternative: {@link CellSignalStengthLte#getRssi()} Landroid/telephony/CellSignalStrengthLte;->mTimingAdvance:I # public alternative: CellSignalStrengthLte#getTimingAdvance Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V # False Positive Landroid/telephony/NeighboringCellInfo;->mCid:I # False Positive Landroid/telephony/NeighboringCellInfo;->mLac:I # False Positive Landroid/telephony/NeighboringCellInfo;->mNetworkType:I # False Positive Landroid/telephony/NeighboringCellInfo;->mPsc:I # False Positive Landroid/telephony/NeighboringCellInfo;->mRssi:I # False Positive Landroid/telephony/PhoneStateListener;-><init>(Landroid/os/Looper;)V # Apps should use the PhoneStateListener constructor which uses an Executor. Landroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;)V # alternative: {@link PhoneStateListener()} use default constructor without passing subId. To listen for specific subscription, use {@TelephonyManager#createForSubscriptionId(int subId)} and {@link TelephonyManager#listen(PhoneStateListener psl)}; Landroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;Landroid/os/Looper;)V # TelephonyManager.createForSubscriptionId(int subId).listen(PhoneStateListener(@NonNull Executor executor)) Landroid/telephony/RadioAccessFamily;->getNetworkTypeFromRaf(I)I # False Positive Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I # False Positive Landroid/telephony/ServiceState;->bearerBitmapHasCdma(I)Z # False Positive Landroid/telephony/ServiceState;->equalsHandlesNulls(Ljava/lang/Object;Ljava/lang/Object;)Z # False Positive Landroid/telephony/ServiceState;->getCssIndicator()I # False Positive Landroid/telephony/ServiceState;->getDataNetworkType()I # TelephonyManager.getServiceState().getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).getAccessNetworkTechnology() Landroid/telephony/ServiceState;->getDataRoaming()Z # TelephonyManager.getServiceState().getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).isRomaing() Landroid/telephony/ServiceState;->getDataRoamingType()I # SystemAPI ServiceState.getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).getRoamingType() Landroid/telephony/ServiceState;->getVoiceNetworkType()I # alternative: {@link NetworkRegistrationInfo#getAccessNetworkTechnology()} Landroid/telephony/ServiceState;->getVoiceOperatorNumeric()Ljava/lang/String; # System API ServiceState.getOperatorNumeric() Landroid/telephony/ServiceState;->getVoiceRegState()I # Public: ServiceState.getState() or SystemAPI NetworkRegistrationState.getRegState() Landroid/telephony/ServiceState;->getVoiceRoaming()Z # SystemAPI ServiceState.getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN).getRoamingType() Landroid/telephony/ServiceState;->getVoiceRoamingType()I # alternative: {@link NetworkRegistrationInfo#getRoamingType()} use ServiceState.getNetworkRegistrationInfo(NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN) to get NetworkRegistration instance for roaming type. Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I # False Positive Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I # False Positive Landroid/telephony/ServiceState;->mCdmaEriIconMode:I # False Positive Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I # False Positive Landroid/telephony/ServiceState;->mCssIndicator:Z # False Positive Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z # TelephonyManager.getServiceState().isManualNetworkSelection() Landroid/telephony/ServiceState;->mNetworkId:I # TelephonyManager.getServiceState().getCdmaNetworkId() Landroid/telephony/ServiceState;->mSystemId:I # TelephonyManager.getServiceState().getCdmaSystemId() Landroid/telephony/ServiceState;->RIL_RADIO_TECHNOLOGY_IWLAN:I # don't use the internal RIL version, move to SystemAPI TelephonyManager.NETWORK_TYPE_IWLAN Landroid/telephony/ServiceState;->setCdmaDefaultRoamingIndicator(I)V # False Positive Landroid/telephony/ServiceState;->setCdmaEriIconIndex(I)V # False Positive Landroid/telephony/ServiceState;->setCdmaEriIconMode(I)V # False Positive Landroid/telephony/ServiceState;->setCdmaRoamingIndicator(I)V # False Positive Landroid/telephony/ServiceState;->setCssIndicator(I)V # False Positive Landroid/telephony/ServiceState;->setDataRegState(I)V # False Positive Landroid/telephony/ServiceState;->setEmergencyOnly(Z)V # False Positive Landroid/telephony/SignalStrength;->fillInNotifierBundle(Landroid/os/Bundle;)V # This is a helper API to set Intent Bundle from SignalStrength. Use {@link Bundle#putParcelable()} instead and full access to internal storage is available via {@link getCellSignalStrengths()} Landroid/telephony/SignalStrength;->getAsuLevel()I # @link CellSignalStrengthLte#getAsuLevel Landroid/telephony/SignalStrength;->getCdmaAsuLevel()I # @link CellSignalStrengthCdma#getAsuLevel Landroid/telephony/SignalStrength;->getCdmaLevel()I # alternative: {@link CellSignalStrengthCdma#getLevel} Landroid/telephony/SignalStrength;->getDbm()I # alternative: {@link CellSignalStrength#getDbm()} Landroid/telephony/SignalStrength;->getEvdoAsuLevel()I # alternative: {@link CellSignalStrengthCdma#getEvdoAsuLevel} Landroid/telephony/SignalStrength;->getEvdoLevel()I # alternative: {@link CellSignalStrengthCdma#getEvdoLevel} Landroid/telephony/SignalStrength;->getGsmAsuLevel()I # alternative: {@link CellSignalStrengthGsm#getAsuLevel} Landroid/telephony/SignalStrength;->getGsmDbm()I # alternative: {@link CellSignalStrengthGsm#getDbm} Landroid/telephony/SignalStrength;->getGsmLevel()I # alternative: {@link CellSignalStrengthGsm#getLevel} Landroid/telephony/SignalStrength;->getLteAsuLevel()I # public alternative: CellSignalStrengthLte#getAsuLevel Landroid/telephony/SignalStrength;->getLteCqi()I # alternative: {@link CellSignalStrengthLte#getCqi} Landroid/telephony/SignalStrength;->getLteDbm()I # alternative: {@link CellSignalStrengthLte#getDbm} Landroid/telephony/SignalStrength;->getLteLevel()I # alternative: {@link CellSignalStrengthLte#getLevel} Landroid/telephony/SignalStrength;->getLteRsrp()I # public alternative: CellSignalStrengthLte#getRsrp Landroid/telephony/SignalStrength;->getLteRsrq()I # alternative: {@link CellSignalStrengthLte#getRsrq} Landroid/telephony/SignalStrength;->getLteRssnr()I # CellSignalStrengthLte.getRssi() Landroid/telephony/SignalStrength;->getLteSignalStrength()I # alternative: CellSignalStrengthLte#getRssi Landroid/telephony/SignalStrength;->getTdScdmaAsuLevel()I # alternative: {@link CellSignalStrengthTdscdma#getAsuLevel} Landroid/telephony/SignalStrength;->getTdScdmaDbm()I # alternative: {@link CellSignalStrengthTdscdma#getDbm} Landroid/telephony/SignalStrength;->getTdScdmaLevel()I # alternative: {@link CellSignalStrengthTdscdma#getLevel} Landroid/telephony/SignalStrength;->setFromNotifierBundle(Landroid/os/Bundle;)V # This method relies on non-stable implementation details, and full access to internal storage is available via {@link getCellSignalStrengths()} Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GOOD:I # CellSignalStrength.SIGNAL_STRENGTH_GOOD Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GREAT:I # CellSignalStrength.SIGNAL_STRENGTH_GREAT Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_MODERATE:I # CellSignalStrength.SIGNAL_STRENGTH_MODERATE Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_NONE_OR_UNKNOWN:I # CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_POOR:I # CellSignalStrength.SIGNAL_STRENGTH_POOR Landroid/telephony/SmsManager;->mSubId:I # False Positive Landroid/telephony/SubscriptionManager;->getPhoneId(I)I # No public alternative. The phone id is an internal implementation detail of the telephony stack. Apps should use subcription ID or slot index based APIs instead. Landroid/telephony/SubscriptionManager;->isUsableSubIdValue(I)Z # SubscriptionManager.isUsableSubscriptionId(int subscriptionId) Landroid/telephony/SubscriptionManager;->isValidSlotIndex(I)Z # False Positive Landroid/telephony/SubscriptionManager;->NAME_SOURCE_USER_INPUT:I # False Positive Landroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;I)V # No public alternative; this method simply adds values to an intent. An app is free to add the sub ID extra itself. Apps should never rely upon the phone ID for any operations as this is an internal implementation detail of Telephony Landroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager; # context.getSystemService(Context.TELEPHONY_SERVICE) Landroid/telephony/TelephonyManager;->getDataNetworkType(I)I # TelephonyManager.createForSubscriptionId(int subId).getServiceState().getNetworkRegistrationState(NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN).getAccessNetworkTechnology() Landroid/telephony/TelephonyManager;->getDefault()Landroid/telephony/TelephonyManager; # context.getSystemService(Context.TELEPHONY_SERVICE) Landroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony; # No public alternative as apps can access all TelephonyManager APIs directly through TelephonyManager itself; there is no valid use-case where accessing the internal binder is necessary. Landroid/telephony/TelephonyManager;->getMsisdn(I)Ljava/lang/String; # Alternative: {@link TelephonyManager#getMsisdn()} To call an API for a specific subscription, use {@link #createForSubscriptionId(int)} Landroid/telephony/TelephonyManager;->getNetworkOperator(I)Ljava/lang/String; # TelephonyManager.createForSubscriptionId(int subId).getNetworkOperator() Landroid/telephony/TelephonyManager;->getNetworkOperatorName(I)Ljava/lang/String; # TelephonyManager.createForSubscriptionId(int subId).getNetworkOperatorName() Landroid/telephony/TelephonyManager;->getNetworkType(I)I Landroid/telephony/TelephonyManager;->getOtaSpNumberSchemaForPhone(ILjava/lang/String;)Ljava/lang/String; # False Positive Landroid/telephony/TelephonyManager;->getServiceStateForSubscriber(I)Landroid/telephony/ServiceState; # TelephonyManager.createForSubscriptionId(int subId).getServiceState() Landroid/telephony/TelephonyManager;->getSimCountryIso(I)Ljava/lang/String; # TelephonyManager.createForSubscriptionId(int subId).getSimCountryIso() Landroid/telephony/TelephonyManager;->getSimOperator(I)Ljava/lang/String; # TelephonyManager.createForSubscriptionId(int subId).getSimOperator() Landroid/telephony/TelephonyManager;->getSimOperatorName(I)Ljava/lang/String; # {@link TelephonyManager#getSimOperatorName()} To call an API for a specific subscription, use {@link #createForSubscriptionId(int)}. Landroid/telephony/TelephonyManager;->getSimOperatorNumeric()Ljava/lang/String; # TelephonyManager.createForSubscriptionId(int subId).getSimOperator() Landroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String; # TelephonyManager.createForSubscriptionId(int subId).getSimOperator() Landroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String; # recomment to use subId to query instead of phoneId. see TelephonyManager.createForSubscriptionId(int subId).getSimOperator() Landroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String; # TelephonyManager createForSubscriptionId(int subId).getSubscriberId() Landroid/telephony/TelephonyManager;->getVoiceNetworkType(I)I # TelephonyManage.createForSubscriptionId(int subId).getVoiceNetworkType() Landroid/telephony/TelephonyManager;->isImsRegistered()Z # SystemAPI ImsMmTelManager#registerImsRegistrationCallback to listen IMS registration state change Landroid/telephony/TelephonyManager;->setBasebandVersionForPhone(ILjava/lang/String;)V # False Positive Landroid/telephony/TelephonyManager;->setPhoneType(II)V # False Positive Landroid/telephony/TelephonyManager;->setSimCountryIsoForPhone(ILjava/lang/String;)V # False Positive Landroid/telephony/TelephonyManager;->setSimOperatorNameForPhone(ILjava/lang/String;)V # False Positive Landroid/telephony/TelephonyManager;->setSimStateForPhone(ILjava/lang/String;)V # False Positive Landroid/telephony/VoLteServiceState;-><init>(I)V # False Positive Landroid/text/DynamicLayout;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZIIILandroid/text/TextUtils$TruncateAt;I)V # False Positive Landroid/text/method/HideReturnsTransformationMethod;->sInstance:Landroid/text/method/HideReturnsTransformationMethod; # False Positive Landroid/text/method/PasswordTransformationMethod;->DOT:C # False Positive Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZLandroid/text/TextUtils$TruncateAt;II)V # Please use StaticLayout.Builder instead Landroid/text/StaticLayout;->getHeight(Z)I # False Positive Landroid/text/style/BulletSpan;->mColor:I # False Positive Landroid/text/style/BulletSpan;->mGapWidth:I # False Positive Landroid/text/style/BulletSpan;->mWantColor:Z # False Positive Landroid/text/TextLine;->mSpanned:Landroid/text/Spanned; # False Positive Landroid/text/TextLine;->sCached:[Landroid/text/TextLine; # No public alternative: There is no direct public alternative. The class is hidden, and the field is hidden. This is a utility class used by StaticLayout. On Q we provided a very low level text layout API. Suggestion to developers: For custom text layout please use lower level APIs such as android.graphics.text.LineBreaker or android.graphics.Paint. For higher level use cases please use android.text.StaticLayout. Landroid/transition/ChangeBounds;->BOTTOM_RIGHT_ONLY_PROPERTY:Landroid/util/Property; # Developers should use View.setLeftTopRightBottom() instead. Landroid/transition/ChangeBounds;->POSITION_PROPERTY:Landroid/util/Property; # Developers should use View.setLeftTopRightBottom() instead. Landroid/transition/Scene;->mEnterAction:Ljava/lang/Runnable; # This was used by old versions of androidx.transitions library. Developers should migrate to newer versions of AndroidX Transition library Landroid/transition/Scene;->mExitAction:Ljava/lang/Runnable; # This was used by old versions of androidx.transitions library. Developers should migrate to newer versions of AndroidX Transition library Landroid/util/ArrayMap;->allocArrays(I)V # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->append(Ljava/lang/Object;Ljava/lang/Object;)V # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->CACHE_SIZE:I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->EMPTY:Landroid/util/ArrayMap; # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->EMPTY_IMMUTABLE_INTS:[I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->freeArrays([I[Ljava/lang/Object;I)V # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->indexOfNull()I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->mArray:[Ljava/lang/Object; # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->mBaseCache:[Ljava/lang/Object; # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->mBaseCacheSize:I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->mHashes:[I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->mSize:I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->mTwiceBaseCache:[Ljava/lang/Object; # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArrayMap;->mTwiceBaseCacheSize:I # Not needed, nobody should be touching this. If you want some kind of custom ArrayMap, there is a full source ArrayMap in the support library that can be copied. Landroid/util/ArraySet;->allocArrays(I)V # Not needed, nobody should be touching this. If you want a special ArraySet behavior, you can copy the code out of the platform and make your own class. Landroid/util/ArraySet;->freeArrays([I[Ljava/lang/Object;I)V # Not needed, nobody should be touching this. If you want a special ArraySet behavior, you can copy the code out of the platform and make your own class. Landroid/util/ArraySet;->indexOf(Ljava/lang/Object;I)I # Not needed, nobody should be touching this. If you want a special ArraySet behavior, you can copy the code out of the platform and make your own class. Landroid/util/ArraySet;->indexOfNull()I # Not needed, nobody should be touching this. If you want a special ArraySet behavior, you can copy the code out of the platform and make your own class. Landroid/util/ArraySet;->mArray:[Ljava/lang/Object; # Not needed, nobody should be touching this. If you want a special ArraySet behavior, you can copy the code out of the platform and make your own class. Landroid/util/ArraySet;->mHashes:[I # Not needed, nobody should be touching this. If you want a special ArraySet behavior, you can copy the code out of the platform and make your own class. Landroid/util/ArraySet;->mSize:I # Not needed, nobody should be touching this. If you want a special ArraySet behavior, you can copy the code out of the platform and make your own class. Landroid/util/DebugUtils;->buildShortClassTag(Ljava/lang/Object;Ljava/lang/StringBuilder;)V # False Positive Landroid/util/LongSparseLongArray;->mKeys:[J # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/LongSparseLongArray;->mSize:I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/LongSparseLongArray;->mValues:[J # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/Slog;->wtfStack(Ljava/lang/String;Ljava/lang/String;)I # False Positive Landroid/util/SparseArray;->mKeys:[I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseArray;->mSize:I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseArray;->mValues:[Ljava/lang/Object; # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseBooleanArray;->mKeys:[I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseBooleanArray;->mSize:I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseBooleanArray;->mValues:[Z # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseIntArray;->mKeys:[I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseIntArray;->mSize:I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/SparseIntArray;->mValues:[I # Not needed, nobody should be touching this. If you want special behavior, you can copy the code out of the platform and make your own class. Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V # False Positive Landroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;I)V # False Positive Landroid/view/accessibility/AccessibilityEvent;->mAction:I # False Positive Landroid/view/accessibility/AccessibilityManager;->mIsEnabled:Z # No public alternative for setting this field. Developers should use AccessibilityManager.isEnabled() to read this field. Landroid/view/animation/Animation;->mListener:Landroid/view/animation/Animation$AnimationListener; # Use setAnimationListener() Landroid/view/Choreographer;->mLock:Ljava/lang/Object; # False Positive Landroid/view/Choreographer;->USE_VSYNC:Z # No public alternative for accessing this flag. VSYNC is enabled by default. Landroid/view/ContextThemeWrapper;->mTheme:Landroid/content/res/Resources$Theme; # Use https://developer.android.com/reference/android/view/ContextThemeWrapper.html#setTheme(android.content.res.Resources.Theme) instead. Landroid/view/Display;->getDisplayInfo(Landroid/view/DisplayInfo;)Z # No public alternative. Developers should never access this class directly. Landroid/view/DisplayInfo;-><init>()V # No public alternative. Developers should never access this class directly. Landroid/view/DisplayInfo;->displayCutout:Landroid/view/DisplayCutout; # Use https://developer.android.com/reference/android/view/Display.html#getCutout() instead. Landroid/view/GestureDetector;->LONGPRESS_TIMEOUT:I # Use ViewConfiguration#getLongPressTimeout(). This value is not editable. Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/GhostView; # No public alternative. Developers should never access this class directly. Landroid/view/GhostView;->removeGhost(Landroid/view/View;)V # No public alternative. Developers should never access this class directly. Landroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V # Unclear what developer use case is enabled by reflecting on this API Landroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats; # Unclear as to why this is being access via reflection, can we reach out to app developers to find out why? Landroid/view/InputDevice;->mIsExternal:Z # Use public isExternal method; do not edit Landroid/view/inputmethod/InputMethodManager;->mH:Landroid/view/inputmethod/InputMethodManager$H; # This field was useful to developers working around context leak bugs that have now been fixed and backported via AppCompatActivity Landroid/view/inputmethod/InputMethodManager;->mNextServedView:Landroid/view/View; # Hacks to fix context leaks are backported to androidx.activity.ComponentActivity Landroid/view/inputmethod/InputMethodManager;->mServedInputConnectionWrapper:Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper; # False Positive Landroid/view/inputmethod/InputMethodManager;->mServedView:Landroid/view/View; # Hacks to fix context leaks are backported to androidx.activity.ComponentActivity Landroid/view/inputmethod/InputMethodManager;->notifyUserAction()V # Developers can directly implement InputConnection without extending BaseInputConnection (more context crbug.com/551193) Landroid/view/inputmethod/InputMethodManager;->showSoftInputUnchecked(ILandroid/os/ResultReceiver;)V # No public alternative. Developers should never access this method directly. Landroid/view/IWindowManager;->setInTouchMode(Z)V # False Positive Landroid/view/IWindowManager;->showStrictModeViolation(Z)V # False Positive Landroid/view/KeyEvent;->mSource:I # False Positive Landroid/view/KeyEvent;->recycle()V # False Positive Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object; # No public alternative. Developers should never access this field directly. Landroid/view/LayoutInflater;->mContext:Landroid/content/Context; # Use getContext() to read, cloneInContext to produce a new inflater with a different context Landroid/view/LayoutInflater;->mFactorySet:Z # No public alternative. Developers should never access this field directly. Landroid/view/LayoutInflater;->sConstructorMap:Ljava/util/HashMap; # No public alternative. Developers should never access this field directly. Landroid/view/MotionEvent;->mNativePtr:J # No public alternative Landroid/view/PointerIcon;->load(Landroid/content/Context;)Landroid/view/PointerIcon; # False Positive Landroid/view/PointerIcon;->mType:I # False Positive Landroid/view/ScaleGestureDetector;->mMinSpan:I # Use https://developer.android.com/reference/android/view/ViewConfiguration#getScaledMinimumScalingSpan() instead. Landroid/view/ScaleGestureDetector;->mSpanSlop:I # Value tuned by OEM configuration; should not be edited Landroid/view/SurfaceView;->mDrawingStopped:Z # False Positive Landroid/view/SurfaceView;->mIsCreating:Z # False Positive Landroid/view/SurfaceView;->mLastLockTime:J # False Positive Landroid/view/SurfaceView;->mRequestedHeight:I # False Positive Landroid/view/SurfaceView;->mRequestedWidth:I # False Positive Landroid/view/SurfaceView;->mSurfaceFrame:Landroid/graphics/Rect; # False Positive Landroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V # Should not be used directly as it violates internal code guarantees. Instead Views need to be actually attached to the window. Landroid/view/View;->dispatchDetachedFromWindow()V # Should not be used directly as it violates internal code guarantees. Instead Views need to be actually attached to the window. Landroid/view/View;->getWindowSession()Landroid/view/IWindowSession; # False Positive Landroid/view/View;->internalSetPadding(IIII)V # Use get/setPadding public APIs Landroid/view/View;->mAnimator:Landroid/view/ViewPropertyAnimator; # False Positive Landroid/view/View;->mAttachInfo:Landroid/view/View$AttachInfo; # No public alternative Landroid/view/View;->mBottom:I # Getter and setter exist since API 11 Landroid/view/View;->mHasPerformedLongPress:Z # False Positive Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams; # Users should rely on the getter / setter. The setter additionally guarantees internal state correctness. Landroid/view/View;->mLeft:I # Getter and setter exist since API 11 Landroid/view/View;->mMinHeight:I # Getter and setter exist since API 16 Landroid/view/View;->mMinWidth:I # Getter and setter exist since API 16 Landroid/view/View;->mParent:Landroid/view/ViewParent; # Getter and setter exist since API 11 Landroid/view/View;->mPrivateFlags2:I # Use various setters/getters, should not be exposed directly Landroid/view/View;->mPrivateFlags3:I # Use various setters/getters, should not be exposed Landroid/view/View;->mPrivateFlags:I # Various setters, should not be exposed directly Landroid/view/View;->mRight:I # Getter and setter exist since API 11 Landroid/view/View;->mScrollX:I # Please use getScrollX(), getScrollY(), setScrollX(int), setScrollY(int) instead Landroid/view/View;->mScrollY:I # Please use getScrollX(), getScrollY(), setScrollX(int), setScrollY(int) instead Landroid/view/View;->mTop:I # Getter and setter exist since API 11 Landroid/view/View;->mViewFlags:I # Directly use the now public View.setTransitionVisibility() instead of reflecting on the field Landroid/view/View;->setAlphaNoInvalidation(F)Z # N/A Landroid/view/View;->setFlags(II)V # False Positive Landroid/view/View;->setFrame(IIII)Z # Use setLeftTopRightBottom() instead. Overriding of setFrame is not a recommended approach for custom ViewGroups. Developers can always add their logic into onSizeChanged() callback. Landroid/view/View;->startActivityForResult(Landroid/content/Intent;I)V # False Positive Landroid/view/ViewConfiguration;->sHasPermanentMenuKey:Z # Use hasPermanentMenuKey() Landroid/view/ViewGroup;->FLAG_DISALLOW_INTERCEPT:I # Use requestDisallowInterceptTouchEvent() Landroid/view/ViewGroup;->FLAG_SUPPORT_STATIC_TRANSFORMATIONS:I # No public alternative for getting this flag. Developers should use ViewGroup.setStaticTransformationsEnabled(...) to set this flag. Landroid/view/ViewGroup;->FLAG_USE_CHILD_DRAWING_ORDER:I # Use is/setChildrenDrawingOrderEnabled() Landroid/view/ViewGroup;->mChildren:[Landroid/view/View; # getChildAt() exists since API 1, addView/removeView and detach/attachView can be used to change the order of the children Landroid/view/ViewGroup;->mChildrenCount:I # getChildCount() exists since API 1, there should be no setter, use the addView*() methods instead Landroid/view/ViewGroup;->mFocused:Landroid/view/View; # False Positive Landroid/view/ViewGroup;->mGroupFlags:I # Use various setters, should not be exposed directly Landroid/view/ViewGroup;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener; # No public alternative for getting this field. Developers should use ViewGroup.setOnHierarchyChangeListener(...) to set this field. Landroid/view/Window;->mWindowManager:Landroid/view/WindowManager; # False Positive Landroid/view/Window;->shouldCloseOnTouch(Landroid/content/Context;Landroid/view/MotionEvent;)Z # False Positive Landroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession; # False Positive Landroid/view/WindowManagerGlobal;->trimMemory(I)V # No public alternative. Developers should never access this method directly. Landroid/webkit/ConsoleMessage;->mLevel:Landroid/webkit/ConsoleMessage$MessageLevel; # False Positive Landroid/webkit/ConsoleMessage;->mLineNumber:I # False Positive Landroid/webkit/ConsoleMessage;->mMessage:Ljava/lang/String; # False Positive Landroid/webkit/ConsoleMessage;->mSourceId:Ljava/lang/String; # False Positive Landroid/widget/AbsListView$FlingRunnable;->endFling()V # AbsListView#smoothScrollBy(0,0) can be used instead to stop a fling/scroll early Landroid/widget/AbsListView$FlingRunnable;->start(I)V # Developers can use AbsListView#fling(int) instead Landroid/widget/AbsListView$LayoutParams;->viewType:I # False Positive Landroid/widget/AbsListView;->mActivePointerId:I # False Positive Landroid/widget/AbsListView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect; # Use https://developer.android.com/reference/android/widget/AbsListView.html#setBottomEdgeEffectColor(int) instead. Landroid/widget/AbsListView;->mEdgeGlowTop:Landroid/widget/EdgeEffect; # Implementation detail. Use RecyclerView with the setEdgeEffectFactory method to modify this functionality. Landroid/widget/AbsListView;->mFastScroll:Landroid/widget/FastScroller; # Developers should use RecyclerView for displaying lists. Landroid/widget/AbsListView;->mFlingRunnable:Landroid/widget/AbsListView$FlingRunnable; # AbsListView#smoothScrollBy(0,0) can be used instead to stop a fling/scroll early Landroid/widget/AbsListView;->mMaximumVelocity:I # Implementation detail tuned by devices. Do not modify. Use ViewConfiguration#getScaledMaximumFlingVelocity to read. Landroid/widget/AbsListView;->mOnScrollListener:Landroid/widget/AbsListView$OnScrollListener; # Use public accessors Landroid/widget/AbsListView;->mOverflingDistance:I # Implementation detail. Use RecyclerView instead which does not have this behavior. Landroid/widget/AbsListView;->mRecycler:Landroid/widget/AbsListView$RecycleBin; # Developers should use RecyclerView for displaying lists. Landroid/widget/AbsListView;->mSelector:Landroid/graphics/drawable/Drawable; # False Positive Landroid/widget/AbsListView;->mSelectorPosition:I # Implementation detail. Use RecyclerView for additional features. Landroid/widget/AbsListView;->mSelectorRect:Landroid/graphics/Rect; # Developers should use RecyclerView for displaying lists. Landroid/widget/AbsListView;->mTouchMode:I # Use View.isInTouchMode() Landroid/widget/AbsListView;->reportScrollStateChange(I)V # Developers should use RecyclerView for displaying lists. Landroid/widget/AbsListView;->trackMotionScroll(II)Z # Developers should use RecyclerView for displaying lists. Landroid/widget/AdapterView;->mDataChanged:Z # Developers should use RecyclerView for displaying lists. Landroid/widget/AutoCompleteTextView;->doAfterTextChanged()V # Use https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#refreshAutoCompleteResults() instead. Landroid/widget/AutoCompleteTextView;->doBeforeTextChanged()V # Use https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#refreshAutoCompleteResults() instead. Landroid/widget/AutoCompleteTextView;->ensureImeVisible(Z)V # Use https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#setInputMethodMode(int) instead. Landroid/widget/AutoCompleteTextView;->isInputMethodNotNeeded()Z # Use https://developer.android.com/reference/android/widget/AutoCompleteTextView.html#getInputMethodMode() instead. Landroid/widget/AutoCompleteTextView;->setDropDownAnimationStyle(I)V # False Positive Landroid/widget/EdgeEffect;->mPaint:Landroid/graphics/Paint; # No public alternative. Developers should never access this field directly. Landroid/widget/Editor;->mSelectHandleCenter:Landroid/graphics/drawable/Drawable; # Use the new TextView#get/setTextSelectHandleLeft() Landroid/widget/Editor;->mSelectHandleLeft:Landroid/graphics/drawable/Drawable; # Use the new TextView#get/setTextSelectHandle() Landroid/widget/Editor;->mSelectHandleRight:Landroid/graphics/drawable/Drawable; # Use the new TextView#get/setTextSelectHandleRight() Landroid/widget/Editor;->mShowCursor:J # This seems to be used in combination with mCursorDrawableRes to set a custom cursor and 'blink' it - developers should now use TextView#setTextCursorDrawable to set a custom cursor - not sure why they would need to handle the blinking themselves anymore. Landroid/widget/Gallery;->getCenterOfGallery()I # False Positive Landroid/widget/Gallery;->getCenterOfView(Landroid/view/View;)I # False Positive Landroid/widget/Gallery;->mGestureDetector:Landroid/view/GestureDetector; # False Positive Landroid/widget/Gallery;->mSelectedChild:Landroid/view/View; # False Positive Landroid/widget/GridView;->fillDown(II)Landroid/view/View; # No public alternative Landroid/widget/GridView;->fillUp(II)Landroid/view/View; # No public alternative Landroid/widget/GridView;->mColumnWidth:I # Use get/setColumnWidth() Landroid/widget/GridView;->mNumColumns:I # Use get/setNumColumns() Landroid/widget/GridView;->mRequestedNumColumns:I # Use public accessors Landroid/widget/HorizontalScrollView;->mEdgeGlowLeft:Landroid/widget/EdgeEffect; # Implementation detail, do not modify. Copy class using public API if further changes are desired. See NestedScrollView in Jetpack Landroid/widget/HorizontalScrollView;->mEdgeGlowRight:Landroid/widget/EdgeEffect; # Use https://developer.android.com/reference/android/widget/HorizontalScrollView.html#setRightEdgeEffectColor(int) instead. Landroid/widget/ImageView;->mDrawMatrix:Landroid/graphics/Matrix; # Use https://developer.android.com/reference/android/widget/ImageView.html#setImageMatrix(android.graphics.Matrix) instead. Landroid/widget/ImageView;->mMaxHeight:I # These two have getters (since api 16) and setters (since api 1), so no reason to be reflecting anymore Landroid/widget/ImageView;->mMaxWidth:I # These two have getters (since api 16) and setters (since api 1), so no reason to be reflecting anymore Landroid/widget/LinearLayout;->mGravity:I # Getter and setter exist since API 1 Landroid/widget/ListView;->correctTooHigh(I)V # False Positive Landroid/widget/ListView;->correctTooLow(I)V # False Positive Landroid/widget/ListView;->fillDown(II)Landroid/view/View; # No public alternative Landroid/widget/ListView;->fillSpecific(II)Landroid/view/View; # No public alternative Landroid/widget/ListView;->fillUp(II)Landroid/view/View; # No public alternative Landroid/widget/ListView;->mDividerHeight:I # False Positive Landroid/widget/ListView;->measureHeightOfChildren(IIIII)I # False Positive Landroid/widget/MediaController;->mCurrentTime:Landroid/widget/TextView; # False Positive Landroid/widget/MediaController;->mEndTime:Landroid/widget/TextView; # False Positive Landroid/widget/MediaController;->mNextButton:Landroid/widget/ImageButton; # False Positive Landroid/widget/MediaController;->mPrevButton:Landroid/widget/ImageButton; # False Positive Landroid/widget/NumberPicker;->mSelectionDivider:Landroid/graphics/drawable/Drawable; # Use the new get/setSelectionDividerHeight Landroid/widget/NumberPicker;->mSelectionDividerHeight:I # Use the new get/setSelectionDividerHeight Landroid/widget/NumberPicker;->mSelectorWheelPaint:Landroid/graphics/Paint; # No public alternative. Developers should never access this field directly. Landroid/widget/PopupWindow;->invokePopup(Landroid/view/WindowManager$LayoutParams;)V # No public alternative. Developers should never access this method directly. Landroid/widget/PopupWindow;->mAboveAnchorBackgroundDrawable:Landroid/graphics/drawable/Drawable; # False Positive Landroid/widget/PopupWindow;->mBelowAnchorBackgroundDrawable:Landroid/graphics/drawable/Drawable; # False Positive Landroid/widget/PopupWindow;->mOnScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener; # No public alternative. Developers should never access this field directly. Landroid/widget/PopupWindow;->mOverlapAnchor:Z # Use the getter and setter available since API 23 Landroid/widget/ProgressBar;->mCurrentDrawable:Landroid/graphics/drawable/Drawable; # ProgressBar#getCurrentDrawable made public in Android 10 Landroid/widget/ProgressBar;->mDuration:I # Developers should use an indeterminate drawable that implements Animatable. Landroid/widget/ProgressBar;->mIndeterminate:Z # Use isIndeterminate() Landroid/widget/ProgressBar;->mMaxHeight:I # Use the new get/setMaxHeight Landroid/widget/ProgressBar;->mMinHeight:I # Use the new get/setMinHeight Landroid/widget/ProgressBar;->mMinWidth:I # Use the new get/setMinWidth Landroid/widget/RelativeLayout;->mGravity:I # Use get/setGravity() Landroid/widget/ScrollBarDrawable;->mVerticalThumb:Landroid/graphics/drawable/Drawable; # Exposed View#setHorizontalThumbDrawable/View#setVerticalThumbDrawable in Q Landroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V # Exposed View#setHorizontalThumbDrawable/View#setVerticalThumbDrawable in Q Landroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V # Use https://developer.android.com/reference/android/view/View#setVerticalScrollbarThumbDrawable(android.graphics.drawable.Drawable) instead. Landroid/widget/ScrollView;->mChildToScrollTo:Landroid/view/View; # Use the new scrollToDescendant(android.view.View) Landroid/widget/ScrollView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect; # Use https://developer.android.com/reference/android/widget/AbsListView.html#setBottomEdgeEffectColor(int) instead. Landroid/widget/ScrollView;->mEdgeGlowTop:Landroid/widget/EdgeEffect; # Use https://developer.android.com/reference/android/widget/AbsListView.html#setTopEdgeEffectColor(int) instead. Landroid/widget/ScrollView;->mMinimumVelocity:I # Implementation detail. Fork ScrollView using public API if additional changes such as this are desired. Landroid/widget/ScrollView;->mOverflingDistance:I # Use https://developer.android.com/reference/android/view/ViewConfiguration.html#getScaledOverflingDistance() instead. Landroid/widget/ScrollView;->mOverscrollDistance:I # Implementation detail, do not modify. Copy class using public API if further changes are desired. See NestedScrollView in Jetpack Landroid/widget/SearchView;->onCloseClicked()V # False Positive Landroid/widget/SearchView;->setQuery(Ljava/lang/CharSequence;)V # False Positive Landroid/widget/SimpleAdapter;->mData:Ljava/util/List; # False Positive Landroid/widget/SimpleCursorAdapter;->mFrom:[I # False Positive Landroid/widget/TextView;->getHorizontallyScrolling()Z # Use the new isHorizontallyScrolling() Landroid/widget/TextView;->mCurHintTextColor:I # False Positive Landroid/widget/TextView;->mCursorDrawableRes:I # Use the new get/setTextCursorDrawable Landroid/widget/TextView;->mCurTextColor:I # setTextColor/getCurrentTextColor should be used instead Landroid/widget/TextView;->mHorizontallyScrolling:Z # Use the new isHorizontallyScrolling() Landroid/widget/TextView;->mTextSelectHandleLeftRes:I # Use the new get/setTextSelectHandleLeft() Landroid/widget/TextView;->mTextSelectHandleRes:I # Use the new get/setTextSelectHandle() Landroid/widget/TextView;->mTextSelectHandleRightRes:I # Use the new get/setTextSelectHandleRight() Landroid/widget/TextView;->startMarquee()V # False Positive Landroid/widget/TextView;->startStopMarquee(Z)V # False Positive Landroid/widget/Toast$TN;->mGravity:I # Use Toast.set/getGravity() Landroid/widget/Toast$TN;->mNextView:Landroid/view/View; # No public alternative. Developers should never access this field directly. Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams; # No public alternative. Developers should never access this field directly. Landroid/widget/Toast$TN;->mView:Landroid/view/View; # Use Toast.getView() Landroid/widget/Toast$TN;->mY:I # Use Toast.getYOffset() Landroid/widget/Toast$TN;->show(Landroid/os/IBinder;)V # False Positive Landroid/widget/Toast;->getService()Landroid/app/INotificationManager; # Use public NotificationManager Landroid/widget/Toast;->mTN:Landroid/widget/Toast$TN; # Internal structure used to communicate with the WindowManager, apps shouldn't need to access this Landroid/widget/Toast;->sService:Landroid/app/INotificationManager; # Use public NotificationManager Landroid/widget/Toolbar;->mNavButtonView:Landroid/widget/ImageButton; # False Positive Landroid/widget/VideoView;->mErrorListener:Landroid/media/MediaPlayer$OnErrorListener; # False Positive Landroid/widget/VideoView;->mSurfaceHolder:Landroid/view/SurfaceHolder; # False Positive Landroid/widget/VideoView;->STATE_IDLE:I # False Positive Lcom/android/internal/net/VpnProfile;->server:Ljava/lang/String; # False Positive Lcom/android/internal/os/AtomicFile;->getBaseFile()Ljava/io/File; # False Positive Lcom/android/internal/R$styleable;->AndroidManifestActivityAlias:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestGrantUriPermission:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestInstrumentation:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestOriginalPackage:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestPathPermission:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestPermission:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestPermissionGroup:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestPermissionTree:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestProtectedBroadcast:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestSupportsScreens:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestUsesConfiguration:[I # False Positive Lcom/android/internal/R$styleable;->AndroidManifestUsesFeature:[I # False Positive Lcom/android/internal/R$styleable;->CycleInterpolator:[I # False Positive Lcom/android/internal/R$styleable;->LinearLayout:[I # False Positive Lcom/android/internal/R$styleable;->MenuView:[I # False Positive Lcom/android/internal/R$styleable;->Searchable:[I # False Positive Lcom/android/internal/R$styleable;->SearchableActionKey:[I # False Positive Lcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BIILjava/lang/String;)Ljava/lang/String; # False Positive Lcom/android/internal/telephony/IPhoneSubInfo$Stub;-><init>()V # False Positive Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCallForwardingChanged(Z)V # False Positive Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCellLocation(Landroid/os/Bundle;)V # False Positive Lcom/android/internal/telephony/ITelephonyRegistry;->notifyDataActivity(I)V # False Positive Lcom/android/internal/telephony/OperatorInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V # False Positive Lcom/android/internal/telephony/SmsMessageBase;->getProtocolIdentifier()I # False Positive Lcom/android/internal/telephony/SmsMessageBase;->getServiceCenterAddress()Ljava/lang/String; # False Positive Lcom/android/internal/telephony/SmsMessageBase;->getStatus()I # False Positive Lcom/android/internal/telephony/SmsMessageBase;->isReplace()Z # False Positive Lcom/android/internal/telephony/SmsMessageBase;->isReplyPathPresent()Z # False Positive Lcom/android/internal/util/AsyncChannel;->cmdToString(I)Ljava/lang/String; # False Positive Lcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;I)V # False Positive Lcom/android/internal/util/JournaledFile;->chooseForRead()Ljava/io/File; # False Positive Lcom/android/internal/util/JournaledFile;->chooseForWrite()Ljava/io/File; # False Positive Lcom/android/internal/util/JournaledFile;->commit()V # False Positive Lcom/android/internal/util/JournaledFile;->rollback()V # False Positive Lcom/android/internal/view/BaseIWindow;-><init>()V # False Positive Lcom/android/internal/view/IInputConnectionWrapper;->mInputConnection:Landroid/view/inputmethod/InputConnection; # False Positive Ljava/lang/Boolean;->value:Z # java.lang.Boolean.booleanValue() Ljava/lang/Byte;->value:B # java.lang.Byte.byteValue() Ljava/lang/Character;->value:C # java.lang.Character.charValue() Ljava/lang/Double;->value:D # java.lang.Double.doubleValue() Ljava/lang/Float;->value:F # java.lang.Float.floatValue() Ljava/lang/Integer;->value:I # java.lang.Integer.intValue() Ljava/lang/Long;->value:J # java.lang.Long.longValue() Ljava/lang/Short;->value:S # java.lang.Short.shortValue() Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z # android.net.InetAddresses.isNumericAddress(String) - there is a behavioural difference between the original method and its replacement. Ljava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress; # android.net.InetAddresses.parseNumericAddress(String) - there is a behavioural difference between the original method and its replacement. Ljavax/net/ssl/SSLServerSocketFactory;->defaultServerSocketFactory:Ljavax/net/ssl/SSLServerSocketFactory; # Use getDefault() method instead Ljavax/net/ssl/SSLSocketFactory;->defaultSocketFactory:Ljavax/net/ssl/SSLSocketFactory; # Use getDefault() method instead Lorg/apache/http/conn/ssl/SSLSocketFactory;-><init>()V # False Positive Lorg/apache/http/conn/ssl/SSLSocketFactory;->hostnameVerifier:Lorg/apache/http/conn/ssl/X509HostnameVerifier; # False Positive
在 Android 10 中加入 SDK 的非 SDK 介面
以下程式碼方塊會列出 Android 9 (API 級別 28) 中不支援 (列入可疑項目) 的所有非 SDK 介面,且這些介面已新增至 Android 10 (API 級別 29) 的 Android SDK 中。每個介面都會佔滿一行。
Landroid/app/admin/DevicePolicyManager;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V Landroid/app/AppOpsManager;->MODE_FOREGROUND:I Landroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V Landroid/app/AppOpsManager;->unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I Landroid/app/AppOpsManager;->WATCH_FOREGROUND_CHANGES:I Landroid/content/Context;->getOpPackageName()Ljava/lang/String; Landroid/content/ContextWrapper;->getOpPackageName()Ljava/lang/String; Landroid/content/res/Resources;->getFloat(I)F Landroid/graphics/drawable/AnimatedVectorDrawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/BitmapDrawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/Drawable;->isProjected()Z Landroid/graphics/drawable/DrawableWrapper;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/GradientDrawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/InsetDrawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/NinePatchDrawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/drawable/StateListDrawable;->getStateCount()I Landroid/graphics/drawable/StateListDrawable;->getStateDrawable(I)Landroid/graphics/drawable/Drawable; Landroid/graphics/drawable/StateListDrawable;->getStateSet(I)[I Landroid/graphics/drawable/VectorDrawable;->getOpticalInsets()Landroid/graphics/Insets; Landroid/graphics/ImageFormat;->Y8:I Landroid/graphics/Insets;->bottom:I Landroid/graphics/Insets;->left:I Landroid/graphics/Insets;->NONE:Landroid/graphics/Insets; Landroid/graphics/Insets;->of(IIII)Landroid/graphics/Insets; Landroid/graphics/Insets;->of(Landroid/graphics/Rect;)Landroid/graphics/Insets; Landroid/graphics/Insets;->right:I Landroid/graphics/Insets;->top:I Landroid/graphics/Paint;->getTextRunAdvances([CIIIIZ[FI)F Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_GOOD:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_IMAGER_DIRTY:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_INSUFFICIENT:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_PARTIAL:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_TOO_FAST:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ACQUIRED_TOO_SLOW:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_CANCELED:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_HW_NOT_PRESENT:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_HW_UNAVAILABLE:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_LOCKOUT:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_LOCKOUT_PERMANENT:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_NO_BIOMETRICS:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_NO_SPACE:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_TIMEOUT:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_UNABLE_TO_PROCESS:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_USER_CANCELED:I Landroid/hardware/biometrics/BiometricConstants;->BIOMETRIC_ERROR_VENDOR:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_GOOD:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_IMAGER_DIRTY:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_INSUFFICIENT:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_PARTIAL:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_TOO_FAST:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ACQUIRED_TOO_SLOW:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_CANCELED:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_HW_NOT_PRESENT:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_HW_UNAVAILABLE:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_LOCKOUT:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_LOCKOUT_PERMANENT:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_NO_FINGERPRINTS:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_NO_SPACE:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_TIMEOUT:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_UNABLE_TO_PROCESS:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_USER_CANCELED:I Landroid/hardware/biometrics/BiometricFingerprintConstants;->FINGERPRINT_ERROR_VENDOR:I Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V Landroid/icu/text/Transliterator;->createFromRules(Ljava/lang/String;Ljava/lang/String;I)Landroid/icu/text/Transliterator; Landroid/icu/text/Transliterator;->getInstance(Ljava/lang/String;I)Landroid/icu/text/Transliterator; Landroid/icu/text/Transliterator;->getInstance(Ljava/lang/String;)Landroid/icu/text/Transliterator; Landroid/icu/text/Transliterator;->transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Ljava/lang/String;)V Landroid/icu/text/Transliterator;->transliterate(Ljava/lang/String;)Ljava/lang/String; Landroid/icu/text/UForwardCharacterIterator;->DONE:I Landroid/media/ThumbnailUtils;->createImageThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap; Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_1_1:I Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_16_9:I Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_2_3:I Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_3_2:I Landroid/media/tv/TvContract$PreviewProgramColumns;->ASPECT_RATIO_4_3:I Landroid/media/tv/TvContract$PreviewProgramColumns;->AVAILABILITY_AVAILABLE:I Landroid/media/tv/TvContract$PreviewProgramColumns;->AVAILABILITY_FREE_WITH_SUBSCRIPTION:I Landroid/media/tv/TvContract$PreviewProgramColumns;->AVAILABILITY_PAID_CONTENT:I Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_AUTHOR:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_AVAILABILITY:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_BROWSABLE:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_CONTENT_ID:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_DURATION_MILLIS:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTENT_URI:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTERACTION_COUNT:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTERACTION_TYPE:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_INTERNAL_PROVIDER_ID:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_ITEM_COUNT:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_LAST_PLAYBACK_POSITION_MILLIS:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_LIVE:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_LOGO_URI:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_OFFER_PRICE:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_POSTER_ART_ASPECT_RATIO:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_PREVIEW_VIDEO_URI:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_RELEASE_DATE:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_STARTING_PRICE:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_THUMBNAIL_ASPECT_RATIO:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_TRANSIENT:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->COLUMN_TYPE:Ljava/lang/String; Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_FANS:I Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_FOLLOWERS:I Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_LIKES:I Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_LISTENS:I Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_THUMBS:I Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_VIEWERS:I Landroid/media/tv/TvContract$PreviewProgramColumns;->INTERACTION_TYPE_VIEWS:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_ALBUM:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_ARTIST:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_CHANNEL:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_CLIP:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_EVENT:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_MOVIE:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_PLAYLIST:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_STATION:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TRACK:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TV_EPISODE:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TV_SEASON:I Landroid/media/tv/TvContract$PreviewProgramColumns;->TYPE_TV_SERIES:I Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_AUDIO_LANGUAGE:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_CANONICAL_GENRE:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_CONTENT_RATING:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_EPISODE_DISPLAY_NUMBER:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_EPISODE_TITLE:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_DATA:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG1:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG2:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG3:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_INTERNAL_PROVIDER_FLAG4:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_LONG_DESCRIPTION:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_POSTER_ART_URI:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_REVIEW_RATING:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_REVIEW_RATING_STYLE:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SEARCHABLE:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SEASON_DISPLAY_NUMBER:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SEASON_TITLE:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_SHORT_DESCRIPTION:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_THUMBNAIL_URI:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_TITLE:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_VERSION_NUMBER:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_VIDEO_HEIGHT:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->COLUMN_VIDEO_WIDTH:Ljava/lang/String; Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_PERCENTAGE:I Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_STARS:I Landroid/media/tv/TvContract$ProgramColumns;->REVIEW_RATING_STYLE_THUMBS_UP_DOWN:I Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z Landroid/net/LinkProperties;->clear()V Landroid/net/LinkProperties;->getMtu()I Landroid/net/LinkProperties;->setDnsServers(Ljava/util/Collection;)V Landroid/net/LinkProperties;->setDomains(Ljava/lang/String;)V Landroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V Landroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V Landroid/net/LinkProperties;->setLinkAddresses(Ljava/util/Collection;)V Landroid/net/LinkProperties;->setMtu(I)V Landroid/net/NetworkCapabilities;->getSignalStrength()I Landroid/net/RouteInfo;->hasGateway()Z Landroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z Landroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List; Landroid/os/Parcel;->writeParcelableList(Ljava/util/List;I)V Landroid/os/Process;->BLUETOOTH_UID:I Landroid/os/Process;->ROOT_UID:I Landroid/os/Process;->SHELL_UID:I Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX_COUNTS:Ljava/lang/String; Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX:Ljava/lang/String; Landroid/provider/ContactsContract$ContactCounts;->EXTRA_ADDRESS_BOOK_INDEX_TITLES:Ljava/lang/String; Landroid/service/notification/StatusBarNotification;->getOpPkg()Ljava/lang/String; Landroid/service/notification/StatusBarNotification;->getUid()I Landroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V Landroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V Landroid/system/OsConstants;->AF_NETLINK:I Landroid/system/OsConstants;->AF_PACKET:I Landroid/system/OsConstants;->ARPHRD_ETHER:I Landroid/system/OsConstants;->ETH_P_ALL:I Landroid/system/OsConstants;->ETH_P_ARP:I Landroid/system/OsConstants;->ETH_P_IP:I Landroid/system/OsConstants;->ETH_P_IPV6:I Landroid/system/OsConstants;->ICMP6_ECHO_REPLY:I Landroid/system/OsConstants;->ICMP6_ECHO_REQUEST:I Landroid/system/OsConstants;->ICMP_ECHO:I Landroid/system/OsConstants;->ICMP_ECHOREPLY:I Landroid/system/OsConstants;->NETLINK_ROUTE:I Landroid/system/OsConstants;->RTMGRP_NEIGH:I Landroid/system/Os;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I Landroid/system/Os;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V Landroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval; Landroid/telecom/TelecomManager;->getSystemDialerPackage()Ljava/lang/String; Landroid/telecom/TelecomManager;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle; Landroid/telecom/VideoProfile$CameraCapabilities;-><init>(IIZF)V Landroid/telephony/SubscriptionManager;->DEFAULT_SUBSCRIPTION_ID:I Landroid/telephony/SubscriptionManager;->getSlotIndex(I)I Landroid/telephony/SubscriptionManager;->isValidSubscriptionId(I)Z Landroid/text/style/SuggestionSpan;->getUnderlineColor()I Landroid/text/TextPaint;->underlineColor:I Landroid/text/TextPaint;->underlineThickness:F Landroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I Landroid/util/ArraySet;-><init>(Ljava/util/Collection;)V Landroid/view/InputDevice;->isExternal()Z Landroid/view/SurfaceControl$Transaction;->apply()V Landroid/view/SurfaceControl$Transaction;-><init>()V Landroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction; Landroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction; Landroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate; Landroid/view/View;->getLocationInSurface([I)V Landroid/view/View;->getTransitionAlpha()F Landroid/view/ViewGroup;->suppressLayout(Z)V Landroid/view/View;->setAnimationMatrix(Landroid/graphics/Matrix;)V Landroid/view/View;->setLeftTopRightBottom(IIII)V Landroid/view/View;->setTransitionAlpha(F)V Landroid/view/View;->transformMatrixToGlobal(Landroid/graphics/Matrix;)V Landroid/view/View;->transformMatrixToLocal(Landroid/graphics/Matrix;)V Landroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets; Landroid/widget/ImageView;->animateTransform(Landroid/graphics/Matrix;)V Landroid/widget/PopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V Landroid/widget/PopupWindow;->setTouchModal(Z)V Landroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic; Landroid/widget/TextView;->isSingleLine()Z Lcom/android/org/conscrypt/AbstractConscryptSocket;->getApplicationProtocol()Ljava/lang/String; Lcom/android/org/conscrypt/AbstractConscryptSocket;->getHandshakeApplicationProtocol()Ljava/lang/String; Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasMoreElements()Z Ljava/util/HashMap$HashIterator;->hasNext()Z Ljava/util/HashMap$HashIterator;->remove()V Ljava/util/LinkedHashMap$LinkedHashIterator;->hasNext()Z Ljava/util/zip/ZipConstants;->CENATT:I Ljava/util/zip/ZipConstants;->CENATX:I Ljava/util/zip/ZipConstants;->CENCOM:I Ljava/util/zip/ZipConstants;->CENCRC:I Ljava/util/zip/ZipConstants;->CENDSK:I Ljava/util/zip/ZipConstants;->CENEXT:I Ljava/util/zip/ZipConstants;->CENFLG:I Ljava/util/zip/ZipConstants;->CENHDR:I Ljava/util/zip/ZipConstants;->CENHOW:I Ljava/util/zip/ZipConstants;->CENLEN:I Ljava/util/zip/ZipConstants;->CENNAM:I Ljava/util/zip/ZipConstants;->CENOFF:I Ljava/util/zip/ZipConstants;->CENSIG:J Ljava/util/zip/ZipConstants;->CENSIZ:I Ljava/util/zip/ZipConstants;->CENTIM:I Ljava/util/zip/ZipConstants;->CENVEM:I Ljava/util/zip/ZipConstants;->CENVER:I Ljava/util/zip/ZipConstants;->ENDCOM:I Ljava/util/zip/ZipConstants;->ENDHDR:I Ljava/util/zip/ZipConstants;->ENDOFF:I Ljava/util/zip/ZipConstants;->ENDSIG:J Ljava/util/zip/ZipConstants;->ENDSIZ:I Ljava/util/zip/ZipConstants;->ENDSUB:I Ljava/util/zip/ZipConstants;->ENDTOT:I Ljava/util/zip/ZipConstants;->EXTCRC:I Ljava/util/zip/ZipConstants;->EXTHDR:I Ljava/util/zip/ZipConstants;->EXTLEN:I Ljava/util/zip/ZipConstants;->EXTSIG:J Ljava/util/zip/ZipConstants;->EXTSIZ:I Ljava/util/zip/ZipConstants;->LOCCRC:I Ljava/util/zip/ZipConstants;->LOCEXT:I Ljava/util/zip/ZipConstants;->LOCFLG:I Ljava/util/zip/ZipConstants;->LOCHDR:I Ljava/util/zip/ZipConstants;->LOCHOW:I Ljava/util/zip/ZipConstants;->LOCLEN:I Ljava/util/zip/ZipConstants;->LOCNAM:I Ljava/util/zip/ZipConstants;->LOCSIG:J Ljava/util/zip/ZipConstants;->LOCSIZ:I Ljava/util/zip/ZipConstants;->LOCTIM:I Ljava/util/zip/ZipConstants;->LOCVER:I