diff options
281 files changed, 3582 insertions, 7284 deletions
diff --git a/Android.bp b/Android.bp index f11341e254a0..70438d200cb7 100644 --- a/Android.bp +++ b/Android.bp @@ -476,6 +476,8 @@ java_library { "media/java/android/media/tv/ITvRemoteServiceInput.aidl", "media/java/android/service/media/IMediaBrowserService.aidl", "media/java/android/service/media/IMediaBrowserServiceCallbacks.aidl", + "telecomm/java/com/android/internal/telecom/ICallRedirectionAdapter.aidl", + "telecomm/java/com/android/internal/telecom/ICallRedirectionService.aidl", "telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl", "telecomm/java/com/android/internal/telecom/ICallScreeningService.aidl", "telecomm/java/com/android/internal/telecom/IVideoCallback.aidl", diff --git a/Android.mk b/Android.mk index 84b708e53cdb..988c009bdbac 100644 --- a/Android.mk +++ b/Android.mk @@ -322,131 +322,34 @@ $(OUT_DOCS)/offline-sdk-timestamp: $(OUT_DOCS)/offline-sdk-docs-docs.zip ( unzip -qo $< -d $(OUT_DOCS)/offline-sdk && touch -f $@ ) || exit 1 # ==== hiddenapi lists ======================================= -include $(CLEAR_VARS) - -# File names of final API lists -LOCAL_WHITELIST := $(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST) -LOCAL_LIGHT_GREYLIST := $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST) -LOCAL_DARK_GREYLIST := $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST) -LOCAL_BLACKLIST := $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) - -# File names of source files we will use to generate the final API lists. -LOCAL_SRC_GREYLIST := frameworks/base/config/hiddenapi-light-greylist.txt -LOCAL_SRC_VENDOR_LIST := frameworks/base/config/hiddenapi-vendor-list.txt -LOCAL_SRC_FORCE_BLACKLIST := frameworks/base/config/hiddenapi-force-blacklist.txt -LOCAL_SRC_PUBLIC_API := $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) -LOCAL_SRC_PRIVATE_API := $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) -LOCAL_SRC_REMOVED_API := $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE) - -LOCAL_SRC_ALL := \ - $(LOCAL_SRC_GREYLIST) \ - $(LOCAL_SRC_VENDOR_LIST) \ - $(LOCAL_SRC_FORCE_BLACKLIST) \ - $(LOCAL_SRC_PUBLIC_API) \ - $(LOCAL_SRC_PRIVATE_API) \ - $(LOCAL_SRC_REMOVED_API) - -define assert-has-no-overlap -if [ ! -z "`comm -12 <(sort $(1)) <(sort $(2))`" ]; then \ - echo "$(1) and $(2) should not overlap" 1>&2; \ - comm -12 <(sort $(1)) <(sort $(2)) 1>&2; \ - exit 1; \ -fi -endef - -define assert-is-subset -if [ ! -z "`comm -23 <(sort $(1)) <(sort $(2))`" ]; then \ - echo "$(1) must be a subset of $(2)" 1>&2; \ - comm -23 <(sort $(1)) <(sort $(2)) 1>&2; \ - exit 1; \ -fi -endef - -define assert-has-no-duplicates -if [ ! -z "`sort $(1) | uniq -D`" ]; then \ - echo "$(1) has duplicate entries" 1>&2; \ - sort $(1) | uniq -D 1>&2; \ - exit 1; \ -fi -endef - -# The following rules build API lists in the build folder. -# By not using files from the source tree, ART buildbots can mock these lists -# or have alternative rules for building them. Other rules in the build system -# should depend on the files in the build folder. - -# Merge whitelist from: -# (1) public API stubs -# (2) whitelist entries generated by class2greylist (PRIVATE_WHITELIST_INPUTS) -$(LOCAL_WHITELIST): $(LOCAL_SRC_PUBLIC_API) - sort $(LOCAL_SRC_PUBLIC_API) $(PRIVATE_WHITELIST_INPUTS) > $@ - $(call assert-has-no-duplicates,$@) - -# Merge light greylist from multiple files: -# (1) manual greylist LOCAL_SRC_GREYLIST -# (2) list of usages from vendor apps LOCAL_SRC_VENDOR_LIST -# (3) list of removed APIs in LOCAL_SRC_REMOVED_API -# @removed does not imply private in Doclava. We must take the subset also -# in LOCAL_SRC_PRIVATE_API. -# (4) list of serialization APIs -# Automatically adds all methods which match the signatures in -# REGEX_SERIALIZATION. These are greylisted in order to allow applications -# to write their own serializers. -# (5) greylist entries generated by class2greylist (PRIVATE_GREYLIST_INPUTS) -$(LOCAL_LIGHT_GREYLIST): REGEX_SERIALIZATION := \ - "readObject\(Ljava/io/ObjectInputStream;\)V" \ - "readObjectNoData\(\)V" \ - "readResolve\(\)Ljava/lang/Object;" \ - "serialVersionUID:J" \ - "serialPersistentFields:\[Ljava/io/ObjectStreamField;" \ - "writeObject\(Ljava/io/ObjectOutputStream;\)V" \ - "writeReplace\(\)Ljava/lang/Object;" -$(LOCAL_LIGHT_GREYLIST): $(LOCAL_SRC_ALL) $(LOCAL_WHITELIST) - sort $(LOCAL_SRC_GREYLIST) $(LOCAL_SRC_VENDOR_LIST) $(PRIVATE_GREYLIST_INPUTS) \ - <(grep -E "\->("$(subst $(space),"|",$(REGEX_SERIALIZATION))")$$" \ - $(LOCAL_SRC_PRIVATE_API)) \ - <(comm -12 <(sort $(LOCAL_SRC_REMOVED_API)) <(sort $(LOCAL_SRC_PRIVATE_API))) \ - > $@ - $(call assert-has-no-duplicates,$@) - $(call assert-is-subset,$@,$(LOCAL_SRC_PRIVATE_API)) - $(call assert-has-no-overlap,$@,$(LOCAL_WHITELIST)) - $(call assert-has-no-overlap,$@,$(LOCAL_SRC_FORCE_BLACKLIST)) - -# Generate dark greylist as remaining classes and class members in the same -# package as classes listed in the light greylist. -# The algorithm is as follows: -# (1) extract the class descriptor from each entry in LOCAL_LIGHT_GREYLIST -# (2) strip everything after the last forward-slash, -# e.g. 'Lpackage/subpackage/class$inner;' turns into 'Lpackage/subpackage/' -# (3) insert all entries from LOCAL_SRC_PRIVATE_API which begin with the package -# name but do not contain another forward-slash in the class name, e.g. -# matching '^Lpackage/subpackage/[^/;]*;' -# (4) subtract entries shared with LOCAL_LIGHT_GREYLIST -$(LOCAL_DARK_GREYLIST): $(LOCAL_SRC_ALL) $(LOCAL_WHITELIST) $(LOCAL_LIGHT_GREYLIST) - comm -13 <(sort $(LOCAL_WHITELIST) $(LOCAL_LIGHT_GREYLIST) $(LOCAL_SRC_FORCE_BLACKLIST)) \ - <(cat $(LOCAL_WHITELIST) $(LOCAL_LIGHT_GREYLIST) | \ - sed 's/\->.*//' | sed 's/\(.*\/\).*/\1/' | sort | uniq | \ - while read PKG_NAME; do \ - grep -E "^$${PKG_NAME}[^/;]*;" $(LOCAL_SRC_PRIVATE_API); \ - done | sort | uniq) \ - > $@ - $(call assert-is-subset,$@,$(LOCAL_SRC_PRIVATE_API)) - $(call assert-has-no-duplicates,$@) - $(call assert-has-no-overlap,$@,$(LOCAL_WHITELIST)) - $(call assert-has-no-overlap,$@,$(LOCAL_LIGHT_GREYLIST)) - $(call assert-has-no-overlap,$@,$(LOCAL_SRC_FORCE_BLACKLIST)) - -# Generate blacklist as private API minus (light greylist plus dark greylist). -$(LOCAL_BLACKLIST): $(LOCAL_SRC_ALL) $(LOCAL_WHITELIST) $(LOCAL_LIGHT_GREYLIST) $(LOCAL_DARK_GREYLIST) - comm -13 <(sort $(LOCAL_WHITELIST) $(LOCAL_LIGHT_GREYLIST) $(LOCAL_DARK_GREYLIST)) \ - <(sort $(LOCAL_SRC_PRIVATE_API)) \ - > $@ - $(call assert-is-subset,$@,$(LOCAL_SRC_PRIVATE_API)) - $(call assert-has-no-duplicates,$@) - $(call assert-has-no-overlap,$@,$(LOCAL_WHITELIST)) - $(call assert-has-no-overlap,$@,$(LOCAL_LIGHT_GREYLIST)) - $(call assert-has-no-overlap,$@,$(LOCAL_DARK_GREYLIST)) - $(call assert-is-subset,$(LOCAL_SRC_FORCE_BLACKLIST),$@) +$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \ + .KATI_IMPLICIT_OUTPUTS := \ + $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST) \ + $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST) \ + $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) +$(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST): \ + frameworks/base/tools/hiddenapi/generate_hiddenapi_lists.py \ + frameworks/base/config/hiddenapi-light-greylist.txt \ + frameworks/base/config/hiddenapi-vendor-list.txt \ + frameworks/base/config/hiddenapi-force-blacklist.txt \ + $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \ + $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \ + $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE) + frameworks/base/tools/hiddenapi/generate_hiddenapi_lists.py \ + --input-public $(INTERNAL_PLATFORM_HIDDENAPI_PUBLIC_LIST) \ + --input-private $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST) \ + --input-whitelists $(PRIVATE_WHITELIST_INPUTS) \ + --input-greylists \ + frameworks/base/config/hiddenapi-light-greylist.txt \ + frameworks/base/config/hiddenapi-vendor-list.txt \ + <(comm -12 <(sort $(INTERNAL_PLATFORM_REMOVED_DEX_API_FILE)) \ + $(INTERNAL_PLATFORM_HIDDENAPI_PRIVATE_LIST)) \ + $(PRIVATE_GREYLIST_INPUTS) \ + --input-blacklists frameworks/base/config/hiddenapi-force-blacklist.txt \ + --output-whitelist $(INTERNAL_PLATFORM_HIDDENAPI_WHITELIST) \ + --output-light-greylist $(INTERNAL_PLATFORM_HIDDENAPI_LIGHT_GREYLIST) \ + --output-dark-greylist $(INTERNAL_PLATFORM_HIDDENAPI_DARK_GREYLIST) \ + --output-blacklist $(INTERNAL_PLATFORM_HIDDENAPI_BLACKLIST) # Include subdirectory makefiles # ============================================================ diff --git a/api/current.txt b/api/current.txt index 3c7dcc8bdd3a..6a70b14c1afd 100644..100755 --- a/api/current.txt +++ b/api/current.txt @@ -8689,6 +8689,8 @@ package android.bluetooth.le { method public byte[] getServiceData(); method public byte[] getServiceDataMask(); method public android.os.ParcelUuid getServiceDataUuid(); + method public android.os.ParcelUuid getServiceSolicitationUuid(); + method public android.os.ParcelUuid getServiceSolicitationUuidMask(); method public android.os.ParcelUuid getServiceUuid(); method public android.os.ParcelUuid getServiceUuidMask(); method public boolean matches(android.bluetooth.le.ScanResult); @@ -8705,6 +8707,8 @@ package android.bluetooth.le { method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[], byte[]); method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[]); method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[], byte[]); + method public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(android.os.ParcelUuid); + method public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(android.os.ParcelUuid, android.os.ParcelUuid); method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid); method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid, android.os.ParcelUuid); } @@ -8717,6 +8721,7 @@ package android.bluetooth.le { method public byte[] getManufacturerSpecificData(int); method public java.util.Map<android.os.ParcelUuid, byte[]> getServiceData(); method public byte[] getServiceData(android.os.ParcelUuid); + method public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids(); method public java.util.List<android.os.ParcelUuid> getServiceUuids(); method public int getTxPowerLevel(); } @@ -37164,7 +37169,7 @@ package android.provider { field public static final int RESULT_SMS_HANDLED = 1; // 0x1 field public static final int RESULT_SMS_OUT_OF_MEMORY = 3; // 0x3 field public static final int RESULT_SMS_UNSUPPORTED = 4; // 0x4 - field public static final java.lang.String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE"; + field public static final deprecated java.lang.String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE"; field public static final java.lang.String SIM_FULL_ACTION = "android.provider.Telephony.SIM_FULL"; field public static final java.lang.String SMS_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_CB_RECEIVED"; field public static final java.lang.String SMS_DELIVER_ACTION = "android.provider.Telephony.SMS_DELIVER"; @@ -40894,6 +40899,16 @@ package android.telecom { field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5 } + public abstract class CallRedirectionService extends android.app.Service { + ctor public CallRedirectionService(); + method public final void cancelCall(); + method public android.os.IBinder onBind(android.content.Intent); + method public abstract void onPlaceCall(android.net.Uri, android.telecom.PhoneAccountHandle); + method public final void placeCallUnmodified(); + method public final void redirectCall(android.net.Uri, android.telecom.PhoneAccountHandle); + field public static final java.lang.String SERVICE_INTERFACE = "android.telecom.CallRedirectionService"; + } + public abstract class CallScreeningService extends android.app.Service { ctor public CallScreeningService(); method public android.os.IBinder onBind(android.content.Intent); @@ -41690,9 +41705,14 @@ package android.telephony { field public static final java.lang.String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL = "always_show_emergency_alert_onoff_bool"; field public static final java.lang.String KEY_APN_EXPAND_BOOL = "apn_expand_bool"; field public static final java.lang.String KEY_AUTO_RETRY_ENABLED_BOOL = "auto_retry_enabled_bool"; + field public static final java.lang.String KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL = "call_barring_supports_deactivate_all_bool"; + field public static final java.lang.String KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL = "call_barring_supports_password_change_bool"; + field public static final java.lang.String KEY_CALL_BARRING_VISIBILITY_BOOL = "call_barring_visibility_bool"; field public static final java.lang.String KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY = "call_forwarding_blocks_while_roaming_string_array"; field public static final java.lang.String KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL = "carrier_allow_turnoff_ims_bool"; field public static final java.lang.String KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS = "carrier_data_call_permanent_failure_strings"; + field public static final java.lang.String KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT = "carrier_default_wfc_ims_mode_int"; + field public static final java.lang.String KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT = "carrier_default_wfc_ims_roaming_mode_int"; field public static final java.lang.String KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL = "carrier_force_disable_etws_cmas_test_bool"; field public static final java.lang.String KEY_CARRIER_IMS_GBA_REQUIRED_BOOL = "carrier_ims_gba_required_bool"; field public static final java.lang.String KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL = "carrier_instant_lettering_available_bool"; @@ -42548,6 +42568,7 @@ package android.telephony { method public java.lang.String iccTransmitApduLogicalChannel(int, int, int, int, int, int, java.lang.String); method public boolean isConcurrentVoiceAndDataSupported(); method public boolean isDataEnabled(); + method public boolean isDataRoamingEnabled(); method public boolean isHearingAidCompatibilitySupported(); method public boolean isNetworkRoaming(); method public boolean isSmsCapable(); @@ -42574,6 +42595,7 @@ package android.telephony { field public static final java.lang.String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL"; field public static final java.lang.String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE"; field public static final java.lang.String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE"; + field public static final java.lang.String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE"; field public static final java.lang.String ACTION_SHOW_VOICEMAIL_NOTIFICATION = "android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION"; field public static final java.lang.String ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED"; field public static final int APPTYPE_CSIM = 4; // 0x4 @@ -45241,6 +45263,7 @@ package android.util { field public static final int DENSITY_420 = 420; // 0x1a4 field public static final int DENSITY_440 = 440; // 0x1b8 field public static final int DENSITY_560 = 560; // 0x230 + field public static final int DENSITY_600 = 600; // 0x258 field public static final int DENSITY_DEFAULT = 160; // 0xa0 field public static final int DENSITY_DEVICE_STABLE; field public static final int DENSITY_HIGH = 240; // 0xf0 diff --git a/api/system-current.txt b/api/system-current.txt index 01bc3514e8f8..1df9a466ddc7 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5262,16 +5262,17 @@ package android.telephony { method public boolean handlePinMmi(java.lang.String); method public boolean handlePinMmiForSubscriber(int, java.lang.String); method public boolean isDataConnectivityPossible(); - method public boolean isIdle(); - method public boolean isOffhook(); - method public boolean isRadioOn(); - method public boolean isRinging(); + method public deprecated boolean isIdle(); + method public deprecated boolean isOffhook(); + method public deprecated boolean isRadioOn(); + method public deprecated boolean isRinging(); method public boolean isVideoCallingEnabled(); method public deprecated boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle); method public boolean needsOtaServiceProvisioning(); method public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method public void setDataActivationState(int); method public deprecated void setDataEnabled(int, boolean); + method public void setDataRoamingEnabled(boolean); method public boolean setRadio(boolean); method public boolean setRadioPower(boolean); method public void setSimPowerState(int); @@ -6100,6 +6101,10 @@ package android.telephony.ims.feature { field public static final int STATE_UNAVAILABLE = 0; // 0x0 } + public static class ImsFeature.Capabilities { + field protected int mCapabilities; + } + protected static class ImsFeature.CapabilityCallbackProxy { method public void onChangeCapabilityConfigurationError(int, int, int); } diff --git a/config/hiddenapi-light-greylist.txt b/config/hiddenapi-light-greylist.txt index 19ddb6ca4bdf..99b58d9eb42d 100644 --- a/config/hiddenapi-light-greylist.txt +++ b/config/hiddenapi-light-greylist.txt @@ -214,14 +214,6 @@ Landroid/app/PackageDeleteObserver;-><init>()V Landroid/app/PackageInstallObserver;-><init>()V Landroid/app/ResourcesManager$ActivityResources;-><init>()V Landroid/app/ResourcesManager;-><init>()V -Landroid/app/servertransaction/ActivityResultItem;->mResultInfoList:Ljava/util/List; -Landroid/app/servertransaction/ClientTransaction;->getActivityToken()Landroid/os/IBinder; -Landroid/app/servertransaction/ClientTransaction;->getCallbacks()Ljava/util/List; -Landroid/app/servertransaction/ClientTransaction;->getLifecycleStateRequest()Landroid/app/servertransaction/ActivityLifecycleItem; -Landroid/app/servertransaction/ClientTransaction;->mActivityCallbacks:Ljava/util/List; -Landroid/app/servertransaction/LaunchActivityItem;->mInfo:Landroid/content/pm/ActivityInfo; -Landroid/app/servertransaction/LaunchActivityItem;->mIntent:Landroid/content/Intent; -Landroid/app/servertransaction/NewIntentItem;->mIntents:Ljava/util/List; Landroid/app/TaskStackListener;-><init>()V Landroid/app/trust/ITrustManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/app/UiAutomationConnection;-><init>()V @@ -426,9 +418,6 @@ Landroid/content/UndoManager;-><init>()V Landroid/database/IContentObserver$Stub;-><init>()V Landroid/database/IContentObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/database/IContentObserver; Landroid/database/IContentObserver;->onChange(ZLandroid/net/Uri;I)V -Landroid/graphics/ColorMatrixColorFilter;->setColorMatrixArray([F)V -Landroid/graphics/FontFamily;->mNativePtr:J -Landroid/graphics/FontListParser;->parse(Ljava/io/InputStream;)Landroid/text/FontConfig; Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; Landroid/hardware/camera2/CameraCharacteristics;->DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; @@ -818,20 +807,6 @@ Landroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z Landroid/os/Handler;->mCallback:Landroid/os/Handler$Callback; Landroid/os/Handler;->mLooper:Landroid/os/Looper; Landroid/os/Handler;->mMessenger:Landroid/os/IMessenger; -Landroid/os/health/HealthKeys$Constants;-><init>(Ljava/lang/Class;)V -Landroid/os/health/HealthStats;-><init>(Landroid/os/Parcel;)V -Landroid/os/health/HealthStatsParceler;-><init>(Landroid/os/health/HealthStatsWriter;)V -Landroid/os/health/HealthStatsParceler;-><init>(Landroid/os/Parcel;)V -Landroid/os/health/HealthStatsParceler;->getHealthStats()Landroid/os/health/HealthStats; -Landroid/os/health/HealthStatsWriter;-><init>(Landroid/os/health/HealthKeys$Constants;)V -Landroid/os/health/HealthStatsWriter;->addMeasurement(IJ)V -Landroid/os/health/HealthStatsWriter;->addMeasurements(ILjava/lang/String;J)V -Landroid/os/health/HealthStatsWriter;->addStats(ILjava/lang/String;Landroid/os/health/HealthStatsWriter;)V -Landroid/os/health/HealthStatsWriter;->addTimer(IIJ)V -Landroid/os/health/HealthStatsWriter;->addTimers(ILjava/lang/String;Landroid/os/health/TimerStat;)V -Landroid/os/health/HealthStatsWriter;->flattenToParcel(Landroid/os/Parcel;)V -Landroid/os/health/SystemHealthManager;-><init>()V -Landroid/os/health/SystemHealthManager;->from(Landroid/content/Context;)Landroid/os/health/SystemHealthManager; Landroid/os/HwParcel;-><init>(Z)V Landroid/os/HwRemoteBinder;-><init>()V Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V @@ -1019,99 +994,10 @@ Landroid/os/ServiceSpecificException;-><init>(ILjava/lang/String;)V Landroid/os/SharedMemory;->getFd()I Landroid/os/ShellCommand;->peekNextArg()Ljava/lang/String; Landroid/os/StatFs;->mStat:Landroid/system/StructStatVfs; -Landroid/os/storage/DiskInfo;-><init>(Landroid/os/Parcel;)V -Landroid/os/storage/DiskInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/os/storage/DiskInfo;->flags:I -Landroid/os/storage/DiskInfo;->getDescription()Ljava/lang/String; -Landroid/os/storage/DiskInfo;->isAdoptable()Z -Landroid/os/storage/DiskInfo;->isDefaultPrimary()Z -Landroid/os/storage/DiskInfo;->isSd()Z -Landroid/os/storage/DiskInfo;->isUsb()Z -Landroid/os/storage/DiskInfo;->label:Ljava/lang/String; -Landroid/os/storage/DiskInfo;->size:J Landroid/os/storage/IObbActionListener$Stub;-><init>()V Landroid/os/storage/IObbActionListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IObbActionListener; Landroid/os/storage/IStorageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Landroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager; -Landroid/os/storage/StorageEventListener;->onDiskDestroyed(Landroid/os/storage/DiskInfo;)V -Landroid/os/storage/StorageEventListener;->onDiskScanned(Landroid/os/storage/DiskInfo;I)V -Landroid/os/storage/StorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -Landroid/os/storage/StorageEventListener;->onUsbMassStorageConnectionChanged(Z)V -Landroid/os/storage/StorageEventListener;->onVolumeForgotten(Ljava/lang/String;)V -Landroid/os/storage/StorageEventListener;->onVolumeRecordChanged(Landroid/os/storage/VolumeRecord;)V -Landroid/os/storage/StorageEventListener;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V -Landroid/os/storage/StorageManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V -Landroid/os/storage/StorageManager;->CRYPT_TYPE_DEFAULT:I -Landroid/os/storage/StorageManager;->CRYPT_TYPE_PASSWORD:I -Landroid/os/storage/StorageManager;->disableUsbMassStorage()V -Landroid/os/storage/StorageManager;->enableUsbMassStorage()V -Landroid/os/storage/StorageManager;->ENCRYPTION_STATE_NONE:I -Landroid/os/storage/StorageManager;->findDiskById(Ljava/lang/String;)Landroid/os/storage/DiskInfo; -Landroid/os/storage/StorageManager;->findEmulatedForPrivate(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo; -Landroid/os/storage/StorageManager;->findVolumeByUuid(Ljava/lang/String;)Landroid/os/storage/VolumeInfo; -Landroid/os/storage/StorageManager;->format(Ljava/lang/String;)V -Landroid/os/storage/StorageManager;->getBestVolumeDescription(Landroid/os/storage/VolumeInfo;)Ljava/lang/String; -Landroid/os/storage/StorageManager;->getDisks()Ljava/util/List; -Landroid/os/storage/StorageManager;->getPrimaryPhysicalVolume()Landroid/os/storage/VolumeInfo; -Landroid/os/storage/StorageManager;->getStorageBytesUntilLow(Ljava/io/File;)J -Landroid/os/storage/StorageManager;->getStorageFullBytes(Ljava/io/File;)J -Landroid/os/storage/StorageManager;->getStorageLowBytes(Ljava/io/File;)J -Landroid/os/storage/StorageManager;->getStorageVolume([Landroid/os/storage/StorageVolume;Ljava/io/File;)Landroid/os/storage/StorageVolume; -Landroid/os/storage/StorageManager;->getVolumeList(II)[Landroid/os/storage/StorageVolume; -Landroid/os/storage/StorageManager;->getVolumePaths()[Ljava/lang/String; -Landroid/os/storage/StorageManager;->getVolumes()Ljava/util/List; -Landroid/os/storage/StorageManager;->getVolumeState(Ljava/lang/String;)Ljava/lang/String; -Landroid/os/storage/StorageManager;->isFileEncryptedNativeOnly()Z -Landroid/os/storage/StorageManager;->isUsbMassStorageConnected()Z -Landroid/os/storage/StorageManager;->isUsbMassStorageEnabled()Z -Landroid/os/storage/StorageManager;->partitionPublic(Ljava/lang/String;)V -Landroid/os/storage/StorageManager;->unmount(Ljava/lang/String;)V -Landroid/os/storage/StorageVolume;->allowMassStorage()Z -Landroid/os/storage/StorageVolume;->getFatVolumeId()I -Landroid/os/storage/StorageVolume;->getMaxFileSize()J -Landroid/os/storage/StorageVolume;->getOwner()Landroid/os/UserHandle; -Landroid/os/storage/StorageVolume;->getPath()Ljava/lang/String; -Landroid/os/storage/StorageVolume;->getPathFile()Ljava/io/File; -Landroid/os/storage/StorageVolume;->getUserLabel()Ljava/lang/String; -Landroid/os/storage/StorageVolume;->mDescription:Ljava/lang/String; -Landroid/os/storage/StorageVolume;->mId:Ljava/lang/String; -Landroid/os/storage/StorageVolume;->mPath:Ljava/io/File; -Landroid/os/storage/StorageVolume;->mPrimary:Z -Landroid/os/storage/StorageVolume;->mRemovable:Z -Landroid/os/storage/VolumeInfo;-><init>(Landroid/os/Parcel;)V -Landroid/os/storage/VolumeInfo;->buildBrowseIntent()Landroid/content/Intent; -Landroid/os/storage/VolumeInfo;->buildStableMtpStorageId(Ljava/lang/String;)I -Landroid/os/storage/VolumeInfo;->buildStorageVolume(Landroid/content/Context;IZ)Landroid/os/storage/StorageVolume; -Landroid/os/storage/VolumeInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/os/storage/VolumeInfo;->disk:Landroid/os/storage/DiskInfo; -Landroid/os/storage/VolumeInfo;->fsLabel:Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->fsUuid:Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getDescription()Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getDisk()Landroid/os/storage/DiskInfo; -Landroid/os/storage/VolumeInfo;->getDiskId()Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getEnvironmentForState(I)Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getFsUuid()Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getInternalPath()Ljava/io/File; -Landroid/os/storage/VolumeInfo;->getInternalPathForUser(I)Ljava/io/File; -Landroid/os/storage/VolumeInfo;->getMountUserId()I -Landroid/os/storage/VolumeInfo;->getPath()Ljava/io/File; -Landroid/os/storage/VolumeInfo;->getPathForUser(I)Ljava/io/File; -Landroid/os/storage/VolumeInfo;->getState()I -Landroid/os/storage/VolumeInfo;->getType()I -Landroid/os/storage/VolumeInfo;->internalPath:Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->isMountedReadable()Z -Landroid/os/storage/VolumeInfo;->isMountedWritable()Z -Landroid/os/storage/VolumeInfo;->isPrimary()Z -Landroid/os/storage/VolumeInfo;->isPrimaryPhysical()Z -Landroid/os/storage/VolumeInfo;->isVisible()Z -Landroid/os/storage/VolumeInfo;->isVisibleForWrite(I)Z -Landroid/os/storage/VolumeInfo;->path:Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->state:I -Landroid/os/storage/VolumeInfo;->type:I -Landroid/os/storage/VolumeInfo;->TYPE_EMULATED:I -Landroid/os/storage/VolumeInfo;->TYPE_PUBLIC:I -Landroid/os/storage/VolumeRecord;-><init>(Landroid/os/Parcel;)V -Landroid/os/storage/VolumeRecord;->CREATOR:Landroid/os/Parcelable$Creator; Landroid/os/StrictMode$Span;->finish()V Landroid/os/StrictMode$ThreadPolicy;->mask:I Landroid/os/StrictMode$VmPolicy$Builder;->mMask:I @@ -1628,17 +1514,6 @@ Landroid/system/OsConstants;->_LINUX_CAPABILITY_VERSION_3:I Landroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval; Landroid/telephony/CarrierMessagingServiceManager;-><init>()V Landroid/telephony/TelephonyManager$MultiSimVariants;->values()[Landroid/telephony/TelephonyManager$MultiSimVariants; -Landroid/transition/ChangeBounds;->BOTTOM_RIGHT_ONLY_PROPERTY:Landroid/util/Property; -Landroid/transition/ChangeBounds;->POSITION_PROPERTY:Landroid/util/Property; -Landroid/transition/Scene;->mEnterAction:Ljava/lang/Runnable; -Landroid/transition/Scene;->mExitAction:Ljava/lang/Runnable; -Landroid/transition/Scene;->setCurrentScene(Landroid/view/View;Landroid/transition/Scene;)V -Landroid/transition/Transition;->cancel()V -Landroid/transition/Transition;->end()V -Landroid/transition/Transition;->getRunningAnimators()Landroid/util/ArrayMap; -Landroid/transition/TransitionManager;->getRunningTransitions()Landroid/util/ArrayMap; -Landroid/transition/TransitionManager;->sPendingTransitions:Ljava/util/ArrayList; -Landroid/transition/TransitionManager;->sRunningTransitions:Ljava/lang/ThreadLocal; Landroid/util/Singleton;-><init>()V Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V @@ -2252,47 +2127,7 @@ Lcom/android/internal/statusbar/IStatusBarService;->removeIcon(Ljava/lang/String Lcom/android/internal/statusbar/IStatusBarService;->setIconVisibility(Ljava/lang/String;Z)V Lcom/android/internal/telecom/ITelecomService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ITelecomService; Lcom/android/internal/telecom/ITelecomService;->getCallState()I -Lcom/android/internal/telephony/CallerInfo;-><init>()V -Lcom/android/internal/telephony/CallerInfo;->contactIdOrZero:J -Lcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Landroid/net/Uri;)Lcom/android/internal/telephony/CallerInfo; -Lcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Ljava/lang/String;)Lcom/android/internal/telephony/CallerInfo; -Lcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Ljava/lang/String;I)Lcom/android/internal/telephony/CallerInfo; -Lcom/android/internal/telephony/CallerInfo;->name:Ljava/lang/String; -Lcom/android/internal/telephony/CallerInfo;->numberLabel:Ljava/lang/String; -Lcom/android/internal/telephony/CallerInfo;->numberType:I -Lcom/android/internal/telephony/CallerInfo;->phoneNumber:Ljava/lang/String; -Lcom/android/internal/telephony/EncodeException;-><init>(C)V -Lcom/android/internal/telephony/EncodeException;-><init>(Ljava/lang/String;)V -Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;-><init>(I)V -Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;->languageCode:I -Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;->septetCounts:[I -Lcom/android/internal/telephony/GsmAlphabet$LanguagePairCount;->unencodableCounts:[I Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;-><init>()V -Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->codeUnitCount:I -Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->codeUnitSize:I -Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->codeUnitsRemaining:I -Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->languageShiftTable:I -Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->languageTable:I -Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;->msgCount:I -Lcom/android/internal/telephony/GsmAlphabet;->charToGsm(C)I -Lcom/android/internal/telephony/GsmAlphabet;->charToGsm(CZ)I -Lcom/android/internal/telephony/GsmAlphabet;->countGsmSeptets(CZ)I -Lcom/android/internal/telephony/GsmAlphabet;->findGsmSeptetLimitIndex(Ljava/lang/String;IIII)I -Lcom/android/internal/telephony/GsmAlphabet;->gsm7BitPackedToString([BIIIII)Ljava/lang/String; -Lcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BII)Ljava/lang/String; -Lcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BIILjava/lang/String;)Ljava/lang/String; -Lcom/android/internal/telephony/GsmAlphabet;->gsmToChar(I)C -Lcom/android/internal/telephony/GsmAlphabet;->packSmsChar([BII)V -Lcom/android/internal/telephony/GsmAlphabet;->sCharsToGsmTables:[Landroid/util/SparseIntArray; -Lcom/android/internal/telephony/GsmAlphabet;->sCharsToShiftTables:[Landroid/util/SparseIntArray; -Lcom/android/internal/telephony/GsmAlphabet;->sEnabledLockingShiftTables:[I -Lcom/android/internal/telephony/GsmAlphabet;->sEnabledSingleShiftTables:[I -Lcom/android/internal/telephony/GsmAlphabet;->sHighestEnabledSingleShiftCode:I -Lcom/android/internal/telephony/GsmAlphabet;->sLanguageShiftTables:[Ljava/lang/String; -Lcom/android/internal/telephony/GsmAlphabet;->sLanguageTables:[Ljava/lang/String; -Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPacked(Ljava/lang/String;IZII)[B -Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPackedWithHeader(Ljava/lang/String;[BII)[B -Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm8BitPacked(Ljava/lang/String;)[B Lcom/android/internal/telephony/ICarrierConfigLoader;->getConfigForSubId(ILjava/lang/String;)Landroid/os/PersistableBundle; Lcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms; Lcom/android/internal/telephony/IPhoneStateListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneStateListener; @@ -2367,62 +2202,9 @@ Lcom/android/internal/telephony/IWapPushManager$Stub;->asInterface(Landroid/os/I Lcom/android/internal/telephony/IWapPushManager;->addPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)Z Lcom/android/internal/telephony/IWapPushManager;->deletePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z Lcom/android/internal/telephony/IWapPushManager;->updatePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZZ)Z -Lcom/android/internal/telephony/OperatorInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -Lcom/android/internal/telephony/OperatorInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/OperatorInfo$State;)V -Lcom/android/internal/telephony/OperatorInfo;->mOperatorAlphaLong:Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->mOperatorAlphaShort:Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->mOperatorNumeric:Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->mState:Lcom/android/internal/telephony/OperatorInfo$State; -Lcom/android/internal/telephony/OperatorInfo;->rilStateToState(Ljava/lang/String;)Lcom/android/internal/telephony/OperatorInfo$State; -Lcom/android/internal/telephony/SmsAddress;->origBytes:[B -Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_0:Lcom/android/internal/telephony/SmsConstants$MessageClass; -Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_1:Lcom/android/internal/telephony/SmsConstants$MessageClass; -Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_2:Lcom/android/internal/telephony/SmsConstants$MessageClass; -Lcom/android/internal/telephony/SmsConstants$MessageClass;->CLASS_3:Lcom/android/internal/telephony/SmsConstants$MessageClass; -Lcom/android/internal/telephony/SmsConstants$MessageClass;->UNKNOWN:Lcom/android/internal/telephony/SmsConstants$MessageClass; Lcom/android/internal/telephony/SmsHeader$ConcatRef;-><init>()V -Lcom/android/internal/telephony/SmsHeader$ConcatRef;->msgCount:I -Lcom/android/internal/telephony/SmsHeader$ConcatRef;->refNumber:I -Lcom/android/internal/telephony/SmsHeader$ConcatRef;->seqNumber:I Lcom/android/internal/telephony/SmsHeader$PortAddrs;-><init>()V -Lcom/android/internal/telephony/SmsHeader$PortAddrs;->destPort:I -Lcom/android/internal/telephony/SmsHeader$PortAddrs;->origPort:I -Lcom/android/internal/telephony/SmsHeader;-><init>()V -Lcom/android/internal/telephony/SmsHeader;->concatRef:Lcom/android/internal/telephony/SmsHeader$ConcatRef; -Lcom/android/internal/telephony/SmsHeader;->fromByteArray([B)Lcom/android/internal/telephony/SmsHeader; -Lcom/android/internal/telephony/SmsHeader;->languageShiftTable:I -Lcom/android/internal/telephony/SmsHeader;->languageTable:I -Lcom/android/internal/telephony/SmsHeader;->portAddrs:Lcom/android/internal/telephony/SmsHeader$PortAddrs; -Lcom/android/internal/telephony/SmsHeader;->toByteArray(Lcom/android/internal/telephony/SmsHeader;)[B -Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;->encodedMessage:[B -Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;->encodedScAddress:[B Lcom/android/internal/telephony/SmsMessageBase;-><init>()V -Lcom/android/internal/telephony/SmsMessageBase;->getDisplayMessageBody()Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->getDisplayOriginatingAddress()Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->getMessageBody()Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->getOriginatingAddress()Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->getProtocolIdentifier()I -Lcom/android/internal/telephony/SmsMessageBase;->getPseudoSubject()Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->getServiceCenterAddress()Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->getStatus()I -Lcom/android/internal/telephony/SmsMessageBase;->getTimestampMillis()J -Lcom/android/internal/telephony/SmsMessageBase;->getUserData()[B -Lcom/android/internal/telephony/SmsMessageBase;->getUserDataHeader()Lcom/android/internal/telephony/SmsHeader; -Lcom/android/internal/telephony/SmsMessageBase;->isReplace()Z -Lcom/android/internal/telephony/SmsMessageBase;->isReplyPathPresent()Z -Lcom/android/internal/telephony/SmsMessageBase;->isStatusReportMessage()Z -Lcom/android/internal/telephony/SmsMessageBase;->mIsMwi:Z -Lcom/android/internal/telephony/SmsMessageBase;->mMessageBody:Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->mMessageRef:I -Lcom/android/internal/telephony/SmsMessageBase;->mMwiDontStore:Z -Lcom/android/internal/telephony/SmsMessageBase;->mMwiSense:Z -Lcom/android/internal/telephony/SmsMessageBase;->mOriginatingAddress:Lcom/android/internal/telephony/SmsAddress; -Lcom/android/internal/telephony/SmsMessageBase;->mPdu:[B -Lcom/android/internal/telephony/SmsMessageBase;->mScAddress:Ljava/lang/String; -Lcom/android/internal/telephony/SmsMessageBase;->mUserDataHeader:Lcom/android/internal/telephony/SmsHeader; -Lcom/android/internal/telephony/SmsRawData;-><init>([B)V -Lcom/android/internal/telephony/SmsRawData;->CREATOR:Landroid/os/Parcelable$Creator; -Lcom/android/internal/telephony/SmsRawData;->getBytes()[B Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V Lcom/android/internal/util/HexDump;->toHexString([BZ)Ljava/lang/String; Lcom/android/internal/view/BaseIWindow;-><init>()V diff --git a/config/hiddenapi-p-light-greylist.txt b/config/hiddenapi-p-light-greylist.txt deleted file mode 100644 index 1bcb6850d929..000000000000 --- a/config/hiddenapi-p-light-greylist.txt +++ /dev/null @@ -1,5998 +0,0 @@ -Landroid/R$styleable;->ActionBar:[I -Landroid/R$styleable;->ActionBar_background:I -Landroid/R$styleable;->ActionBar_backgroundSplit:I -Landroid/R$styleable;->ActionBar_backgroundStacked:I -Landroid/R$styleable;->ActionBar_divider:I -Landroid/R$styleable;->ActionBar_itemPadding:I -Landroid/R$styleable;->CalendarView:[I -Landroid/R$styleable;->CalendarView_dateTextAppearance:I -Landroid/R$styleable;->CalendarView_firstDayOfWeek:I -Landroid/R$styleable;->CalendarView_focusedMonthDateColor:I -Landroid/R$styleable;->CalendarView_selectedDateVerticalBar:I -Landroid/R$styleable;->CalendarView_selectedWeekBackgroundColor:I -Landroid/R$styleable;->CalendarView_showWeekNumber:I -Landroid/R$styleable;->CalendarView_shownWeekCount:I -Landroid/R$styleable;->CalendarView_unfocusedMonthDateColor:I -Landroid/R$styleable;->CalendarView_weekDayTextAppearance:I -Landroid/R$styleable;->CalendarView_weekNumberColor:I -Landroid/R$styleable;->CalendarView_weekSeparatorLineColor:I -Landroid/R$styleable;->CheckBoxPreference:[I -Landroid/R$styleable;->CheckedTextView:[I -Landroid/R$styleable;->CheckedTextView_checkMark:I -Landroid/R$styleable;->CompoundButton:[I -Landroid/R$styleable;->CompoundButton_button:I -Landroid/R$styleable;->DrawableStates:[I -Landroid/R$styleable;->ImageView:[I -Landroid/R$styleable;->ImageView_adjustViewBounds:I -Landroid/R$styleable;->ImageView_baselineAlignBottom:I -Landroid/R$styleable;->ImageView_cropToPadding:I -Landroid/R$styleable;->ImageView_maxHeight:I -Landroid/R$styleable;->ImageView_maxWidth:I -Landroid/R$styleable;->ImageView_scaleType:I -Landroid/R$styleable;->ImageView_src:I -Landroid/R$styleable;->ImageView_tint:I -Landroid/R$styleable;->LinearLayout:[I -Landroid/R$styleable;->LinearLayout_divider:I -Landroid/R$styleable;->LinearLayout_dividerPadding:I -Landroid/R$styleable;->LinearLayout_showDividers:I -Landroid/R$styleable;->ListView:[I -Landroid/R$styleable;->ListView_divider:I -Landroid/R$styleable;->ListView_dividerHeight:I -Landroid/R$styleable;->ProgressBar:[I -Landroid/R$styleable;->ProgressBar_indeterminateDrawable:I -Landroid/R$styleable;->ProgressBar_indeterminateDuration:I -Landroid/R$styleable;->ProgressBar_maxHeight:I -Landroid/R$styleable;->ProgressBar_maxWidth:I -Landroid/R$styleable;->ProgressBar_minHeight:I -Landroid/R$styleable;->ProgressBar_minWidth:I -Landroid/R$styleable;->ProgressBar_progressDrawable:I -Landroid/R$styleable;->SeekBar:[I -Landroid/R$styleable;->SeekBar_thumb:I -Landroid/R$styleable;->SeekBar_thumbOffset:I -Landroid/R$styleable;->Switch:[I -Landroid/R$styleable;->Switch_showText:I -Landroid/R$styleable;->Switch_splitTrack:I -Landroid/R$styleable;->Switch_switchMinWidth:I -Landroid/R$styleable;->Switch_switchPadding:I -Landroid/R$styleable;->Switch_switchTextAppearance:I -Landroid/R$styleable;->Switch_textOff:I -Landroid/R$styleable;->Switch_textOn:I -Landroid/R$styleable;->Switch_thumb:I -Landroid/R$styleable;->Switch_thumbTextPadding:I -Landroid/R$styleable;->Switch_track:I -Landroid/R$styleable;->TextAppearance:[I -Landroid/R$styleable;->TextAppearance_textAllCaps:I -Landroid/R$styleable;->TextAppearance_textColor:I -Landroid/R$styleable;->TextAppearance_textColorHighlight:I -Landroid/R$styleable;->TextAppearance_textColorHint:I -Landroid/R$styleable;->TextAppearance_textColorLink:I -Landroid/R$styleable;->TextAppearance_textSize:I -Landroid/R$styleable;->TextAppearance_textStyle:I -Landroid/R$styleable;->TextAppearance_typeface:I -Landroid/R$styleable;->TextView:[I -Landroid/R$styleable;->TextView_autoLink:I -Landroid/R$styleable;->TextView_autoText:I -Landroid/R$styleable;->TextView_bufferType:I -Landroid/R$styleable;->TextView_capitalize:I -Landroid/R$styleable;->TextView_cursorVisible:I -Landroid/R$styleable;->TextView_digits:I -Landroid/R$styleable;->TextView_drawableBottom:I -Landroid/R$styleable;->TextView_drawableEnd:I -Landroid/R$styleable;->TextView_drawableLeft:I -Landroid/R$styleable;->TextView_drawablePadding:I -Landroid/R$styleable;->TextView_drawableRight:I -Landroid/R$styleable;->TextView_drawableStart:I -Landroid/R$styleable;->TextView_drawableTop:I -Landroid/R$styleable;->TextView_editable:I -Landroid/R$styleable;->TextView_ellipsize:I -Landroid/R$styleable;->TextView_ems:I -Landroid/R$styleable;->TextView_enabled:I -Landroid/R$styleable;->TextView_freezesText:I -Landroid/R$styleable;->TextView_gravity:I -Landroid/R$styleable;->TextView_height:I -Landroid/R$styleable;->TextView_hint:I -Landroid/R$styleable;->TextView_imeActionId:I -Landroid/R$styleable;->TextView_imeActionLabel:I -Landroid/R$styleable;->TextView_imeOptions:I -Landroid/R$styleable;->TextView_includeFontPadding:I -Landroid/R$styleable;->TextView_inputMethod:I -Landroid/R$styleable;->TextView_inputType:I -Landroid/R$styleable;->TextView_lineSpacingExtra:I -Landroid/R$styleable;->TextView_lineSpacingMultiplier:I -Landroid/R$styleable;->TextView_lines:I -Landroid/R$styleable;->TextView_linksClickable:I -Landroid/R$styleable;->TextView_marqueeRepeatLimit:I -Landroid/R$styleable;->TextView_maxEms:I -Landroid/R$styleable;->TextView_maxHeight:I -Landroid/R$styleable;->TextView_maxLength:I -Landroid/R$styleable;->TextView_maxLines:I -Landroid/R$styleable;->TextView_maxWidth:I -Landroid/R$styleable;->TextView_minEms:I -Landroid/R$styleable;->TextView_minHeight:I -Landroid/R$styleable;->TextView_minLines:I -Landroid/R$styleable;->TextView_minWidth:I -Landroid/R$styleable;->TextView_numeric:I -Landroid/R$styleable;->TextView_password:I -Landroid/R$styleable;->TextView_phoneNumber:I -Landroid/R$styleable;->TextView_privateImeOptions:I -Landroid/R$styleable;->TextView_scrollHorizontally:I -Landroid/R$styleable;->TextView_selectAllOnFocus:I -Landroid/R$styleable;->TextView_shadowColor:I -Landroid/R$styleable;->TextView_shadowDx:I -Landroid/R$styleable;->TextView_shadowDy:I -Landroid/R$styleable;->TextView_shadowRadius:I -Landroid/R$styleable;->TextView_singleLine:I -Landroid/R$styleable;->TextView_text:I -Landroid/R$styleable;->TextView_textAllCaps:I -Landroid/R$styleable;->TextView_textAppearance:I -Landroid/R$styleable;->TextView_textColor:I -Landroid/R$styleable;->TextView_textColorHighlight:I -Landroid/R$styleable;->TextView_textColorHint:I -Landroid/R$styleable;->TextView_textColorLink:I -Landroid/R$styleable;->TextView_textCursorDrawable:I -Landroid/R$styleable;->TextView_textIsSelectable:I -Landroid/R$styleable;->TextView_textScaleX:I -Landroid/R$styleable;->TextView_textSelectHandle:I -Landroid/R$styleable;->TextView_textSelectHandleLeft:I -Landroid/R$styleable;->TextView_textSelectHandleRight:I -Landroid/R$styleable;->TextView_textSize:I -Landroid/R$styleable;->TextView_textStyle:I -Landroid/R$styleable;->TextView_typeface:I -Landroid/R$styleable;->TextView_width:I -Landroid/R$styleable;->View:[I -Landroid/R$styleable;->ViewDrawableStates:[I -Landroid/R$styleable;->ViewGroup_Layout:[I -Landroid/R$styleable;->ViewGroup_MarginLayout:[I -Landroid/R$styleable;->View_background:I -Landroid/R$styleable;->View_clickable:I -Landroid/R$styleable;->View_contentDescription:I -Landroid/R$styleable;->View_drawingCacheQuality:I -Landroid/R$styleable;->View_duplicateParentState:I -Landroid/R$styleable;->View_fadingEdge:I -Landroid/R$styleable;->View_filterTouchesWhenObscured:I -Landroid/R$styleable;->View_fitsSystemWindows:I -Landroid/R$styleable;->View_focusable:I -Landroid/R$styleable;->View_focusableInTouchMode:I -Landroid/R$styleable;->View_hapticFeedbackEnabled:I -Landroid/R$styleable;->View_id:I -Landroid/R$styleable;->View_isScrollContainer:I -Landroid/R$styleable;->View_keepScreenOn:I -Landroid/R$styleable;->View_longClickable:I -Landroid/R$styleable;->View_minHeight:I -Landroid/R$styleable;->View_minWidth:I -Landroid/R$styleable;->View_nextFocusDown:I -Landroid/R$styleable;->View_nextFocusLeft:I -Landroid/R$styleable;->View_nextFocusRight:I -Landroid/R$styleable;->View_nextFocusUp:I -Landroid/R$styleable;->View_onClick:I -Landroid/R$styleable;->View_overScrollMode:I -Landroid/R$styleable;->View_padding:I -Landroid/R$styleable;->View_paddingBottom:I -Landroid/R$styleable;->View_paddingEnd:I -Landroid/R$styleable;->View_paddingLeft:I -Landroid/R$styleable;->View_paddingRight:I -Landroid/R$styleable;->View_paddingStart:I -Landroid/R$styleable;->View_paddingTop:I -Landroid/R$styleable;->View_saveEnabled:I -Landroid/R$styleable;->View_scrollX:I -Landroid/R$styleable;->View_scrollY:I -Landroid/R$styleable;->View_scrollbarDefaultDelayBeforeFade:I -Landroid/R$styleable;->View_scrollbarFadeDuration:I -Landroid/R$styleable;->View_scrollbarSize:I -Landroid/R$styleable;->View_scrollbarStyle:I -Landroid/R$styleable;->View_scrollbarThumbHorizontal:I -Landroid/R$styleable;->View_scrollbarThumbVertical:I -Landroid/R$styleable;->View_scrollbarTrackHorizontal:I -Landroid/R$styleable;->View_scrollbarTrackVertical:I -Landroid/R$styleable;->View_scrollbars:I -Landroid/R$styleable;->View_soundEffectsEnabled:I -Landroid/R$styleable;->View_tag:I -Landroid/R$styleable;->View_visibility:I -Landroid/R$styleable;->Window:[I -Landroid/R$styleable;->Window_windowBackground:I -Landroid/R$styleable;->Window_windowFrame:I -Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V -Landroid/accounts/AccountManager;->mContext:Landroid/content/Context; -Landroid/accounts/IAccountAuthenticator$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/accounts/IAccountAuthenticator$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticator; -Landroid/accounts/IAccountAuthenticator;->addAccount(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V -Landroid/accounts/IAccountAuthenticator;->confirmCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V -Landroid/accounts/IAccountAuthenticator;->editProperties(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V -Landroid/accounts/IAccountAuthenticator;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V -Landroid/accounts/IAccountAuthenticator;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V -Landroid/accounts/IAccountAuthenticator;->getAuthTokenLabel(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V -Landroid/accounts/IAccountAuthenticator;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V -Landroid/accounts/IAccountAuthenticator;->updateCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V -Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/accounts/IAccountAuthenticatorResponse$Stub;-><init>()V -Landroid/accounts/IAccountAuthenticatorResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticatorResponse; -Landroid/accounts/IAccountManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/accounts/IAccountManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManager; -Landroid/accounts/IAccountManagerResponse$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/accounts/IAccountManagerResponse$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/accounts/IAccountManagerResponse$Stub;-><init>()V -Landroid/accounts/IAccountManagerResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManagerResponse; -Landroid/accounts/IAccountManagerResponse;->onError(ILjava/lang/String;)V -Landroid/accounts/IAccountManagerResponse;->onResult(Landroid/os/Bundle;)V -Landroid/animation/LayoutTransition;->cancel()V -Landroid/animation/LayoutTransition;->cancel(I)V -Landroid/animation/ValueAnimator;->animateValue(F)V -Landroid/animation/ValueAnimator;->sDurationScale:F -Landroid/app/ActionBar;->setShowHideAnimationEnabled(Z)V -Landroid/app/Activity;->enterPictureInPictureMode(Landroid/app/PictureInPictureArgs;)Z -Landroid/app/Activity;->getActivityOptions()Landroid/app/ActivityOptions; -Landroid/app/Activity;->getActivityToken()Landroid/os/IBinder; -Landroid/app/Activity;->mActivityInfo:Landroid/content/pm/ActivityInfo; -Landroid/app/Activity;->mApplication:Landroid/app/Application; -Landroid/app/Activity;->mComponent:Landroid/content/ComponentName; -Landroid/app/Activity;->mFinished:Z -Landroid/app/Activity;->mFragments:Landroid/app/FragmentController; -Landroid/app/Activity;->mHandler:Landroid/os/Handler; -Landroid/app/Activity;->mInstrumentation:Landroid/app/Instrumentation; -Landroid/app/Activity;->mMainThread:Landroid/app/ActivityThread; -Landroid/app/Activity;->mReferrer:Ljava/lang/String; -Landroid/app/Activity;->mResultCode:I -Landroid/app/Activity;->mResultData:Landroid/content/Intent; -Landroid/app/Activity;->mResumed:Z -Landroid/app/Activity;->mToken:Landroid/os/IBinder; -Landroid/app/Activity;->mWindow:Landroid/view/Window; -Landroid/app/Activity;->mWindowManager:Landroid/view/WindowManager; -Landroid/app/Activity;->managedQuery(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -Landroid/app/Activity;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V -Landroid/app/Activity;->setDisablePreviewScreenshots(Z)V -Landroid/app/Activity;->setPersistent(Z)V -Landroid/app/Activity;->setPictureInPictureArgs(Landroid/app/PictureInPictureArgs;)V -Landroid/app/ActivityGroup;->mLocalActivityManager:Landroid/app/LocalActivityManager; -Landroid/app/ActivityManager$RecentTaskInfo;->configuration:Landroid/content/res/Configuration; -Landroid/app/ActivityManager$RecentTaskInfo;->firstActiveTime:J -Landroid/app/ActivityManager$RecentTaskInfo;->lastActiveTime:J -Landroid/app/ActivityManager$RecentTaskInfo;->resizeMode:I -Landroid/app/ActivityManager$RecentTaskInfo;->supportsSplitScreenMultiWindow:Z -Landroid/app/ActivityManager$RecentTaskInfo;->userId:I -Landroid/app/ActivityManager$RunningAppProcessInfo;->flags:I -Landroid/app/ActivityManager$RunningAppProcessInfo;->processState:I -Landroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I -Landroid/app/ActivityManager$TaskDescription;->getInMemoryIcon()Landroid/graphics/Bitmap; -Landroid/app/ActivityManager$TaskDescription;->loadTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap; -Landroid/app/ActivityManager$TaskSnapshot;->getContentInsets()Landroid/graphics/Rect; -Landroid/app/ActivityManager$TaskSnapshot;->getOrientation()I -Landroid/app/ActivityManager$TaskSnapshot;->getScale()F -Landroid/app/ActivityManager$TaskSnapshot;->getSnapshot()Landroid/graphics/GraphicBuffer; -Landroid/app/ActivityManager$TaskSnapshot;->isRealSnapshot()Z -Landroid/app/ActivityManager$TaskSnapshot;->isReducedResolution()Z -Landroid/app/ActivityManager;->IActivityManagerSingleton:Landroid/util/Singleton; -Landroid/app/ActivityManager;->PROCESS_STATE_IMPORTANT_BACKGROUND:I -Landroid/app/ActivityManager;->PROCESS_STATE_TOP:I -Landroid/app/ActivityManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)Z -Landroid/app/ActivityManager;->getMaxNumPictureInPictureActions()I -Landroid/app/ActivityManager;->getMaxRecentTasksStatic()I -Landroid/app/ActivityManager;->getService()Landroid/app/IActivityManager; -Landroid/app/ActivityManager;->isHighEndGfx()Z -Landroid/app/ActivityManager;->isLowRamDeviceStatic()Z -Landroid/app/ActivityManager;->isUserRunning(I)Z -Landroid/app/ActivityManager;->mContext:Landroid/content/Context; -Landroid/app/ActivityManager;->setPersistentVrThread(I)V -Landroid/app/ActivityManagerNative;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityManager; -Landroid/app/ActivityManagerNative;->broadcastStickyIntent(Landroid/content/Intent;Ljava/lang/String;I)V -Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager; -Landroid/app/ActivityOptions;->makeMultiThumbFutureAspectScaleAnimation(Landroid/content/Context;Landroid/os/Handler;Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/app/ActivityOptions$OnAnimationStartedListener;Z)Landroid/app/ActivityOptions; -Landroid/app/ActivityOptions;->makeRemoteAnimation(Landroid/view/RemoteAnimationAdapter;)Landroid/app/ActivityOptions; -Landroid/app/ActivityOptions;->setSplitScreenCreateMode(I)V -Landroid/app/ActivityThread$ActivityClientRecord;->activity:Landroid/app/Activity; -Landroid/app/ActivityThread$ActivityClientRecord;->activityInfo:Landroid/content/pm/ActivityInfo; -Landroid/app/ActivityThread$ActivityClientRecord;->compatInfo:Landroid/content/res/CompatibilityInfo; -Landroid/app/ActivityThread$ActivityClientRecord;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$ActivityClientRecord;->mPreserveWindow:Z -Landroid/app/ActivityThread$ActivityClientRecord;->packageInfo:Landroid/app/LoadedApk; -Landroid/app/ActivityThread$ActivityClientRecord;->paused:Z -Landroid/app/ActivityThread$ActivityClientRecord;->stopped:Z -Landroid/app/ActivityThread$ActivityClientRecord;->token:Landroid/os/IBinder; -Landroid/app/ActivityThread$AppBindData;->appInfo:Landroid/content/pm/ApplicationInfo; -Landroid/app/ActivityThread$AppBindData;->info:Landroid/app/LoadedApk; -Landroid/app/ActivityThread$AppBindData;->instrumentationArgs:Landroid/os/Bundle; -Landroid/app/ActivityThread$AppBindData;->persistent:Z -Landroid/app/ActivityThread$AppBindData;->processName:Ljava/lang/String; -Landroid/app/ActivityThread$AppBindData;->providers:Ljava/util/List; -Landroid/app/ActivityThread$AppBindData;->restrictedBackupMode:Z -Landroid/app/ActivityThread$BindServiceData;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$BindServiceData;->token:Landroid/os/IBinder; -Landroid/app/ActivityThread$CreateServiceData;-><init>()V -Landroid/app/ActivityThread$CreateServiceData;->compatInfo:Landroid/content/res/CompatibilityInfo; -Landroid/app/ActivityThread$CreateServiceData;->info:Landroid/content/pm/ServiceInfo; -Landroid/app/ActivityThread$CreateServiceData;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$CreateServiceData;->token:Landroid/os/IBinder; -Landroid/app/ActivityThread$H;->BIND_SERVICE:I -Landroid/app/ActivityThread$H;->CREATE_SERVICE:I -Landroid/app/ActivityThread$H;->DUMP_PROVIDER:I -Landroid/app/ActivityThread$H;->ENTER_ANIMATION_COMPLETE:I -Landroid/app/ActivityThread$H;->EXIT_APPLICATION:I -Landroid/app/ActivityThread$H;->GC_WHEN_IDLE:I -Landroid/app/ActivityThread$H;->INSTALL_PROVIDER:I -Landroid/app/ActivityThread$H;->RECEIVER:I -Landroid/app/ActivityThread$H;->REMOVE_PROVIDER:I -Landroid/app/ActivityThread$H;->SCHEDULE_CRASH:I -Landroid/app/ActivityThread$H;->SERVICE_ARGS:I -Landroid/app/ActivityThread$H;->STOP_SERVICE:I -Landroid/app/ActivityThread$H;->UNBIND_SERVICE:I -Landroid/app/ActivityThread$ProviderClientRecord;->mHolder:Landroid/app/ContentProviderHolder; -Landroid/app/ActivityThread$ProviderClientRecord;->mLocalProvider:Landroid/content/ContentProvider; -Landroid/app/ActivityThread$ProviderClientRecord;->mProvider:Landroid/content/IContentProvider; -Landroid/app/ActivityThread$ReceiverData;->compatInfo:Landroid/content/res/CompatibilityInfo; -Landroid/app/ActivityThread$ReceiverData;->info:Landroid/content/pm/ActivityInfo; -Landroid/app/ActivityThread$ReceiverData;->intent:Landroid/content/Intent; -Landroid/app/ActivityThread$ServiceArgsData;->args:Landroid/content/Intent; -Landroid/app/ActivityThread$ServiceArgsData;->token:Landroid/os/IBinder; -Landroid/app/ActivityThread;->currentActivityThread()Landroid/app/ActivityThread; -Landroid/app/ActivityThread;->currentApplication()Landroid/app/Application; -Landroid/app/ActivityThread;->currentPackageName()Ljava/lang/String; -Landroid/app/ActivityThread;->currentProcessName()Ljava/lang/String; -Landroid/app/ActivityThread;->getActivity(Landroid/os/IBinder;)Landroid/app/Activity; -Landroid/app/ActivityThread;->getApplication()Landroid/app/Application; -Landroid/app/ActivityThread;->getApplicationThread()Landroid/app/ActivityThread$ApplicationThread; -Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler; -Landroid/app/ActivityThread;->getInstrumentation()Landroid/app/Instrumentation; -Landroid/app/ActivityThread;->getPackageInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk; -Landroid/app/ActivityThread;->getPackageInfoNoCheck(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)Landroid/app/LoadedApk; -Landroid/app/ActivityThread;->getPackageManager()Landroid/content/pm/IPackageManager; -Landroid/app/ActivityThread;->getProcessName()Ljava/lang/String; -Landroid/app/ActivityThread;->getSystemContext()Landroid/app/ContextImpl; -Landroid/app/ActivityThread;->handleBindApplication(Landroid/app/ActivityThread$AppBindData;)V -Landroid/app/ActivityThread;->installContentProviders(Landroid/content/Context;Ljava/util/List;)V -Landroid/app/ActivityThread;->installProvider(Landroid/content/Context;Landroid/app/ContentProviderHolder;Landroid/content/pm/ProviderInfo;ZZZ)Landroid/app/ContentProviderHolder; -Landroid/app/ActivityThread;->mActivities:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mAllApplications:Ljava/util/ArrayList; -Landroid/app/ActivityThread;->mBoundApplication:Landroid/app/ActivityThread$AppBindData; -Landroid/app/ActivityThread;->mConfiguration:Landroid/content/res/Configuration; -Landroid/app/ActivityThread;->mCurDefaultDisplayDpi:I -Landroid/app/ActivityThread;->mDensityCompatMode:Z -Landroid/app/ActivityThread;->mH:Landroid/app/ActivityThread$H; -Landroid/app/ActivityThread;->mInitialApplication:Landroid/app/Application; -Landroid/app/ActivityThread;->mInstrumentation:Landroid/app/Instrumentation; -Landroid/app/ActivityThread;->mLocalProviders:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mLocalProvidersByName:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mNumVisibleActivities:I -Landroid/app/ActivityThread;->mPackages:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mPendingConfiguration:Landroid/content/res/Configuration; -Landroid/app/ActivityThread;->mProviderMap:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mResourcePackages:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->mResourcesManager:Landroid/app/ResourcesManager; -Landroid/app/ActivityThread;->mServices:Landroid/util/ArrayMap; -Landroid/app/ActivityThread;->performNewIntents(Landroid/os/IBinder;Ljava/util/List;Z)V -Landroid/app/ActivityThread;->performStopActivity(Landroid/os/IBinder;ZLjava/lang/String;)V -Landroid/app/ActivityThread;->sCurrentActivityThread:Landroid/app/ActivityThread; -Landroid/app/ActivityThread;->sPackageManager:Landroid/content/pm/IPackageManager; -Landroid/app/ActivityThread;->sendActivityResult(Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/Intent;)V -Landroid/app/ActivityThread;->startActivityNow(Landroid/app/Activity;Ljava/lang/String;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/Activity$NonConfigurationInstances;)Landroid/app/Activity; -Landroid/app/ActivityView;-><init>(Landroid/content/Context;)V -Landroid/app/ActivityView;->release()V -Landroid/app/ActivityView;->startActivity(Landroid/app/PendingIntent;)V -Landroid/app/ActivityView;->startActivity(Landroid/content/Intent;)V -Landroid/app/AlarmManager;->FLAG_ALLOW_WHILE_IDLE_UNRESTRICTED:I -Landroid/app/AlarmManager;->FLAG_IDLE_UNTIL:I -Landroid/app/AlarmManager;->FLAG_STANDALONE:I -Landroid/app/AlarmManager;->FLAG_WAKE_FROM_IDLE:I -Landroid/app/AlarmManager;->WINDOW_EXACT:J -Landroid/app/AlarmManager;->WINDOW_HEURISTIC:J -Landroid/app/AlarmManager;->mService:Landroid/app/IAlarmManager; -Landroid/app/AlertDialog$Builder;->P:Lcom/android/internal/app/AlertController$AlertParams; -Landroid/app/AlertDialog$Builder;->setRecycleOnMeasureEnabled(Z)Landroid/app/AlertDialog$Builder; -Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;IIII)Landroid/app/AlertDialog$Builder; -Landroid/app/AlertDialog;->mAlert:Lcom/android/internal/app/AlertController; -Landroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application; -Landroid/app/AppGlobals;->getInitialPackage()Ljava/lang/String; -Landroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager; -Landroid/app/AppOpsManager$OpEntry;->getDuration()I -Landroid/app/AppOpsManager$OpEntry;->getOp()I -Landroid/app/AppOpsManager$OpEntry;->getRejectTime()J -Landroid/app/AppOpsManager$OpEntry;->getTime()J -Landroid/app/AppOpsManager$OpEntry;->isRunning()Z -Landroid/app/AppOpsManager$PackageOps;->getOps()Ljava/util/List; -Landroid/app/AppOpsManager$PackageOps;->getPackageName()Ljava/lang/String; -Landroid/app/AppOpsManager$PackageOps;->getUid()I -Landroid/app/AppOpsManager;->OP_AUDIO_NOTIFICATION_VOLUME:I -Landroid/app/AppOpsManager;->OP_COARSE_LOCATION:I -Landroid/app/AppOpsManager;->OP_FINE_LOCATION:I -Landroid/app/AppOpsManager;->OP_GET_USAGE_STATS:I -Landroid/app/AppOpsManager;->OP_POST_NOTIFICATION:I -Landroid/app/AppOpsManager;->OP_PROJECT_MEDIA:I -Landroid/app/AppOpsManager;->OP_READ_CONTACTS:I -Landroid/app/AppOpsManager;->OP_READ_PHONE_STATE:I -Landroid/app/AppOpsManager;->OP_READ_SMS:I -Landroid/app/AppOpsManager;->OP_RUN_IN_BACKGROUND:I -Landroid/app/AppOpsManager;->OP_VIBRATE:I -Landroid/app/AppOpsManager;->OP_WIFI_SCAN:I -Landroid/app/AppOpsManager;->OP_WRITE_CONTACTS:I -Landroid/app/AppOpsManager;->OP_WRITE_SMS:I -Landroid/app/AppOpsManager;->checkOp(IILjava/lang/String;)I -Landroid/app/AppOpsManager;->checkOpNoThrow(IILjava/lang/String;)I -Landroid/app/AppOpsManager;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List; -Landroid/app/AppOpsManager;->getPackagesForOps([I)Ljava/util/List; -Landroid/app/AppOpsManager;->getToken(Lcom/android/internal/app/IAppOpsService;)Landroid/os/IBinder; -Landroid/app/AppOpsManager;->mService:Lcom/android/internal/app/IAppOpsService; -Landroid/app/AppOpsManager;->noteOp(I)I -Landroid/app/AppOpsManager;->noteOp(IILjava/lang/String;)I -Landroid/app/AppOpsManager;->permissionToOpCode(Ljava/lang/String;)I -Landroid/app/AppOpsManager;->sOpPerms:[Ljava/lang/String; -Landroid/app/AppOpsManager;->setRestriction(III[Ljava/lang/String;)V -Landroid/app/AppOpsManager;->strOpToOp(Ljava/lang/String;)I -Landroid/app/Application;->attach(Landroid/content/Context;)V -Landroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object; -Landroid/app/Application;->dispatchActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V -Landroid/app/Application;->dispatchActivityDestroyed(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivityPaused(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivityResumed(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V -Landroid/app/Application;->dispatchActivityStarted(Landroid/app/Activity;)V -Landroid/app/Application;->dispatchActivityStopped(Landroid/app/Activity;)V -Landroid/app/Application;->mComponentCallbacks:Ljava/util/ArrayList; -Landroid/app/Application;->mLoadedApk:Landroid/app/LoadedApk; -Landroid/app/ApplicationLoaders;->getDefault()Landroid/app/ApplicationLoaders; -Landroid/app/ApplicationLoaders;->mLoaders:Landroid/util/ArrayMap; -Landroid/app/ApplicationPackageManager;-><init>(Landroid/app/ContextImpl;Landroid/content/pm/IPackageManager;)V -Landroid/app/ApplicationPackageManager;->configurationChanged()V -Landroid/app/ApplicationPackageManager;->deletePackage(Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;I)V -Landroid/app/ApplicationPackageManager;->getPackageCurrentVolume(Landroid/content/pm/ApplicationInfo;)Landroid/os/storage/VolumeInfo; -Landroid/app/ApplicationPackageManager;->getPackageSizeInfoAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageStatsObserver;)V -Landroid/app/ApplicationPackageManager;->mPM:Landroid/content/pm/IPackageManager; -Landroid/app/ApplicationPackageManager;->setInstantAppCookie([B)Z -Landroid/app/ApplicationPackageManager;->shouldShowRequestPermissionRationale(Ljava/lang/String;)Z -Landroid/app/ContentProviderHolder;-><init>(Landroid/content/pm/ProviderInfo;)V -Landroid/app/ContentProviderHolder;->info:Landroid/content/pm/ProviderInfo; -Landroid/app/ContentProviderHolder;->provider:Landroid/content/IContentProvider; -Landroid/app/ContextImpl;->createActivityContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;ILandroid/content/res/Configuration;)Landroid/app/ContextImpl; -Landroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder; -Landroid/app/ContextImpl;->getDisplay()Landroid/view/Display; -Landroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File; -Landroid/app/ContextImpl;->getReceiverRestrictedContext()Landroid/content/Context; -Landroid/app/ContextImpl;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences; -Landroid/app/ContextImpl;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File; -Landroid/app/ContextImpl;->mBasePackageName:Ljava/lang/String; -Landroid/app/ContextImpl;->mClassLoader:Ljava/lang/ClassLoader; -Landroid/app/ContextImpl;->mContentResolver:Landroid/app/ContextImpl$ApplicationContentResolver; -Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread; -Landroid/app/ContextImpl;->mOpPackageName:Ljava/lang/String; -Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context; -Landroid/app/ContextImpl;->mPackageInfo:Landroid/app/LoadedApk; -Landroid/app/ContextImpl;->mPackageManager:Landroid/content/pm/PackageManager; -Landroid/app/ContextImpl;->mResources:Landroid/content/res/Resources; -Landroid/app/ContextImpl;->mServiceCache:[Ljava/lang/Object; -Landroid/app/ContextImpl;->mTheme:Landroid/content/res/Resources$Theme; -Landroid/app/ContextImpl;->mThemeResource:I -Landroid/app/ContextImpl;->sSharedPrefsCache:Landroid/util/ArrayMap; -Landroid/app/ContextImpl;->scheduleFinalCleanup(Ljava/lang/String;Ljava/lang/String;)V -Landroid/app/ContextImpl;->setOuterContext(Landroid/content/Context;)V -Landroid/app/DatePickerDialog;->mDatePicker:Landroid/widget/DatePicker; -Landroid/app/Dialog;->CANCEL:I -Landroid/app/Dialog;->dismissDialog()V -Landroid/app/Dialog;->mCancelMessage:Landroid/os/Message; -Landroid/app/Dialog;->mDismissMessage:Landroid/os/Message; -Landroid/app/Dialog;->mListenersHandler:Landroid/os/Handler; -Landroid/app/Dialog;->mOwnerActivity:Landroid/app/Activity; -Landroid/app/Dialog;->mShowMessage:Landroid/os/Message; -Landroid/app/DialogFragment;->showAllowingStateLoss(Landroid/app/FragmentManager;Ljava/lang/String;)V -Landroid/app/DownloadManager$Request;->mUri:Landroid/net/Uri; -Landroid/app/DownloadManager;->setAccessFilename(Z)V -Landroid/app/Fragment;->mChildFragmentManager:Landroid/app/FragmentManagerImpl; -Landroid/app/Fragment;->mWho:Ljava/lang/String; -Landroid/app/FragmentManagerImpl;->mAdded:Ljava/util/ArrayList; -Landroid/app/FragmentManagerImpl;->mStateSaved:Z -Landroid/app/FragmentManagerImpl;->noteStateNotSaved()V -Landroid/app/IActivityController$Stub;-><init>()V -Landroid/app/IActivityManager$Stub$Proxy;->getConfiguration()Landroid/content/res/Configuration; -Landroid/app/IActivityManager$Stub$Proxy;->getLaunchedFromUid(Landroid/os/IBinder;)I -Landroid/app/IActivityManager$Stub$Proxy;->getProcessLimit()I -Landroid/app/IActivityManager$Stub$Proxy;->getProcessPss([I)[J -Landroid/app/IActivityManager$Stub$Proxy;->isAppForeground(I)Z -Landroid/app/IActivityManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/app/IActivityManager;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I -Landroid/app/IActivityManager;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I -Landroid/app/IActivityManager;->cancelRecentsAnimation(Z)V -Landroid/app/IActivityManager;->cancelTaskWindowTransition(I)V -Landroid/app/IActivityManager;->closeSystemDialogs(Ljava/lang/String;)V -Landroid/app/IActivityManager;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z -Landroid/app/IActivityManager;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V -Landroid/app/IActivityManager;->forceStopPackage(Ljava/lang/String;I)V -Landroid/app/IActivityManager;->getConfiguration()Landroid/content/res/Configuration; -Landroid/app/IActivityManager;->getCurrentUser()Landroid/content/pm/UserInfo; -Landroid/app/IActivityManager;->getFilteredTasks(III)Ljava/util/List; -Landroid/app/IActivityManager;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender; -Landroid/app/IActivityManager;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String; -Landroid/app/IActivityManager;->getLockTaskModeState()I -Landroid/app/IActivityManager;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo; -Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String; -Landroid/app/IActivityManager;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice; -Landroid/app/IActivityManager;->getRunningAppProcesses()Ljava/util/List; -Landroid/app/IActivityManager;->getTaskForActivity(Landroid/os/IBinder;Z)I -Landroid/app/IActivityManager;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot; -Landroid/app/IActivityManager;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z -Landroid/app/IActivityManager;->moveTaskToFront(IILandroid/os/Bundle;)V -Landroid/app/IActivityManager;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V -Landroid/app/IActivityManager;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V -Landroid/app/IActivityManager;->removeTask(I)Z -Landroid/app/IActivityManager;->requestBugReport(I)V -Landroid/app/IActivityManager;->resumeAppSwitches()V -Landroid/app/IActivityManager;->setActivityController(Landroid/app/IActivityController;Z)V -Landroid/app/IActivityManager;->setRequestedOrientation(Landroid/os/IBinder;I)V -Landroid/app/IActivityManager;->setTaskResizeable(II)V -Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I -Landroid/app/IActivityManager;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I -Landroid/app/IActivityManager;->startActivityFromRecents(ILandroid/os/Bundle;)I -Landroid/app/IActivityManager;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V -Landroid/app/IActivityManager;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I -Landroid/app/IActivityManager;->unbindService(Landroid/app/IServiceConnection;)Z -Landroid/app/IActivityManager;->unstableProviderDied(Landroid/os/IBinder;)V -Landroid/app/IAlarmManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/IAlarmManager$Stub;->TRANSACTION_remove:I -Landroid/app/IAlarmManager$Stub;->TRANSACTION_set:I -Landroid/app/IAlarmManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmManager; -Landroid/app/IAlarmManager;->setTime(J)Z -Landroid/app/IAppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo; -Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V -Landroid/app/IAssistDataReceiver$Stub;-><init>()V -Landroid/app/IAssistDataReceiver;->onHandleAssistData(Landroid/os/Bundle;)V -Landroid/app/IAssistDataReceiver;->onHandleAssistScreenshot(Landroid/graphics/Bitmap;)V -Landroid/app/INotificationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/INotificationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/INotificationManager; -Landroid/app/INotificationManager;->cancelAllNotifications(Ljava/lang/String;I)V -Landroid/app/INotificationManager;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V -Landroid/app/INotificationManager;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V -Landroid/app/INotificationManager;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;I)V -Landroid/app/IProcessObserver$Stub;-><init>()V -Landroid/app/ISearchManager$Stub$Proxy;->getGlobalSearchActivity()Landroid/content/ComponentName; -Landroid/app/ISearchManager$Stub$Proxy;->getWebSearchActivity()Landroid/content/ComponentName; -Landroid/app/ISearchManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ISearchManager; -Landroid/app/IServiceConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/IServiceConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/app/IServiceConnection$Stub;-><init>()V -Landroid/app/IServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IServiceConnection; -Landroid/app/IStopUserCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/IStopUserCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/app/IStopUserCallback$Stub;-><init>()V -Landroid/app/IStopUserCallback;->userStopped(I)V -Landroid/app/IUiModeManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/IWallpaperManager;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor; -Landroid/app/Instrumentation;->execStartActivities(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;)V -Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult; -Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult; -Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult; -Landroid/app/IntentService;->mServiceHandler:Landroid/app/IntentService$ServiceHandler; -Landroid/app/KeyguardManager;->dismissKeyguard(Landroid/app/Activity;Landroid/app/KeyguardManager$KeyguardDismissCallback;Landroid/os/Handler;)V -Landroid/app/KeyguardManager;->isDeviceLocked(I)Z -Landroid/app/LoadedApk$ReceiverDispatcher;->getIIntentReceiver()Landroid/content/IIntentReceiver; -Landroid/app/LoadedApk$ReceiverDispatcher;->getIntentReceiver()Landroid/content/BroadcastReceiver; -Landroid/app/LoadedApk$ReceiverDispatcher;->mContext:Landroid/content/Context; -Landroid/app/LoadedApk$ReceiverDispatcher;->mReceiver:Landroid/content/BroadcastReceiver; -Landroid/app/LoadedApk$ServiceDispatcher$InnerConnection;->mDispatcher:Ljava/lang/ref/WeakReference; -Landroid/app/LoadedApk$ServiceDispatcher;-><init>(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;I)V -Landroid/app/LoadedApk$ServiceDispatcher;->getIServiceConnection()Landroid/app/IServiceConnection; -Landroid/app/LoadedApk$ServiceDispatcher;->mConnection:Landroid/content/ServiceConnection; -Landroid/app/LoadedApk$ServiceDispatcher;->mContext:Landroid/content/Context; -Landroid/app/LoadedApk;->getAssets()Landroid/content/res/AssetManager; -Landroid/app/LoadedApk;->getClassLoader()Ljava/lang/ClassLoader; -Landroid/app/LoadedApk;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; -Landroid/app/LoadedApk;->getDataDirFile()Ljava/io/File; -Landroid/app/LoadedApk;->getResources()Landroid/content/res/Resources; -Landroid/app/LoadedApk;->mActivityThread:Landroid/app/ActivityThread; -Landroid/app/LoadedApk;->mAppDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mApplication:Landroid/app/Application; -Landroid/app/LoadedApk;->mApplicationInfo:Landroid/content/pm/ApplicationInfo; -Landroid/app/LoadedApk;->mBaseClassLoader:Ljava/lang/ClassLoader; -Landroid/app/LoadedApk;->mClassLoader:Ljava/lang/ClassLoader; -Landroid/app/LoadedApk;->mDataDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mDataDirFile:Ljava/io/File; -Landroid/app/LoadedApk;->mDisplayAdjustments:Landroid/view/DisplayAdjustments; -Landroid/app/LoadedApk;->mLibDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mPackageName:Ljava/lang/String; -Landroid/app/LoadedApk;->mReceivers:Landroid/util/ArrayMap; -Landroid/app/LoadedApk;->mResDir:Ljava/lang/String; -Landroid/app/LoadedApk;->mResources:Landroid/content/res/Resources; -Landroid/app/LoadedApk;->mServices:Landroid/util/ArrayMap; -Landroid/app/LoadedApk;->mSplitResDirs:[Ljava/lang/String; -Landroid/app/LoadedApk;->makeApplication(ZLandroid/app/Instrumentation;)Landroid/app/Application; -Landroid/app/LoadedApk;->rewriteRValues(Ljava/lang/ClassLoader;Ljava/lang/String;I)V -Landroid/app/LocalActivityManager;->mActivities:Ljava/util/Map; -Landroid/app/LocalActivityManager;->mActivityArray:Ljava/util/ArrayList; -Landroid/app/LocalActivityManager;->mParent:Landroid/app/Activity; -Landroid/app/LocalActivityManager;->mResumed:Landroid/app/LocalActivityManager$LocalActivityRecord; -Landroid/app/LocalActivityManager;->mSingleMode:Z -Landroid/app/NativeActivity;->hideIme(I)V -Landroid/app/NativeActivity;->setWindowFlags(II)V -Landroid/app/NativeActivity;->setWindowFormat(I)V -Landroid/app/NativeActivity;->showIme(I)V -Landroid/app/Notification$Action;->mIcon:Landroid/graphics/drawable/Icon; -Landroid/app/Notification$Builder;->mActions:Ljava/util/ArrayList; -Landroid/app/Notification$Builder;->makePublicContentView()Landroid/widget/RemoteViews; -Landroid/app/Notification$Builder;->setChannel(Ljava/lang/String;)Landroid/app/Notification$Builder; -Landroid/app/Notification$Builder;->setTimeout(J)Landroid/app/Notification$Builder; -Landroid/app/Notification$TvExtender;->getChannel()Ljava/lang/String; -Landroid/app/Notification;-><init>(Landroid/content/Context;ILjava/lang/CharSequence;JLjava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/content/Intent;)V -Landroid/app/Notification;->getChannel()Ljava/lang/String; -Landroid/app/Notification;->getNotificationStyleClass(Ljava/lang/String;)Ljava/lang/Class; -Landroid/app/Notification;->getTimeout()J -Landroid/app/Notification;->isGroupSummary()Z -Landroid/app/Notification;->mChannelId:Ljava/lang/String; -Landroid/app/Notification;->mGroupKey:Ljava/lang/String; -Landroid/app/Notification;->mLargeIcon:Landroid/graphics/drawable/Icon; -Landroid/app/Notification;->mSmallIcon:Landroid/graphics/drawable/Icon; -Landroid/app/Notification;->setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V -Landroid/app/Notification;->setSmallIcon(Landroid/graphics/drawable/Icon;)V -Landroid/app/NotificationManager;->cancelAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)V -Landroid/app/NotificationManager;->getService()Landroid/app/INotificationManager; -Landroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V -Landroid/app/NotificationManager;->sService:Landroid/app/INotificationManager; -Landroid/app/PendingIntent;->getActivityAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent; -Landroid/app/PendingIntent;->getIntent()Landroid/content/Intent; -Landroid/app/PendingIntent;->isActivity()Z -Landroid/app/PictureInPictureArgs$Builder; -Landroid/app/PictureInPictureArgs$Builder;-><init>()V -Landroid/app/PictureInPictureArgs$Builder;->build()Landroid/app/PictureInPictureArgs; -Landroid/app/PictureInPictureArgs$Builder;->setActions(Ljava/util/List;)Landroid/app/PictureInPictureArgs$Builder; -Landroid/app/PictureInPictureArgs$Builder;->setAspectRatio(Landroid/util/Rational;)Landroid/app/PictureInPictureArgs$Builder; -Landroid/app/PictureInPictureArgs$Builder;->setSourceRectHint(Landroid/graphics/Rect;)Landroid/app/PictureInPictureArgs$Builder; -Landroid/app/PictureInPictureArgs; -Landroid/app/PictureInPictureArgs;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/app/PictureInPictureArgs;->convert(Landroid/app/PictureInPictureArgs;)Landroid/app/PictureInPictureParams; -Landroid/app/PictureInPictureArgs;->convert(Landroid/app/PictureInPictureParams;)Landroid/app/PictureInPictureArgs; -Landroid/app/PictureInPictureParams;->getAspectRatio()F -Landroid/app/Presentation;->createPresentationContext(Landroid/content/Context;Landroid/view/Display;I)Landroid/content/Context; -Landroid/app/ProgressDialog;->mProgressNumber:Landroid/widget/TextView; -Landroid/app/QueuedWork;->addFinisher(Ljava/lang/Runnable;)V -Landroid/app/QueuedWork;->removeFinisher(Ljava/lang/Runnable;)V -Landroid/app/QueuedWork;->sFinishers:Ljava/util/LinkedList; -Landroid/app/ResourcesManager;->appendLibAssetForMainAssetPath(Ljava/lang/String;Ljava/lang/String;)V -Landroid/app/ResourcesManager;->getInstance()Landroid/app/ResourcesManager; -Landroid/app/ResourcesManager;->mActivityResourceReferences:Ljava/util/WeakHashMap; -Landroid/app/ResourcesManager;->mResConfiguration:Landroid/content/res/Configuration; -Landroid/app/ResourcesManager;->mResourceImpls:Landroid/util/ArrayMap; -Landroid/app/ResourcesManager;->mResourceReferences:Ljava/util/ArrayList; -Landroid/app/ResultInfo;->mData:Landroid/content/Intent; -Landroid/app/ResultInfo;->mResultWho:Ljava/lang/String; -Landroid/app/Service;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Ljava/lang/String;Landroid/os/IBinder;Landroid/app/Application;Ljava/lang/Object;)V -Landroid/app/Service;->mActivityManager:Landroid/app/IActivityManager; -Landroid/app/Service;->mApplication:Landroid/app/Application; -Landroid/app/Service;->mClassName:Ljava/lang/String; -Landroid/app/Service;->mStartCompatibility:Z -Landroid/app/Service;->mThread:Landroid/app/ActivityThread; -Landroid/app/Service;->mToken:Landroid/os/IBinder; -Landroid/app/Service;->setForeground(Z)V -Landroid/app/SharedPreferencesImpl;-><init>(Ljava/io/File;I)V -Landroid/app/SharedPreferencesImpl;->mFile:Ljava/io/File; -Landroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V -Landroid/app/StatusBarManager;->collapsePanels()V -Landroid/app/StatusBarManager;->disable(I)V -Landroid/app/StatusBarManager;->expandNotificationsPanel()V -Landroid/app/StatusBarManager;->expandSettingsPanel()V -Landroid/app/StatusBarManager;->expandSettingsPanel(Ljava/lang/String;)V -Landroid/app/StatusBarManager;->getService()Lcom/android/internal/statusbar/IStatusBarService; -Landroid/app/StatusBarManager;->removeIcon(Ljava/lang/String;)V -Landroid/app/StatusBarManager;->setIcon(Ljava/lang/String;IILjava/lang/String;)V -Landroid/app/TaskStackListener;-><init>()V -Landroid/app/TaskStackListener;->onActivityDismissingDockedStack()V -Landroid/app/TaskStackListener;->onActivityForcedResizable(Ljava/lang/String;II)V -Landroid/app/TaskStackListener;->onActivityLaunchOnSecondaryDisplayFailed()V -Landroid/app/TaskStackListener;->onActivityPinned(Ljava/lang/String;III)V -Landroid/app/TaskStackListener;->onActivityRequestedOrientationChanged(II)V -Landroid/app/TaskStackListener;->onActivityUnpinned()V -Landroid/app/TaskStackListener;->onPinnedActivityRestartAttempt(Z)V -Landroid/app/TaskStackListener;->onPinnedStackAnimationEnded()V -Landroid/app/TaskStackListener;->onPinnedStackAnimationStarted()V -Landroid/app/TaskStackListener;->onTaskMovedToFront(I)V -Landroid/app/TaskStackListener;->onTaskProfileLocked(II)V -Landroid/app/TaskStackListener;->onTaskRemoved(I)V -Landroid/app/TaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V -Landroid/app/TaskStackListener;->onTaskStackChanged()V -Landroid/app/TimePickerDialog;->mTimePicker:Landroid/widget/TimePicker; -Landroid/app/Vr2dDisplayProperties$Builder;-><init>()V -Landroid/app/Vr2dDisplayProperties$Builder;->build()Landroid/app/Vr2dDisplayProperties; -Landroid/app/Vr2dDisplayProperties$Builder;->setEnabled(Z)Landroid/app/Vr2dDisplayProperties$Builder; -Landroid/app/Vr2dDisplayProperties;-><init>(III)V -Landroid/app/VrManager;->getPersistentVrModeEnabled()Z -Landroid/app/VrManager;->mService:Landroid/service/vr/IVrManager; -Landroid/app/VrManager;->registerVrStateCallback(Landroid/app/VrStateCallback;Landroid/os/Handler;)V -Landroid/app/VrManager;->setVr2dDisplayProperties(Landroid/app/Vr2dDisplayProperties;)V -Landroid/app/VrManager;->unregisterVrStateCallback(Landroid/app/VrStateCallback;)V -Landroid/app/VrStateCallback;-><init>()V -Landroid/app/VrStateCallback;->onPersistentVrStateChanged(Z)V -Landroid/app/WallpaperColors;-><init>(Landroid/graphics/Color;Landroid/graphics/Color;Landroid/graphics/Color;I)V -Landroid/app/WallpaperColors;->getColorHints()I -Landroid/app/WallpaperManager;->getBitmap()Landroid/graphics/Bitmap; -Landroid/app/WallpaperManager;->getBitmap(Z)Landroid/graphics/Bitmap; -Landroid/app/WallpaperManager;->getIWallpaperManager()Landroid/app/IWallpaperManager; -Landroid/app/WallpaperManager;->openDefaultWallpaper(Landroid/content/Context;I)Ljava/io/InputStream; -Landroid/app/WallpaperManager;->sGlobals:Landroid/app/WallpaperManager$Globals; -Landroid/app/WallpaperManager;->setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;ZII)I -Landroid/app/admin/DevicePolicyManager;->createAndInitializeUser(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;)Landroid/os/UserHandle; -Landroid/app/admin/DevicePolicyManager;->createUser(Landroid/content/ComponentName;Ljava/lang/String;)Landroid/os/UserHandle; -Landroid/app/admin/DevicePolicyManager;->getDeviceInitializerApp()Ljava/lang/String; -Landroid/app/admin/DevicePolicyManager;->getDeviceInitializerComponent()Landroid/content/ComponentName; -Landroid/app/admin/DevicePolicyManager;->getMandatoryBackupTransport()Landroid/content/ComponentName; -Landroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(I)Landroid/content/ComponentName; -Landroid/app/admin/DevicePolicyManager;->getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;I)Ljava/util/List; -Landroid/app/admin/DevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;I)Z -Landroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;Z)V -Landroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;ZI)V -Landroid/app/admin/DevicePolicyManager;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V -Landroid/app/admin/DevicePolicyManager;->throwIfParentInstance(Ljava/lang/String;)V -Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_packageHasActiveAdmins:I -Landroid/app/admin/IDevicePolicyManager$Stub;->TRANSACTION_removeActiveAdmin:I -Landroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager; -Landroid/app/admin/SecurityLog$SecurityEvent;-><init>([B)V -Landroid/app/backup/BackupDataInput$EntityHeader;->dataSize:I -Landroid/app/backup/BackupDataInput$EntityHeader;->key:Ljava/lang/String; -Landroid/app/backup/BackupDataInputStream;->dataSize:I -Landroid/app/backup/BackupDataInputStream;->key:Ljava/lang/String; -Landroid/app/backup/BackupDataOutput;->mBackupWriter:J -Landroid/app/backup/BackupHelperDispatcher$Header;->chunkSize:I -Landroid/app/backup/BackupHelperDispatcher$Header;->keyPrefix:Ljava/lang/String; -Landroid/app/backup/FileBackupHelperBase;->writeNewStateDescription(Landroid/os/ParcelFileDescriptor;)V -Landroid/app/backup/FullBackup;->backupToTar(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/backup/FullBackupDataOutput;)I -Landroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;)V -Landroid/app/backup/FullBackupDataOutput;->addSize(J)V -Landroid/app/backup/FullBackupDataOutput;->mData:Landroid/app/backup/BackupDataOutput; -Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager; -Landroid/app/job/IJobCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/job/IJobCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/app/job/IJobCallback$Stub;-><init>()V -Landroid/app/job/IJobCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobCallback; -Landroid/app/job/IJobCallback;->acknowledgeStartMessage(IZ)V -Landroid/app/job/IJobCallback;->acknowledgeStopMessage(IZ)V -Landroid/app/job/IJobCallback;->jobFinished(IZ)V -Landroid/app/job/IJobScheduler$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/job/IJobScheduler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobScheduler; -Landroid/app/job/IJobService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/job/IJobService$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/app/job/IJobService$Stub;-><init>()V -Landroid/app/job/IJobService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobService; -Landroid/app/job/IJobService;->startJob(Landroid/app/job/JobParameters;)V -Landroid/app/job/IJobService;->stopJob(Landroid/app/job/JobParameters;)V -Landroid/app/job/JobInfo$Builder;->setEstimatedNetworkBytes(J)Landroid/app/job/JobInfo$Builder; -Landroid/app/job/JobInfo$Builder;->setIsPrefetch(Z)Landroid/app/job/JobInfo$Builder; -Landroid/app/job/JobInfo;->flags:I -Landroid/app/job/JobInfo;->getEstimatedNetworkBytes()J -Landroid/app/job/JobInfo;->jobId:I -Landroid/app/job/JobInfo;->service:Landroid/content/ComponentName; -Landroid/app/job/JobParameters;->callback:Landroid/os/IBinder; -Landroid/app/job/JobParameters;->jobId:I -Landroid/app/job/JobWorkItem;-><init>(Landroid/content/Intent;J)V -Landroid/app/job/JobWorkItem;->getEstimatedNetworkBytes()J -Landroid/app/slice/Slice$Builder;-><init>(Landroid/net/Uri;)V -Landroid/app/slice/Slice$Builder;->addTimestamp(JLjava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder; -Landroid/app/slice/Slice$Builder;->setSpec(Landroid/app/slice/SliceSpec;)Landroid/app/slice/Slice$Builder; -Landroid/app/slice/Slice;->EXTRA_SLIDER_VALUE:Ljava/lang/String; -Landroid/app/slice/Slice;->SUBTYPE_SLIDER:Ljava/lang/String; -Landroid/app/slice/SliceItem;->FORMAT_TIMESTAMP:Ljava/lang/String; -Landroid/app/slice/SliceItem;->getTimestamp()J -Landroid/app/slice/SliceManager;->bindSlice(Landroid/content/Intent;Ljava/util/List;)Landroid/app/slice/Slice; -Landroid/app/slice/SliceManager;->bindSlice(Landroid/net/Uri;Ljava/util/List;)Landroid/app/slice/Slice; -Landroid/app/slice/SliceManager;->pinSlice(Landroid/net/Uri;Ljava/util/List;)V -Landroid/app/slice/SliceProvider;->onBindSlice(Landroid/net/Uri;Ljava/util/List;)Landroid/app/slice/Slice; -Landroid/app/trust/ITrustManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/app/usage/StorageStats;->getCodeBytes()J -Landroid/app/usage/StorageStatsManager;->getFreeBytes(Ljava/lang/String;)J -Landroid/app/usage/StorageStatsManager;->getTotalBytes(Ljava/lang/String;)J -Landroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/lang/String;)Z -Landroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats; -Landroid/app/usage/StorageStatsManager;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats; -Landroid/app/usage/StorageStatsManager;->queryStatsForUid(Ljava/lang/String;I)Landroid/app/usage/StorageStats; -Landroid/app/usage/StorageStatsManager;->queryStatsForUser(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats; -Landroid/app/usage/UsageStats;->mLastEvent:I -Landroid/app/usage/UsageStats;->mLaunchCount:I -Landroid/app/usage/UsageStats;->mTotalTimeInForeground:J -Landroid/app/usage/UsageStatsManager;->mService:Landroid/app/usage/IUsageStatsManager; -Landroid/appwidget/AppWidgetHost;->sService:Lcom/android/internal/appwidget/IAppWidgetService; -Landroid/appwidget/AppWidgetManager;->bindAppWidgetId(ILandroid/content/ComponentName;)V -Landroid/appwidget/AppWidgetManager;->bindAppWidgetId(ILandroid/content/ComponentName;Landroid/os/Bundle;)V -Landroid/appwidget/AppWidgetManager;->bindAppWidgetIdIfAllowed(IILandroid/content/ComponentName;Landroid/os/Bundle;)Z -Landroid/appwidget/AppWidgetManager;->mService:Lcom/android/internal/appwidget/IAppWidgetService; -Landroid/appwidget/AppWidgetProviderInfo;->providerInfo:Landroid/content/pm/ActivityInfo; -Landroid/bluetooth/BluetoothA2dp;->ACTION_ACTIVE_DEVICE_CHANGED:Ljava/lang/String; -Landroid/bluetooth/BluetoothA2dp;->ACTION_CODEC_CONFIG_CHANGED:Ljava/lang/String; -Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_NOT_SUPPORTED:I -Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_PREF_DISABLED:I -Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_PREF_ENABLED:I -Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_PREF_UNKNOWN:I -Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_SUPPORTED:I -Landroid/bluetooth/BluetoothA2dp;->OPTIONAL_CODECS_SUPPORT_UNKNOWN:I -Landroid/bluetooth/BluetoothA2dp;->connect(Landroid/bluetooth/BluetoothDevice;)Z -Landroid/bluetooth/BluetoothA2dp;->disableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V -Landroid/bluetooth/BluetoothA2dp;->enableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V -Landroid/bluetooth/BluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice; -Landroid/bluetooth/BluetoothA2dp;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus; -Landroid/bluetooth/BluetoothA2dp;->getOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;)I -Landroid/bluetooth/BluetoothA2dp;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z -Landroid/bluetooth/BluetoothA2dp;->setCodecConfigPreference(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothCodecConfig;)V -Landroid/bluetooth/BluetoothA2dp;->setOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;I)V -Landroid/bluetooth/BluetoothA2dp;->supportsOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)I -Landroid/bluetooth/BluetoothAdapter;->disable(Z)Z -Landroid/bluetooth/BluetoothAdapter;->factoryReset()Z -Landroid/bluetooth/BluetoothAdapter;->getDiscoverableTimeout()I -Landroid/bluetooth/BluetoothAdapter;->getLeState()I -Landroid/bluetooth/BluetoothAdapter;->mService:Landroid/bluetooth/IBluetooth; -Landroid/bluetooth/BluetoothAdapter;->setScanMode(I)Z -Landroid/bluetooth/BluetoothAdapter;->setScanMode(II)Z -Landroid/bluetooth/BluetoothCodecConfig; -Landroid/bluetooth/BluetoothCodecConfig;-><init>(IIIIIJJJJ)V -Landroid/bluetooth/BluetoothCodecConfig;->BITS_PER_SAMPLE_16:I -Landroid/bluetooth/BluetoothCodecConfig;->BITS_PER_SAMPLE_24:I -Landroid/bluetooth/BluetoothCodecConfig;->BITS_PER_SAMPLE_32:I -Landroid/bluetooth/BluetoothCodecConfig;->BITS_PER_SAMPLE_NONE:I -Landroid/bluetooth/BluetoothCodecConfig;->CHANNEL_MODE_MONO:I -Landroid/bluetooth/BluetoothCodecConfig;->CHANNEL_MODE_NONE:I -Landroid/bluetooth/BluetoothCodecConfig;->CHANNEL_MODE_STEREO:I -Landroid/bluetooth/BluetoothCodecConfig;->CODEC_PRIORITY_DEFAULT:I -Landroid/bluetooth/BluetoothCodecConfig;->CODEC_PRIORITY_DISABLED:I -Landroid/bluetooth/BluetoothCodecConfig;->CODEC_PRIORITY_HIGHEST:I -Landroid/bluetooth/BluetoothCodecConfig;->SAMPLE_RATE_176400:I -Landroid/bluetooth/BluetoothCodecConfig;->SAMPLE_RATE_192000:I -Landroid/bluetooth/BluetoothCodecConfig;->SAMPLE_RATE_44100:I -Landroid/bluetooth/BluetoothCodecConfig;->SAMPLE_RATE_48000:I -Landroid/bluetooth/BluetoothCodecConfig;->SAMPLE_RATE_88200:I -Landroid/bluetooth/BluetoothCodecConfig;->SAMPLE_RATE_96000:I -Landroid/bluetooth/BluetoothCodecConfig;->SAMPLE_RATE_NONE:I -Landroid/bluetooth/BluetoothCodecConfig;->SOURCE_CODEC_TYPE_AAC:I -Landroid/bluetooth/BluetoothCodecConfig;->SOURCE_CODEC_TYPE_APTX:I -Landroid/bluetooth/BluetoothCodecConfig;->SOURCE_CODEC_TYPE_APTX_HD:I -Landroid/bluetooth/BluetoothCodecConfig;->SOURCE_CODEC_TYPE_INVALID:I -Landroid/bluetooth/BluetoothCodecConfig;->SOURCE_CODEC_TYPE_LDAC:I -Landroid/bluetooth/BluetoothCodecConfig;->SOURCE_CODEC_TYPE_MAX:I -Landroid/bluetooth/BluetoothCodecConfig;->SOURCE_CODEC_TYPE_SBC:I -Landroid/bluetooth/BluetoothCodecConfig;->getBitsPerSample()I -Landroid/bluetooth/BluetoothCodecConfig;->getChannelMode()I -Landroid/bluetooth/BluetoothCodecConfig;->getCodecPriority()I -Landroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific1()J -Landroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific2()J -Landroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific3()J -Landroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific4()J -Landroid/bluetooth/BluetoothCodecConfig;->getCodecType()I -Landroid/bluetooth/BluetoothCodecConfig;->getSampleRate()I -Landroid/bluetooth/BluetoothCodecConfig;->setCodecPriority(I)V -Landroid/bluetooth/BluetoothCodecStatus; -Landroid/bluetooth/BluetoothCodecStatus;->EXTRA_CODEC_STATUS:Ljava/lang/String; -Landroid/bluetooth/BluetoothCodecStatus;->getCodecConfig()Landroid/bluetooth/BluetoothCodecConfig; -Landroid/bluetooth/BluetoothCodecStatus;->getCodecsLocalCapabilities()[Landroid/bluetooth/BluetoothCodecConfig; -Landroid/bluetooth/BluetoothCodecStatus;->getCodecsSelectableCapabilities()[Landroid/bluetooth/BluetoothCodecConfig; -Landroid/bluetooth/BluetoothDevice;->createBond(I)Z -Landroid/bluetooth/BluetoothDevice;->getAlias()Ljava/lang/String; -Landroid/bluetooth/BluetoothDevice;->getAliasName()Ljava/lang/String; -Landroid/bluetooth/BluetoothGatt;->mAuthRetryState:I -Landroid/bluetooth/BluetoothGatt;->mClientIf:I -Landroid/bluetooth/BluetoothGatt;->refresh()Z -Landroid/bluetooth/BluetoothGattCharacteristic;->mInstance:I -Landroid/bluetooth/BluetoothGattCharacteristic;->mService:Landroid/bluetooth/BluetoothGattService; -Landroid/bluetooth/BluetoothGattDescriptor;->mCharacteristic:Landroid/bluetooth/BluetoothGattCharacteristic; -Landroid/bluetooth/BluetoothGattDescriptor;->mInstance:I -Landroid/bluetooth/BluetoothHeadset;->ACTION_ACTIVE_DEVICE_CHANGED:Ljava/lang/String; -Landroid/bluetooth/BluetoothHeadset;->close()V -Landroid/bluetooth/BluetoothHeadset;->connectAudio()Z -Landroid/bluetooth/BluetoothHeadset;->disconnectAudio()Z -Landroid/bluetooth/BluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice; -Landroid/bluetooth/BluetoothHeadset;->phoneStateChanged(IIILjava/lang/String;I)V -Landroid/bluetooth/BluetoothHeadset;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z -Landroid/bluetooth/BluetoothHeadset;->startScoUsingVirtualVoiceCall()Z -Landroid/bluetooth/BluetoothHeadset;->stopScoUsingVirtualVoiceCall()Z -Landroid/bluetooth/BluetoothHearingAid;->ACTION_ACTIVE_DEVICE_CHANGED:Ljava/lang/String; -Landroid/bluetooth/BluetoothHearingAid;->getActiveDevices()Ljava/util/List; -Landroid/bluetooth/BluetoothHearingAid;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z -Landroid/bluetooth/BluetoothMapClient;->sendMessage(Landroid/bluetooth/BluetoothDevice;[Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)Z -Landroid/bluetooth/BluetoothPan;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V -Landroid/bluetooth/BluetoothPan;->close()V -Landroid/bluetooth/BluetoothPan;->connect(Landroid/bluetooth/BluetoothDevice;)Z -Landroid/bluetooth/BluetoothPan;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z -Landroid/bluetooth/BluetoothPan;->doBind()Z -Landroid/bluetooth/BluetoothPan;->isEnabled()Z -Landroid/bluetooth/BluetoothPan;->isTetheringOn()Z -Landroid/bluetooth/BluetoothPan;->isValidDevice(Landroid/bluetooth/BluetoothDevice;)Z -Landroid/bluetooth/BluetoothPan;->log(Ljava/lang/String;)V -Landroid/bluetooth/BluetoothPan;->setBluetoothTethering(Z)V -Landroid/bluetooth/BluetoothProfile;->PAN:I -Landroid/bluetooth/BluetoothSocket;->mPfd:Landroid/os/ParcelFileDescriptor; -Landroid/bluetooth/BluetoothUuid;->RESERVED_UUIDS:[Landroid/os/ParcelUuid; -Landroid/bluetooth/IBluetooth$Stub$Proxy;->getAddress()Ljava/lang/String; -Landroid/bluetooth/IBluetooth$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I -Landroid/bluetooth/IBluetooth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetooth; -Landroid/bluetooth/IBluetooth;->getAddress()Ljava/lang/String; -Landroid/bluetooth/IBluetooth;->sendConnectionStateChange(Landroid/bluetooth/BluetoothDevice;III)V -Landroid/bluetooth/IBluetoothManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/bluetooth/IBluetoothManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothManager; -Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; -Landroid/companion/AssociationRequest;->getDeviceFilters()Ljava/util/List; -Landroid/companion/AssociationRequest;->isSingleDevice()Z -Landroid/companion/BluetoothDeviceFilter;->getAddress()Ljava/lang/String; -Landroid/companion/BluetoothDeviceFilterUtils;->getDeviceDisplayNameInternal(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String; -Landroid/companion/BluetoothDeviceFilterUtils;->getDeviceDisplayNameInternal(Landroid/net/wifi/ScanResult;)Ljava/lang/String; -Landroid/companion/BluetoothDeviceFilterUtils;->getDeviceMacAddress(Landroid/os/Parcelable;)Ljava/lang/String; -Landroid/companion/BluetoothLeDeviceFilter;->getScanFilter()Landroid/bluetooth/le/ScanFilter; -Landroid/companion/DeviceFilter;->getDeviceDisplayName(Landroid/os/Parcelable;)Ljava/lang/String; -Landroid/companion/DeviceFilter;->matches(Landroid/os/Parcelable;)Z -Landroid/companion/ICompanionDeviceDiscoveryService$Stub;-><init>()V -Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;->onDeviceSelected(Ljava/lang/String;ILjava/lang/String;)V -Landroid/companion/ICompanionDeviceDiscoveryServiceCallback;->onDeviceSelectionCancel()V -Landroid/companion/IFindDeviceCallback;->onSuccess(Landroid/app/PendingIntent;)V -Landroid/content/AsyncTaskLoader;->mExecutor:Ljava/util/concurrent/Executor; -Landroid/content/BroadcastReceiver$PendingResult;-><init>(ILjava/lang/String;Landroid/os/Bundle;IZZLandroid/os/IBinder;II)V -Landroid/content/BroadcastReceiver$PendingResult;->mAbortBroadcast:Z -Landroid/content/BroadcastReceiver$PendingResult;->mFinished:Z -Landroid/content/BroadcastReceiver$PendingResult;->mFlags:I -Landroid/content/BroadcastReceiver$PendingResult;->mInitialStickyHint:Z -Landroid/content/BroadcastReceiver$PendingResult;->mOrderedHint:Z -Landroid/content/BroadcastReceiver$PendingResult;->mResultCode:I -Landroid/content/BroadcastReceiver$PendingResult;->mResultData:Ljava/lang/String; -Landroid/content/BroadcastReceiver$PendingResult;->mResultExtras:Landroid/os/Bundle; -Landroid/content/BroadcastReceiver$PendingResult;->mSendingUser:I -Landroid/content/BroadcastReceiver$PendingResult;->mToken:Landroid/os/IBinder; -Landroid/content/BroadcastReceiver$PendingResult;->mType:I -Landroid/content/BroadcastReceiver;->getPendingResult()Landroid/content/BroadcastReceiver$PendingResult; -Landroid/content/BroadcastReceiver;->setPendingResult(Landroid/content/BroadcastReceiver$PendingResult;)V -Landroid/content/ClipData$Item;->mUri:Landroid/net/Uri; -Landroid/content/ClipData;->addItem(Landroid/content/ClipData$Item;Landroid/content/ContentResolver;)V -Landroid/content/ContentProvider;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;[Landroid/content/pm/PathPermission;)V -Landroid/content/ContentProvider;->attachInfoForTesting(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V -Landroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider; -Landroid/content/ContentProvider;->getIContentProvider()Landroid/content/IContentProvider; -Landroid/content/ContentProvider;->mContext:Landroid/content/Context; -Landroid/content/ContentProvider;->mPathPermissions:[Landroid/content/pm/PathPermission; -Landroid/content/ContentProvider;->mReadPermission:Ljava/lang/String; -Landroid/content/ContentProvider;->mWritePermission:Ljava/lang/String; -Landroid/content/ContentProvider;->setAppOps(II)V -Landroid/content/ContentProviderClient;->mContentProvider:Landroid/content/IContentProvider; -Landroid/content/ContentProviderClient;->mPackageName:Ljava/lang/String; -Landroid/content/ContentProviderOperation;->TYPE_DELETE:I -Landroid/content/ContentProviderOperation;->TYPE_INSERT:I -Landroid/content/ContentProviderOperation;->TYPE_UPDATE:I -Landroid/content/ContentProviderOperation;->mSelection:Ljava/lang/String; -Landroid/content/ContentProviderOperation;->mType:I -Landroid/content/ContentProviderOperation;->mUri:Landroid/net/Uri; -Landroid/content/ContentResolver;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider; -Landroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider; -Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider; -Landroid/content/ContentResolver;->acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider; -Landroid/content/ContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider; -Landroid/content/ContentResolver;->getContentService()Landroid/content/IContentService; -Landroid/content/ContentResolver;->getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncStatusInfo; -Landroid/content/ContentResolver;->mContext:Landroid/content/Context; -Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String; -Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V -Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z -Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z -Landroid/content/ContentResolver;->takePersistableUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V -Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V -Landroid/content/ContentValues;-><init>(Ljava/util/HashMap;)V -Landroid/content/ContentValues;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList; -Landroid/content/ContentValues;->mValues:Ljava/util/HashMap; -Landroid/content/ContentValues;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V -Landroid/content/Context;->getBasePackageName()Ljava/lang/String; -Landroid/content/Context;->getOpPackageName()Ljava/lang/String; -Landroid/content/Context;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences; -Landroid/content/Context;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File; -Landroid/content/Context;->getSharedPrefsFile(Ljava/lang/String;)Ljava/io/File; -Landroid/content/Context;->getThemeResId()I -Landroid/content/Context;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent; -Landroid/content/Context;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;I)V -Landroid/content/Context;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V -Landroid/content/Context;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V -Landroid/content/Context;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V -Landroid/content/Context;->startServiceAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/ComponentName; -Landroid/content/ContextWrapper;->getDisplay()Landroid/view/Display; -Landroid/content/ContextWrapper;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences; -Landroid/content/ContextWrapper;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File; -Landroid/content/ContextWrapper;->getThemeResId()I -Landroid/content/ContextWrapper;->mBase:Landroid/content/Context; -Landroid/content/CursorLoader;->mCancellationSignal:Landroid/os/CancellationSignal; -Landroid/content/CursorLoader;->mObserver:Landroid/content/Loader$ForceLoadContentObserver; -Landroid/content/IClipboard$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/IClipboard$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IClipboard; -Landroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle; -Landroid/content/IContentService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/IContentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IContentService; -Landroid/content/IContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V -Landroid/content/IContentService;->getMasterSyncAutomatically()Z -Landroid/content/IContentService;->setMasterSyncAutomatically(Z)V -Landroid/content/IIntentReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/IIntentReceiver$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/IIntentReceiver$Stub;-><init>()V -Landroid/content/IIntentReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V -Landroid/content/IRestrictionsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IRestrictionsManager; -Landroid/content/ISyncAdapter$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/ISyncAdapter$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/ISyncContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/ISyncContext$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/ISyncContext$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncContext; -Landroid/content/ISyncStatusObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/ISyncStatusObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/Intent;->ACTION_ALARM_CHANGED:Ljava/lang/String; -Landroid/content/Intent;->ACTION_DEVICE_INITIALIZATION_WIZARD:Ljava/lang/String; -Landroid/content/Intent;->ACTION_MASTER_CLEAR:Ljava/lang/String; -Landroid/content/Intent;->ACTION_SERVICE_STATE:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_CDMA_DEFAULT_ROAMING_INDICATOR:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_CDMA_ROAMING_INDICATOR:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_CSS_INDICATOR:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_DATA_OPERATOR_ALPHA_LONG:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_DATA_OPERATOR_ALPHA_SHORT:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_DATA_OPERATOR_NUMERIC:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_DATA_RADIO_TECH:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_DATA_REG_STATE:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_DATA_ROAMING_TYPE:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_EMERGENCY_ONLY:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_IS_DATA_ROAMING_FROM_REGISTRATION:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_IS_USING_CARRIER_AGGREGATION:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_LTE_EARFCN_RSRP_BOOST:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_MANUAL:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_NETWORK_ID:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_OPERATOR_ALPHA_LONG:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_OPERATOR_ALPHA_SHORT:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_OPERATOR_NUMERIC:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_QUICK_VIEW_ADVANCED:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_SYSTEM_ID:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_VOICE_RADIO_TECH:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_VOICE_REG_STATE:Ljava/lang/String; -Landroid/content/Intent;->EXTRA_VOICE_ROAMING_TYPE:Ljava/lang/String; -Landroid/content/Intent;->getExtra(Ljava/lang/String;)Ljava/lang/Object; -Landroid/content/Intent;->getIBinderExtra(Ljava/lang/String;)Landroid/os/IBinder; -Landroid/content/Intent;->mExtras:Landroid/os/Bundle; -Landroid/content/Intent;->prepareToLeaveProcess(Landroid/content/Context;)V -Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/IBinder;)Landroid/content/Intent; -Landroid/content/Intent;->resolveSystemService(Landroid/content/pm/PackageManager;I)Landroid/content/ComponentName; -Landroid/content/Intent;->setAllowFds(Z)V -Landroid/content/Intent;->toInsecureString()Ljava/lang/String; -Landroid/content/IntentFilter;->mActions:Ljava/util/ArrayList; -Landroid/content/IntentSender;-><init>(Landroid/content/IIntentSender;)V -Landroid/content/IntentSender;->mTarget:Landroid/content/IIntentSender; -Landroid/content/RestrictionsManager;->mService:Landroid/content/IRestrictionsManager; -Landroid/content/SearchRecentSuggestionsProvider;->mSuggestionProjection:[Ljava/lang/String; -Landroid/content/SyncAdapterType;->allowParallelSyncs:Z -Landroid/content/SyncAdapterType;->isAlwaysSyncable:Z -Landroid/content/SyncAdapterType;->settingsActivity:Ljava/lang/String; -Landroid/content/SyncContext;->setStatusText(Ljava/lang/String;)V -Landroid/content/SyncInfo;-><init>(ILandroid/accounts/Account;Ljava/lang/String;J)V -Landroid/content/SyncRequest;->mAccountToSync:Landroid/accounts/Account; -Landroid/content/SyncRequest;->mAuthority:Ljava/lang/String; -Landroid/content/SyncRequest;->mExtras:Landroid/os/Bundle; -Landroid/content/SyncRequest;->mIsPeriodic:Z -Landroid/content/SyncRequest;->mSyncRunTimeSecs:J -Landroid/content/SyncStatusInfo;-><init>(Landroid/os/Parcel;)V -Landroid/content/SyncStatusInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/content/SyncStatusInfo;->authorityId:I -Landroid/content/SyncStatusInfo;->ensurePeriodicSyncTimeSize(I)V -Landroid/content/SyncStatusInfo;->initialFailureTime:J -Landroid/content/SyncStatusInfo;->initialize:Z -Landroid/content/SyncStatusInfo;->lastFailureMesg:Ljava/lang/String; -Landroid/content/SyncStatusInfo;->lastFailureSource:I -Landroid/content/SyncStatusInfo;->lastFailureTime:J -Landroid/content/SyncStatusInfo;->lastSuccessSource:I -Landroid/content/SyncStatusInfo;->lastSuccessTime:J -Landroid/content/SyncStatusInfo;->pending:Z -Landroid/content/SyncStatusInfo;->periodicSyncTimes:Ljava/util/ArrayList; -Landroid/content/UriMatcher;->mChildren:Ljava/util/ArrayList; -Landroid/content/UriMatcher;->mText:Ljava/lang/String; -Landroid/content/pm/ActivityInfo;->isResizeableMode(I)Z -Landroid/content/pm/ActivityInfo;->resizeMode:I -Landroid/content/pm/ActivityInfo;->supportsPictureInPicture()Z -Landroid/content/pm/ApplicationInfo;->enabledSetting:I -Landroid/content/pm/ApplicationInfo;->getBaseResourcePath()Ljava/lang/String; -Landroid/content/pm/ApplicationInfo;->installLocation:I -Landroid/content/pm/ApplicationInfo;->isForwardLocked()Z -Landroid/content/pm/ApplicationInfo;->primaryCpuAbi:Ljava/lang/String; -Landroid/content/pm/ApplicationInfo;->privateFlags:I -Landroid/content/pm/ApplicationInfo;->scanPublicSourceDir:Ljava/lang/String; -Landroid/content/pm/ApplicationInfo;->scanSourceDir:Ljava/lang/String; -Landroid/content/pm/ApplicationInfo;->secondaryCpuAbi:Ljava/lang/String; -Landroid/content/pm/ApplicationInfo;->secondaryNativeLibraryDir:Ljava/lang/String; -Landroid/content/pm/ApplicationInfo;->versionCode:I -Landroid/content/pm/ApplicationInfo;->volumeUuid:Ljava/lang/String; -Landroid/content/pm/ComponentInfo;->encryptionAware:Z -Landroid/content/pm/ComponentInfo;->getComponentName()Landroid/content/ComponentName; -Landroid/content/pm/IPackageDataObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/pm/IPackageDataObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/pm/IPackageDataObserver$Stub;-><init>()V -Landroid/content/pm/IPackageDataObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageDataObserver; -Landroid/content/pm/IPackageDataObserver;->onRemoveCompleted(Ljava/lang/String;Z)V -Landroid/content/pm/IPackageDeleteObserver$Stub;-><init>()V -Landroid/content/pm/IPackageDeleteObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageDeleteObserver; -Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/pm/IPackageDeleteObserver2$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/pm/IPackageDeleteObserver2;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V -Landroid/content/pm/IPackageDeleteObserver;->packageDeleted(Ljava/lang/String;I)V -Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/pm/IPackageInstallObserver2$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/pm/IPackageInstallObserver2$Stub;-><init>()V -Landroid/content/pm/IPackageInstallObserver2;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V -Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/pm/IPackageInstallerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstallerCallback; -Landroid/content/pm/IPackageInstallerCallback;->onSessionActiveChanged(IZ)V -Landroid/content/pm/IPackageInstallerCallback;->onSessionBadgingChanged(I)V -Landroid/content/pm/IPackageInstallerCallback;->onSessionCreated(I)V -Landroid/content/pm/IPackageInstallerCallback;->onSessionFinished(IZ)V -Landroid/content/pm/IPackageInstallerCallback;->onSessionProgressChanged(IF)V -Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/pm/IPackageInstallerSession$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/pm/IPackageInstallerSession$Stub;-><init>()V -Landroid/content/pm/IPackageInstallerSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstallerSession; -Landroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice; -Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo; -Landroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesForUid(I)[Ljava/lang/String; -Landroid/content/pm/IPackageManager$Stub$Proxy;->getSystemSharedLibraryNames()[Ljava/lang/String; -Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager; -Landroid/content/pm/IPackageManager;->addPermission(Landroid/content/pm/PermissionInfo;)Z -Landroid/content/pm/IPackageManager;->addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z -Landroid/content/pm/IPackageManager;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo; -Landroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo; -Landroid/content/pm/IPackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I -Landroid/content/pm/IPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName; -Landroid/content/pm/IPackageManager;->getInstallLocation()I -Landroid/content/pm/IPackageManager;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice; -Landroid/content/pm/IPackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String; -Landroid/content/pm/IPackageManager;->getLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;I)Landroid/content/pm/ResolveInfo; -Landroid/content/pm/IPackageManager;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo; -Landroid/content/pm/IPackageManager;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo; -Landroid/content/pm/IPackageManager;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo; -Landroid/content/pm/IPackageManager;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo; -Landroid/content/pm/IPackageManager;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V -Landroid/content/pm/IPackageManager;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V -Landroid/content/pm/IPackageManager;->setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V -Landroid/content/pm/IPackageManager;->setLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/IntentFilter;ILandroid/content/ComponentName;)V -Landroid/content/pm/IPackageMoveObserver$Stub;-><init>()V -Landroid/content/pm/IPackageMoveObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageMoveObserver; -Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/pm/IPackageStatsObserver$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/content/pm/IPackageStatsObserver$Stub;-><init>()V -Landroid/content/pm/IPackageStatsObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageStatsObserver; -Landroid/content/pm/IPackageStatsObserver;->onGetStatsCompleted(Landroid/content/pm/PackageStats;Z)V -Landroid/content/pm/IShortcutService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/content/pm/IShortcutService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IShortcutService; -Landroid/content/pm/LauncherActivityInfo;->mActivityInfo:Landroid/content/pm/ActivityInfo; -Landroid/content/pm/LauncherApps;->mPm:Landroid/content/pm/PackageManager; -Landroid/content/pm/LauncherApps;->startShortcut(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;I)V -Landroid/content/pm/PackageInfo;->INSTALL_LOCATION_UNSPECIFIED:I -Landroid/content/pm/PackageInfo;->REQUESTED_PERMISSION_REQUIRED:I -Landroid/content/pm/PackageInstaller$SessionInfo;-><init>()V -Landroid/content/pm/PackageInstaller$SessionInfo;->active:Z -Landroid/content/pm/PackageInstaller$SessionInfo;->appIcon:Landroid/graphics/Bitmap; -Landroid/content/pm/PackageInstaller$SessionInfo;->appLabel:Ljava/lang/CharSequence; -Landroid/content/pm/PackageInstaller$SessionInfo;->appPackageName:Ljava/lang/String; -Landroid/content/pm/PackageInstaller$SessionInfo;->installerPackageName:Ljava/lang/String; -Landroid/content/pm/PackageInstaller$SessionInfo;->mode:I -Landroid/content/pm/PackageInstaller$SessionInfo;->progress:F -Landroid/content/pm/PackageInstaller$SessionInfo;->resolvedBaseCodePath:Ljava/lang/String; -Landroid/content/pm/PackageInstaller$SessionInfo;->sealed:Z -Landroid/content/pm/PackageInstaller$SessionInfo;->sessionId:I -Landroid/content/pm/PackageInstaller$SessionInfo;->sizeBytes:J -Landroid/content/pm/PackageInstaller$SessionParams;->appIcon:Landroid/graphics/Bitmap; -Landroid/content/pm/PackageInstaller$SessionParams;->appLabel:Ljava/lang/String; -Landroid/content/pm/PackageInstaller$SessionParams;->appPackageName:Ljava/lang/String; -Landroid/content/pm/PackageInstaller$SessionParams;->installFlags:I -Landroid/content/pm/PackageInstaller$SessionParams;->mode:I -Landroid/content/pm/PackageInstaller$SessionParams;->sizeBytes:J -Landroid/content/pm/PackageItemInfo;->setForceSafeLabels(Z)V -Landroid/content/pm/PackageManager;->NO_NATIVE_LIBRARIES:I -Landroid/content/pm/PackageManager;->buildRequestPermissionsIntent([Ljava/lang/String;)Landroid/content/Intent; -Landroid/content/pm/PackageManager;->freeStorage(JLandroid/content/IntentSender;)V -Landroid/content/pm/PackageManager;->freeStorage(Ljava/lang/String;JLandroid/content/IntentSender;)V -Landroid/content/pm/PackageManager;->freeStorageAndNotify(JLandroid/content/pm/IPackageDataObserver;)V -Landroid/content/pm/PackageManager;->freeStorageAndNotify(Ljava/lang/String;JLandroid/content/pm/IPackageDataObserver;)V -Landroid/content/pm/PackageManager;->getApplicationInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo; -Landroid/content/pm/PackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName; -Landroid/content/pm/PackageManager;->getPackageCandidateVolumes(Landroid/content/pm/ApplicationInfo;)Ljava/util/List; -Landroid/content/pm/PackageManager;->getPackageInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/PackageInfo; -Landroid/content/pm/PackageManager;->getPackageSizeInfo(Ljava/lang/String;Landroid/content/pm/IPackageStatsObserver;)V -Landroid/content/pm/PackageManager;->getResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources; -Landroid/content/pm/PackageManager;->movePackage(Ljava/lang/String;Landroid/os/storage/VolumeInfo;)I -Landroid/content/pm/PackageManager;->queryBroadcastReceivers(Landroid/content/Intent;II)Ljava/util/List; -Landroid/content/pm/PackageManager;->setInstantAppCookie([B)Z -Landroid/content/pm/PackageParser$Activity;->info:Landroid/content/pm/ActivityInfo; -Landroid/content/pm/PackageParser$ActivityIntentInfo;->activity:Landroid/content/pm/PackageParser$Activity; -Landroid/content/pm/PackageParser$Component;->className:Ljava/lang/String; -Landroid/content/pm/PackageParser$Component;->getComponentName()Landroid/content/ComponentName; -Landroid/content/pm/PackageParser$Component;->intents:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Component;->metaData:Landroid/os/Bundle; -Landroid/content/pm/PackageParser$Instrumentation;->info:Landroid/content/pm/InstrumentationInfo; -Landroid/content/pm/PackageParser$IntentInfo;-><init>()V -Landroid/content/pm/PackageParser$IntentInfo;->banner:I -Landroid/content/pm/PackageParser$IntentInfo;->hasDefault:Z -Landroid/content/pm/PackageParser$IntentInfo;->icon:I -Landroid/content/pm/PackageParser$IntentInfo;->labelRes:I -Landroid/content/pm/PackageParser$IntentInfo;->logo:I -Landroid/content/pm/PackageParser$IntentInfo;->nonLocalizedLabel:Ljava/lang/CharSequence; -Landroid/content/pm/PackageParser$Package;->activities:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->applicationInfo:Landroid/content/pm/ApplicationInfo; -Landroid/content/pm/PackageParser$Package;->configPreferences:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->instrumentation:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->mAppMetaData:Landroid/os/Bundle; -Landroid/content/pm/PackageParser$Package;->mKeySetMapping:Landroid/util/ArrayMap; -Landroid/content/pm/PackageParser$Package;->mPreferredOrder:I -Landroid/content/pm/PackageParser$Package;->mSharedUserId:Ljava/lang/String; -Landroid/content/pm/PackageParser$Package;->mSharedUserLabel:I -Landroid/content/pm/PackageParser$Package;->mVersionCode:I -Landroid/content/pm/PackageParser$Package;->mVersionName:Ljava/lang/String; -Landroid/content/pm/PackageParser$Package;->packageName:Ljava/lang/String; -Landroid/content/pm/PackageParser$Package;->permissionGroups:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->permissions:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->providers:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->receivers:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->reqFeatures:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->requestedPermissions:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->services:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->usesLibraries:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Package;->usesOptionalLibraries:Ljava/util/ArrayList; -Landroid/content/pm/PackageParser$Provider;->info:Landroid/content/pm/ProviderInfo; -Landroid/content/pm/PackageParser$ProviderIntentInfo;->provider:Landroid/content/pm/PackageParser$Provider; -Landroid/content/pm/PackageParser$Service;->info:Landroid/content/pm/ServiceInfo; -Landroid/content/pm/PackageParser$ServiceIntentInfo;->service:Landroid/content/pm/PackageParser$Service; -Landroid/content/pm/PackageParser;-><init>()V -Landroid/content/pm/PackageParser;->collectCertificates(Landroid/content/pm/PackageParser$Package;Ljava/io/File;Z)V -Landroid/content/pm/PackageParser;->collectCertificates(Landroid/content/pm/PackageParser$Package;Z)V -Landroid/content/pm/PackageParser;->generateActivityInfo(Landroid/content/pm/PackageParser$Activity;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ActivityInfo; -Landroid/content/pm/PackageParser;->generateApplicationInfo(Landroid/content/pm/PackageParser$Package;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo; -Landroid/content/pm/PackageParser;->generateInstrumentationInfo(Landroid/content/pm/PackageParser$Instrumentation;I)Landroid/content/pm/InstrumentationInfo; -Landroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;)Landroid/content/pm/PackageInfo; -Landroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo; -Landroid/content/pm/PackageParser;->generatePermissionGroupInfo(Landroid/content/pm/PackageParser$PermissionGroup;I)Landroid/content/pm/PermissionGroupInfo; -Landroid/content/pm/PackageParser;->generatePermissionInfo(Landroid/content/pm/PackageParser$Permission;I)Landroid/content/pm/PermissionInfo; -Landroid/content/pm/PackageParser;->generateProviderInfo(Landroid/content/pm/PackageParser$Provider;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ProviderInfo; -Landroid/content/pm/PackageParser;->generateServiceInfo(Landroid/content/pm/PackageParser$Service;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ServiceInfo; -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; -Landroid/content/pm/PackageParser;->parseMonolithicPackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package; -Landroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package; -Landroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;IZ)Landroid/content/pm/PackageParser$Package; -Landroid/content/pm/PackageUserState;-><init>()V -Landroid/content/pm/ParceledListSlice;-><init>(Ljava/util/List;)V -Landroid/content/pm/ResolveInfo;->instantAppAvailable:Z -Landroid/content/pm/SharedLibraryInfo;->isBuiltin()Z -Landroid/content/pm/SharedLibraryInfo;->isDynamic()Z -Landroid/content/pm/SharedLibraryInfo;->isStatic()Z -Landroid/content/pm/ShortcutManager;->mService:Landroid/content/pm/IShortcutService; -Landroid/content/pm/Signature;->getPublicKey()Ljava/security/PublicKey; -Landroid/content/pm/UserInfo;-><init>(ILjava/lang/String;I)V -Landroid/content/pm/UserInfo;->FLAG_PRIMARY:I -Landroid/content/pm/UserInfo;->id:I -Landroid/content/pm/UserInfo;->isPrimary()Z -Landroid/content/pm/UserInfo;->serialNumber:I -Landroid/content/res/AssetFileDescriptor;->mFd:Landroid/os/ParcelFileDescriptor; -Landroid/content/res/AssetFileDescriptor;->mLength:J -Landroid/content/res/AssetFileDescriptor;->mStartOffset:J -Landroid/content/res/AssetManager;-><init>()V -Landroid/content/res/AssetManager;->addAssetPath(Ljava/lang/String;)I -Landroid/content/res/AssetManager;->addAssetPathAsSharedLibrary(Ljava/lang/String;)I -Landroid/content/res/AssetManager;->applyStyle(JIILandroid/content/res/XmlBlock$Parser;[IJJ)V -Landroid/content/res/AssetManager;->createTheme()J -Landroid/content/res/AssetManager;->getAssignedPackageIdentifiers()Landroid/util/SparseArray; -Landroid/content/res/AssetManager;->getResourceBagText(II)Ljava/lang/CharSequence; -Landroid/content/res/AssetManager;->getResourceEntryName(I)Ljava/lang/String; -Landroid/content/res/AssetManager;->getResourceIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I -Landroid/content/res/AssetManager;->getResourceName(I)Ljava/lang/String; -Landroid/content/res/AssetManager;->getResourcePackageName(I)Ljava/lang/String; -Landroid/content/res/AssetManager;->getResourceTypeName(I)Ljava/lang/String; -Landroid/content/res/AssetManager;->isUpToDate()Z -Landroid/content/res/AssetManager;->mObject:J -Landroid/content/res/AssetManager;->openNonAsset(ILjava/lang/String;)Ljava/io/InputStream; -Landroid/content/res/AssetManager;->openNonAsset(ILjava/lang/String;I)Ljava/io/InputStream; -Landroid/content/res/AssetManager;->openNonAsset(Ljava/lang/String;)Ljava/io/InputStream; -Landroid/content/res/AssetManager;->openNonAsset(Ljava/lang/String;I)Ljava/io/InputStream; -Landroid/content/res/AssetManager;->resolveAttrs(JII[I[I[I[I)Z -Landroid/content/res/AssetManager;->retrieveAttributes(Landroid/content/res/XmlBlock$Parser;[I[I[I)Z -Landroid/content/res/AssetManager;->setConfiguration(IILjava/lang/String;IIIIIIIIIIIIIII)V -Landroid/content/res/ColorStateList$ColorStateListFactory;-><init>(Landroid/content/res/ColorStateList;)V -Landroid/content/res/ColorStateList;->getColors()[I -Landroid/content/res/ColorStateList;->mColors:[I -Landroid/content/res/ColorStateList;->mDefaultColor:I -Landroid/content/res/ColorStateList;->mFactory:Landroid/content/res/ColorStateList$ColorStateListFactory; -Landroid/content/res/ColorStateList;->mStateSpecs:[[I -Landroid/content/res/ColorStateList;->onColorsChanged()V -Landroid/content/res/CompatibilityInfo;-><init>(Landroid/content/pm/ApplicationInfo;IIZ)V -Landroid/content/res/CompatibilityInfo;->DEFAULT_COMPATIBILITY_INFO:Landroid/content/res/CompatibilityInfo; -Landroid/content/res/CompatibilityInfo;->applicationScale:F -Landroid/content/res/DrawableCache;-><init>()V -Landroid/content/res/DrawableCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; -Landroid/content/res/ObbInfo;->salt:[B -Landroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; -Landroid/content/res/Resources;->loadXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser; -Landroid/content/res/Resources;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser; -Landroid/content/res/Resources;->mClassLoader:Ljava/lang/ClassLoader; -Landroid/content/res/Resources;->mDrawableInflater:Landroid/graphics/drawable/DrawableInflater; -Landroid/content/res/Resources;->mResourcesImpl:Landroid/content/res/ResourcesImpl; -Landroid/content/res/Resources;->mSystem:Landroid/content/res/Resources; -Landroid/content/res/Resources;->mTmpValue:Landroid/util/TypedValue; -Landroid/content/res/Resources;->mTypedArrayPool:Landroid/util/Pools$SynchronizedPool; -Landroid/content/res/Resources;->selectDefaultTheme(II)I -Landroid/content/res/Resources;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V -Landroid/content/res/Resources;->updateSystemConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V -Landroid/content/res/ResourcesImpl;->TRACE_FOR_MISS_PRELOAD:Z -Landroid/content/res/ResourcesImpl;->TRACE_FOR_PRELOAD:Z -Landroid/content/res/ResourcesImpl;->getAssets()Landroid/content/res/AssetManager; -Landroid/content/res/ResourcesImpl;->getValue(ILandroid/util/TypedValue;Z)V -Landroid/content/res/ResourcesImpl;->mAccessLock:Ljava/lang/Object; -Landroid/content/res/ResourcesImpl;->mAnimatorCache:Landroid/content/res/ConfigurationBoundResourceCache; -Landroid/content/res/ResourcesImpl;->mAssets:Landroid/content/res/AssetManager; -Landroid/content/res/ResourcesImpl;->mColorDrawableCache:Landroid/content/res/DrawableCache; -Landroid/content/res/ResourcesImpl;->mConfiguration:Landroid/content/res/Configuration; -Landroid/content/res/ResourcesImpl;->mDrawableCache:Landroid/content/res/DrawableCache; -Landroid/content/res/ResourcesImpl;->mPreloading:Z -Landroid/content/res/ResourcesImpl;->mStateListAnimatorCache:Landroid/content/res/ConfigurationBoundResourceCache; -Landroid/content/res/ResourcesImpl;->sPreloadedColorDrawables:Landroid/util/LongSparseArray; -Landroid/content/res/ResourcesImpl;->sPreloadedComplexColors:Landroid/util/LongSparseArray; -Landroid/content/res/ResourcesImpl;->sPreloadedDrawables:[Landroid/util/LongSparseArray; -Landroid/content/res/ResourcesKey;->mSplitResDirs:[Ljava/lang/String; -Landroid/content/res/StringBlock;-><init>(JZ)V -Landroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V -Landroid/content/res/TypedArray;->extractThemeAttrs()[I -Landroid/content/res/TypedArray;->getNonConfigurationString(II)Ljava/lang/String; -Landroid/content/res/TypedArray;->getValueAt(ILandroid/util/TypedValue;)Z -Landroid/content/res/TypedArray;->mAssets:Landroid/content/res/AssetManager; -Landroid/content/res/TypedArray;->mData:[I -Landroid/content/res/TypedArray;->mIndices:[I -Landroid/content/res/TypedArray;->mLength:I -Landroid/content/res/TypedArray;->mMetrics:Landroid/util/DisplayMetrics; -Landroid/content/res/TypedArray;->mRecycled:Z -Landroid/content/res/TypedArray;->mResources:Landroid/content/res/Resources; -Landroid/content/res/TypedArray;->mTheme:Landroid/content/res/Resources$Theme; -Landroid/content/res/TypedArray;->mValue:Landroid/util/TypedValue; -Landroid/content/res/TypedArray;->mXml:Landroid/content/res/XmlBlock$Parser; -Landroid/content/res/XmlBlock$Parser;->mBlock:Landroid/content/res/XmlBlock; -Landroid/content/res/XmlBlock$Parser;->mParseState:J -Landroid/content/res/XmlBlock;-><init>([B)V -Landroid/content/res/XmlBlock;->newParser()Landroid/content/res/XmlResourceParser; -Landroid/database/AbstractCursor;->mCurrentRowID:Ljava/lang/Long; -Landroid/database/AbstractCursor;->mExtras:Landroid/os/Bundle; -Landroid/database/AbstractCursor;->mNotifyUri:Landroid/net/Uri; -Landroid/database/AbstractCursor;->mRowIdColumnIndex:I -Landroid/database/AbstractCursor;->mUpdatedRows:Ljava/util/HashMap; -Landroid/database/AbstractWindowedCursor;->clearOrCreateWindow(Ljava/lang/String;)V -Landroid/database/CursorWindow;->mWindowPtr:J -Landroid/database/CursorWindow;->sCursorWindowSize:I -Landroid/database/CursorWindow;->sWindowToPidMap:Landroid/util/LongSparseArray; -Landroid/database/CursorWrapper;->mCursor:Landroid/database/Cursor; -Landroid/database/sqlite/SQLiteCustomFunction;->dispatchCallback([Ljava/lang/String;)V -Landroid/database/sqlite/SQLiteCustomFunction;->name:Ljava/lang/String; -Landroid/database/sqlite/SQLiteCustomFunction;->numArgs:I -Landroid/database/sqlite/SQLiteDatabase;->CONFLICT_VALUES:[Ljava/lang/String; -Landroid/database/sqlite/SQLiteDatabase;->mConfigurationLocked:Landroid/database/sqlite/SQLiteDatabaseConfiguration; -Landroid/database/sqlite/SQLiteDatabase;->mConnectionPoolLocked:Landroid/database/sqlite/SQLiteConnectionPool; -Landroid/database/sqlite/SQLiteDatabase;->reopenReadWrite()V -Landroid/database/sqlite/SQLiteDatabaseConfiguration;->maxSqlCacheSize:I -Landroid/database/sqlite/SQLiteDebug$PagerStats;->largestMemAlloc:I -Landroid/database/sqlite/SQLiteDebug$PagerStats;->memoryUsed:I -Landroid/database/sqlite/SQLiteDebug$PagerStats;->pageCacheOverflow:I -Landroid/database/sqlite/SQLiteOpenHelper;->mName:Ljava/lang/String; -Landroid/database/sqlite/SQLiteStatement;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;)V -Landroid/database/sqlite/SqliteWrapper;->insert(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri; -Landroid/database/sqlite/SqliteWrapper;->query(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor; -Landroid/ddm/DdmHandleAppName;->getAppName()Ljava/lang/String; -Landroid/ddm/DdmHandleAppName;->setAppName(Ljava/lang/String;I)V -Landroid/graphics/AvoidXfermode$Mode; -Landroid/graphics/AvoidXfermode$Mode;->AVOID:Landroid/graphics/AvoidXfermode$Mode; -Landroid/graphics/AvoidXfermode$Mode;->TARGET:Landroid/graphics/AvoidXfermode$Mode; -Landroid/graphics/AvoidXfermode$Mode;->valueOf(Ljava/lang/String;)Landroid/graphics/AvoidXfermode$Mode; -Landroid/graphics/AvoidXfermode$Mode;->values()[Landroid/graphics/AvoidXfermode$Mode; -Landroid/graphics/AvoidXfermode; -Landroid/graphics/AvoidXfermode;-><init>(IILandroid/graphics/AvoidXfermode$Mode;)V -Landroid/graphics/BaseCanvas;->mNativeCanvasWrapper:J -Landroid/graphics/Bitmap$Config;->nativeInt:I -Landroid/graphics/Bitmap$Config;->nativeToConfig(I)Landroid/graphics/Bitmap$Config; -Landroid/graphics/Bitmap;-><init>(JIIIZZ[BLandroid/graphics/NinePatch$InsetStruct;)V -Landroid/graphics/Bitmap;->createAshmemBitmap()Landroid/graphics/Bitmap; -Landroid/graphics/Bitmap;->createAshmemBitmap(Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap; -Landroid/graphics/Bitmap;->createGraphicBufferHandle()Landroid/graphics/GraphicBuffer; -Landroid/graphics/Bitmap;->createHardwareBitmap(Landroid/graphics/GraphicBuffer;)Landroid/graphics/Bitmap; -Landroid/graphics/Bitmap;->getDefaultDensity()I -Landroid/graphics/Bitmap;->mNativePtr:J -Landroid/graphics/Bitmap;->mNinePatchChunk:[B -Landroid/graphics/Bitmap;->mNinePatchInsets:Landroid/graphics/NinePatch$InsetStruct; -Landroid/graphics/Bitmap;->reinit(IIZ)V -Landroid/graphics/Bitmap;->setDefaultDensity(I)V -Landroid/graphics/BitmapFactory;->nativeDecodeAsset(JLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; -Landroid/graphics/BitmapFactory;->nativeDecodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; -Landroid/graphics/BitmapFactory;->nativeDecodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; -Landroid/graphics/BitmapFactory;->nativeDecodeStream(Ljava/io/InputStream;[BLandroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap; -Landroid/graphics/BitmapRegionDecoder;-><init>(J)V -Landroid/graphics/Camera;->native_instance:J -Landroid/graphics/Canvas;-><init>(J)V -Landroid/graphics/Canvas;->CLIP_SAVE_FLAG:I -Landroid/graphics/Canvas;->CLIP_TO_LAYER_SAVE_FLAG:I -Landroid/graphics/Canvas;->FULL_COLOR_LAYER_SAVE_FLAG:I -Landroid/graphics/Canvas;->HAS_ALPHA_LAYER_SAVE_FLAG:I -Landroid/graphics/Canvas;->MATRIX_SAVE_FLAG:I -Landroid/graphics/Canvas;->clipRegion(Landroid/graphics/Region;)Z -Landroid/graphics/Canvas;->clipRegion(Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z -Landroid/graphics/Canvas;->release()V -Landroid/graphics/Canvas;->save(I)I -Landroid/graphics/ColorMatrixColorFilter;->setColorMatrix(Landroid/graphics/ColorMatrix;)V -Landroid/graphics/FontFamily;-><init>()V -Landroid/graphics/FontFamily;->abortCreation()V -Landroid/graphics/FontFamily;->addFontFromAssetManager(Landroid/content/res/AssetManager;Ljava/lang/String;IZIII[Landroid/graphics/fonts/FontVariationAxis;)Z -Landroid/graphics/FontFamily;->addFontFromBuffer(Ljava/nio/ByteBuffer;I[Landroid/graphics/fonts/FontVariationAxis;II)Z -Landroid/graphics/FontFamily;->freeze()Z -Landroid/graphics/GraphicBuffer;-><init>(IIIIJ)V -Landroid/graphics/GraphicBuffer;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/graphics/GraphicBuffer;->createFromExisting(IIIIJ)Landroid/graphics/GraphicBuffer; -Landroid/graphics/GraphicBuffer;->mNativeObject:J -Landroid/graphics/ImageDecoder$IncompleteException; -Landroid/graphics/ImageDecoder$IncompleteException;-><init>()V -Landroid/graphics/ImageDecoder;->ERROR_SOURCE_ERROR:I -Landroid/graphics/ImageDecoder;->ERROR_SOURCE_EXCEPTION:I -Landroid/graphics/ImageDecoder;->ERROR_SOURCE_INCOMPLETE:I -Landroid/graphics/ImageDecoder;->getAsAlphaMask()Z -Landroid/graphics/ImageDecoder;->getConserveMemory()Z -Landroid/graphics/ImageDecoder;->getDecodeAsAlphaMask()Z -Landroid/graphics/ImageDecoder;->getMutable()Z -Landroid/graphics/ImageDecoder;->getRequireUnpremultiplied()Z -Landroid/graphics/ImageDecoder;->postProcessAndRelease(Landroid/graphics/Canvas;)I -Landroid/graphics/ImageDecoder;->setAsAlphaMask(Z)Landroid/graphics/ImageDecoder; -Landroid/graphics/ImageDecoder;->setConserveMemory(Z)V -Landroid/graphics/ImageDecoder;->setDecodeAsAlphaMask(Z)Landroid/graphics/ImageDecoder; -Landroid/graphics/ImageDecoder;->setMutable(Z)Landroid/graphics/ImageDecoder; -Landroid/graphics/ImageDecoder;->setRequireUnpremultiplied(Z)Landroid/graphics/ImageDecoder; -Landroid/graphics/ImageDecoder;->setResize(I)Landroid/graphics/ImageDecoder; -Landroid/graphics/ImageDecoder;->setResize(II)Landroid/graphics/ImageDecoder; -Landroid/graphics/Insets;->left:I -Landroid/graphics/Insets;->right:I -Landroid/graphics/LayerRasterizer; -Landroid/graphics/LayerRasterizer;-><init>()V -Landroid/graphics/LayerRasterizer;->addLayer(Landroid/graphics/Paint;)V -Landroid/graphics/LayerRasterizer;->addLayer(Landroid/graphics/Paint;FF)V -Landroid/graphics/LinearGradient;->mColors:[I -Landroid/graphics/Matrix;->native_instance:J -Landroid/graphics/Movie;-><init>(J)V -Landroid/graphics/Movie;->mNativeMovie:J -Landroid/graphics/NinePatch$InsetStruct;-><init>(IIIIIIIIFIF)V -Landroid/graphics/NinePatch;->mBitmap:Landroid/graphics/Bitmap; -Landroid/graphics/Paint;->getRasterizer()Landroid/graphics/Rasterizer; -Landroid/graphics/Paint;->setRasterizer(Landroid/graphics/Rasterizer;)Landroid/graphics/Rasterizer; -Landroid/graphics/Picture;->mNativePicture:J -Landroid/graphics/PixelXorXfermode; -Landroid/graphics/PixelXorXfermode;-><init>(I)V -Landroid/graphics/PorterDuffColorFilter;->getColor()I -Landroid/graphics/PorterDuffColorFilter;->setColor(I)V -Landroid/graphics/PorterDuffColorFilter;->setMode(Landroid/graphics/PorterDuff$Mode;)V -Landroid/graphics/Rasterizer; -Landroid/graphics/Rasterizer;-><init>()V -Landroid/graphics/Rect;->scale(F)V -Landroid/graphics/Region;-><init>(JI)V -Landroid/graphics/Region;->mNativeRegion:J -Landroid/graphics/SurfaceTexture;->mFrameAvailableListener:J -Landroid/graphics/SurfaceTexture;->mProducer:J -Landroid/graphics/SurfaceTexture;->mSurfaceTexture:J -Landroid/graphics/SurfaceTexture;->nativeDetachFromGLContext()I -Landroid/graphics/SurfaceTexture;->postEventFromNative(Ljava/lang/ref/WeakReference;)V -Landroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;II)Landroid/graphics/Typeface; -Landroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;Ljava/lang/String;II)Landroid/graphics/Typeface; -Landroid/graphics/Typeface;->mStyle:I -Landroid/graphics/Typeface;->sDefaults:[Landroid/graphics/Typeface; -Landroid/graphics/Typeface;->sSystemFontMap:Ljava/util/Map; -Landroid/graphics/Typeface;->setDefault(Landroid/graphics/Typeface;)V -Landroid/graphics/drawable/AnimatedImageDrawable;->LOOP_INFINITE:I -Landroid/graphics/drawable/AnimatedImageDrawable;->getLoopCount(I)I -Landroid/graphics/drawable/AnimatedImageDrawable;->onAnimationEnd()V -Landroid/graphics/drawable/AnimatedImageDrawable;->setLoopCount(I)V -Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mStateIds:Landroid/util/SparseIntArray; -Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mTransitions:Landroid/util/LongSparseLongArray; -Landroid/graphics/drawable/AnimatedStateListDrawable;->mState:Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState; -Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->callOnFinished(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V -Landroid/graphics/drawable/AnimationDrawable;->mCurFrame:I -Landroid/graphics/drawable/BitmapDrawable;->getOpticalInsets()Landroid/graphics/Insets; -Landroid/graphics/drawable/BitmapDrawable;->getTint()Landroid/content/res/ColorStateList; -Landroid/graphics/drawable/BitmapDrawable;->getTintMode()Landroid/graphics/PorterDuff$Mode; -Landroid/graphics/drawable/BitmapDrawable;->mTargetDensity:I -Landroid/graphics/drawable/BitmapDrawable;->setBitmap(Landroid/graphics/Bitmap;)V -Landroid/graphics/drawable/ColorDrawable$ColorState;->mUseColor:I -Landroid/graphics/drawable/Drawable;->getOpticalInsets()Landroid/graphics/Insets; -Landroid/graphics/drawable/Drawable;->inflateWithAttributes(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/TypedArray;I)V -Landroid/graphics/drawable/Drawable;->isProjected()Z -Landroid/graphics/drawable/Drawable;->mCallback:Ljava/lang/ref/WeakReference; -Landroid/graphics/drawable/Drawable;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode; -Landroid/graphics/drawable/Drawable;->updateTintFilter(Landroid/graphics/PorterDuffColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter; -Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mConstantPadding:Landroid/graphics/Rect; -Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;->mDrawables:[Landroid/graphics/drawable/Drawable; -Landroid/graphics/drawable/DrawableContainer;->getOpticalInsets()Landroid/graphics/Insets; -Landroid/graphics/drawable/DrawableContainer;->mDrawableContainerState:Landroid/graphics/drawable/DrawableContainer$DrawableContainerState; -Landroid/graphics/drawable/DrawableInflater;->mClassLoader:Ljava/lang/ClassLoader; -Landroid/graphics/drawable/GradientDrawable$GradientState;->mAngle:I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradient:I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mGradientColors:[I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mHeight:I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadius:I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mInnerRadiusRatio:F -Landroid/graphics/drawable/GradientDrawable$GradientState;->mOrientation:Landroid/graphics/drawable/GradientDrawable$Orientation; -Landroid/graphics/drawable/GradientDrawable$GradientState;->mPadding:Landroid/graphics/Rect; -Landroid/graphics/drawable/GradientDrawable$GradientState;->mPositions:[F -Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadius:F -Landroid/graphics/drawable/GradientDrawable$GradientState;->mRadiusArray:[F -Landroid/graphics/drawable/GradientDrawable$GradientState;->mShape:I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mSolidColors:Landroid/content/res/ColorStateList; -Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeDashGap:F -Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeDashWidth:F -Landroid/graphics/drawable/GradientDrawable$GradientState;->mStrokeWidth:I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mThickness:I -Landroid/graphics/drawable/GradientDrawable$GradientState;->mThicknessRatio:F -Landroid/graphics/drawable/GradientDrawable$GradientState;->mWidth:I -Landroid/graphics/drawable/GradientDrawable;->getOpticalInsets()Landroid/graphics/Insets; -Landroid/graphics/drawable/GradientDrawable;->mGradientState:Landroid/graphics/drawable/GradientDrawable$GradientState; -Landroid/graphics/drawable/GradientDrawable;->mPadding:Landroid/graphics/Rect; -Landroid/graphics/drawable/Icon;->getBitmap()Landroid/graphics/Bitmap; -Landroid/graphics/drawable/Icon;->getDataBytes()[B -Landroid/graphics/drawable/Icon;->getDataLength()I -Landroid/graphics/drawable/Icon;->getDataOffset()I -Landroid/graphics/drawable/Icon;->getResources()Landroid/content/res/Resources; -Landroid/graphics/drawable/Icon;->hasTint()Z -Landroid/graphics/drawable/Icon;->mString1:Ljava/lang/String; -Landroid/graphics/drawable/Icon;->mType:I -Landroid/graphics/drawable/InsetDrawable;->mState:Landroid/graphics/drawable/InsetDrawable$InsetState; -Landroid/graphics/drawable/LayerDrawable$ChildDrawable;->mDrawable:Landroid/graphics/drawable/Drawable; -Landroid/graphics/drawable/LayerDrawable$LayerState;->mChildren:[Landroid/graphics/drawable/LayerDrawable$ChildDrawable; -Landroid/graphics/drawable/LayerDrawable;->mLayerState:Landroid/graphics/drawable/LayerDrawable$LayerState; -Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;->mNinePatch:Landroid/graphics/NinePatch; -Landroid/graphics/drawable/NinePatchDrawable;->mNinePatchState:Landroid/graphics/drawable/NinePatchDrawable$NinePatchState; -Landroid/graphics/drawable/RippleDrawable$RippleState;->mColor:Landroid/content/res/ColorStateList; -Landroid/graphics/drawable/RippleDrawable;->mState:Landroid/graphics/drawable/RippleDrawable$RippleState; -Landroid/graphics/drawable/StateListDrawable;->extractStateSet(Landroid/util/AttributeSet;)[I -Landroid/graphics/drawable/StateListDrawable;->getStateCount()I -Landroid/graphics/drawable/StateListDrawable;->getStateDrawable(I)Landroid/graphics/drawable/Drawable; -Landroid/graphics/drawable/StateListDrawable;->getStateDrawableIndex([I)I -Landroid/graphics/drawable/StateListDrawable;->getStateSet(I)[I -Landroid/graphics/drawable/StateListDrawable;->mStateListState:Landroid/graphics/drawable/StateListDrawable$StateListState; -Landroid/graphics/drawable/StateListDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V -Landroid/graphics/drawable/VectorDrawable$VGroup;->setRotation(F)V -Landroid/graphics/drawable/VectorDrawable;->getTargetByName(Ljava/lang/String;)Ljava/lang/Object; -Landroid/graphics/drawable/VectorDrawable;->mTintFilter:Landroid/graphics/PorterDuffColorFilter; -Landroid/graphics/drawable/VectorDrawable;->setAllowCaching(Z)V -Landroid/graphics/fonts/FontVariationAxis;->mStyleValue:F -Landroid/graphics/fonts/FontVariationAxis;->mTag:I -Landroid/hardware/Camera;->addCallbackBuffer([BI)V -Landroid/hardware/Camera;->mNativeContext:J -Landroid/hardware/Camera;->native_setup(Ljava/lang/Object;IILjava/lang/String;)I -Landroid/hardware/Camera;->openLegacy(II)Landroid/hardware/Camera; -Landroid/hardware/Camera;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V -Landroid/hardware/HardwareBuffer;-><init>(J)V -Landroid/hardware/HardwareBuffer;->destroy()V -Landroid/hardware/HardwareBuffer;->isDestroyed()Z -Landroid/hardware/HardwareBuffer;->mNativeObject:J -Landroid/hardware/ICameraService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraService; -Landroid/hardware/SensorDirectChannel;->isValid()Z -Landroid/hardware/SensorManager;->configureDirectChannel(Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I -Landroid/hardware/SerialPort;->mNativeContext:I -Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchAdditionalInfoEvent(III[F[I)V -Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchFlushCompleteEvent(I)V -Landroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchSensorEvent(I[FIJ)V -Landroid/hardware/camera2/CameraAccessException;->serialVersionUID:J -Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V -Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V -Landroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V -Landroid/hardware/camera2/CameraCharacteristics$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key; -Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_AVAILABLE_HIGH_SPEED_VIDEO_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->CONTROL_MAX_REGIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->LED_AVAILABLE_LEDS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->LENS_INFO_SHADING_MAP_SIZE:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->LOGICAL_MULTI_CAMERA_PHYSICAL_IDS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->QUIRKS_USE_PARTIAL_RESULT:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_CHARACTERISTICS_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_REQUEST_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_RESULT_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_AVAILABLE_SESSION_KEYS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->REQUEST_MAX_NUM_OUTPUT_STREAMS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_FORMATS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_INPUT_OUTPUT_FORMATS_MAP:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_JPEG_MIN_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_JPEG_SIZES:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_MIN_FRAME_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_PROCESSED_SIZES:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_STALL_DURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CameraCharacteristics;->SCALER_AVAILABLE_STREAM_CONFIGURATIONS:Landroid/hardware/camera2/CameraCharacteristics$Key; -Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V -Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V -Landroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V -Landroid/hardware/camera2/CaptureRequest$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key; -Landroid/hardware/camera2/CaptureRequest;->JPEG_GPS_COORDINATES:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureRequest;->JPEG_GPS_PROCESSING_METHOD:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureRequest;->JPEG_GPS_TIMESTAMP:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureRequest;->LED_TRANSMIT:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureRequest;->REQUEST_ID:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureRequest;->TONEMAP_CURVE_BLUE:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureRequest;->TONEMAP_CURVE_GREEN:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureRequest;->TONEMAP_CURVE_RED:Landroid/hardware/camera2/CaptureRequest$Key; -Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V -Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V -Landroid/hardware/camera2/CaptureResult$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;J)V -Landroid/hardware/camera2/CaptureResult$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key; -Landroid/hardware/camera2/CaptureResult;->JPEG_GPS_COORDINATES:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->JPEG_GPS_PROCESSING_METHOD:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->JPEG_GPS_TIMESTAMP:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->LED_TRANSMIT:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->QUIRKS_PARTIAL_RESULT:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->REQUEST_FRAME_COUNT:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->REQUEST_ID:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_IDS:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_LANDMARKS:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_RECTANGLES:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_FACE_SCORES:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_LENS_SHADING_MAP:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_OIS_TIMESTAMPS:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_OIS_X_SHIFTS:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_OIS_Y_SHIFTS:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_PREDICTED_COLOR_GAINS:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->STATISTICS_PREDICTED_COLOR_TRANSFORM:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->SYNC_FRAME_NUMBER:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->TONEMAP_CURVE_BLUE:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->TONEMAP_CURVE_GREEN:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/CaptureResult;->TONEMAP_CURVE_RED:Landroid/hardware/camera2/CaptureResult$Key; -Landroid/hardware/camera2/impl/CameraMetadataNative$Key;->getTag()I -Landroid/hardware/camera2/impl/CameraMetadataNative;->mMetadataPtr:J -Landroid/hardware/camera2/utils/TypeReference;->createSpecializedTypeReference(Ljava/lang/reflect/Type;)Landroid/hardware/camera2/utils/TypeReference; -Landroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal; -Landroid/hardware/display/DisplayManagerGlobal;->getRealDisplay(I)Landroid/view/Display; -Landroid/hardware/display/DisplayManagerGlobal;->mDm:Landroid/hardware/display/IDisplayManager; -Landroid/hardware/display/DisplayManagerGlobal;->sInstance:Landroid/hardware/display/DisplayManagerGlobal; -Landroid/hardware/display/IDisplayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/display/IDisplayManager; -Landroid/hardware/display/WifiDisplayStatus;->mActiveDisplay:Landroid/hardware/display/WifiDisplay; -Landroid/hardware/display/WifiDisplayStatus;->mDisplays:[Landroid/hardware/display/WifiDisplay; -Landroid/hardware/fingerprint/Fingerprint;->getFingerId()I -Landroid/hardware/fingerprint/Fingerprint;->getName()Ljava/lang/CharSequence; -Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/hardware/input/IInputManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/hardware/input/IInputManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/input/IInputManager; -Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I -Landroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager; -Landroid/hardware/input/InputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z -Landroid/hardware/input/InputManager;->mIm:Landroid/hardware/input/IInputManager; -Landroid/hardware/location/GeofenceHardware;-><init>(Landroid/hardware/location/IGeofenceHardware;)V -Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;-><init>()V -Landroid/hardware/location/IActivityRecognitionHardwareClient;->onAvailabilityChanged(ZLandroid/hardware/location/IActivityRecognitionHardware;)V -Landroid/hardware/location/IContextHubService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubService; -Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;-><init>(II)V -Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->confidenceLevel:I -Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;->userId:I -Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V -Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B)V -Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->id:I -Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->locale:Ljava/lang/String; -Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->recognitionModes:I -Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->text:Ljava/lang/String; -Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->users:[I -Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V -Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;-><init>(III[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;)V -Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->coarseConfidenceLevel:I -Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->confidenceLevels:[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel; -Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->id:I -Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->recognitionModes:I -Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->keyphrases:[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase; -Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIIZIZIZ)V -Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;-><init>(ZZ[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;[B)V -Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->captureRequested:Z -Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->data:[B -Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->keyphrases:[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra; -Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V -Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->data:[B -Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->data:[B -Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->uuid:Ljava/util/UUID; -Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;->vendorUuid:Ljava/util/UUID; -Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;-><init>(II[B)V -Landroid/hardware/soundtrigger/SoundTriggerModule;->mId:I -Landroid/hardware/soundtrigger/SoundTriggerModule;->mNativeContext:J -Landroid/hardware/soundtrigger/SoundTriggerModule;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V -Landroid/hardware/usb/IUsbManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/hardware/usb/UsbDeviceConnection;->mNativeContext:J -Landroid/hardware/usb/UsbManager;->getPortStatus(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/UsbPortStatus; -Landroid/hardware/usb/UsbManager;->getPorts()[Landroid/hardware/usb/UsbPort; -Landroid/hardware/usb/UsbManager;->setCurrentFunction(Ljava/lang/String;Z)V -Landroid/hardware/usb/UsbManager;->setPortRoles(Landroid/hardware/usb/UsbPort;II)V -Landroid/hardware/usb/UsbPortStatus;->getCurrentDataRole()I -Landroid/hardware/usb/UsbPortStatus;->getCurrentMode()I -Landroid/hardware/usb/UsbPortStatus;->getCurrentPowerRole()I -Landroid/hardware/usb/UsbPortStatus;->getSupportedRoleCombinations()I -Landroid/hardware/usb/UsbPortStatus;->isConnected()Z -Landroid/hardware/usb/UsbPortStatus;->isRoleCombinationSupported(II)Z -Landroid/hardware/usb/UsbRequest;->mBuffer:Ljava/nio/ByteBuffer; -Landroid/hardware/usb/UsbRequest;->mLength:I -Landroid/hardware/usb/UsbRequest;->mNativeContext:J -Landroid/icu/impl/CurrencyData;-><init>()V -Landroid/icu/impl/TimeZoneGenericNames;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/impl/TimeZoneGenericNames;->serialVersionUID:J -Landroid/icu/impl/locale/LocaleSyntaxException;->serialVersionUID:J -Landroid/icu/impl/number/DecimalFormatProperties;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/impl/number/DecimalFormatProperties;->serialVersionUID:J -Landroid/icu/impl/number/DecimalFormatProperties;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/math/BigDecimal;->serialVersionUID:J -Landroid/icu/math/MathContext;->serialVersionUID:J -Landroid/icu/text/ArabicShaping;->isAlefMaksouraChar(C)Z -Landroid/icu/text/ArabicShaping;->isSeenTailFamilyChar(C)I -Landroid/icu/text/ArabicShaping;->isTailChar(C)Z -Landroid/icu/text/ArabicShaping;->isYehHamzaChar(C)Z -Landroid/icu/text/ArabicShapingException;->serialVersionUID:J -Landroid/icu/text/ChineseDateFormat$Field;->serialVersionUID:J -Landroid/icu/text/ChineseDateFormat;->serialVersionUID:J -Landroid/icu/text/ChineseDateFormatSymbols;->serialVersionUID:J -Landroid/icu/text/CompactDecimalFormat;->serialVersionUID:J -Landroid/icu/text/CurrencyPluralInfo;->serialVersionUID:J -Landroid/icu/text/DateFormat$Field;->serialVersionUID:J -Landroid/icu/text/DateFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/DateFormat;->serialVersionUID:J -Landroid/icu/text/DateFormatSymbols;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale; -Landroid/icu/text/DateFormatSymbols;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/DateFormatSymbols;->serialVersionUID:J -Landroid/icu/text/DateIntervalFormat;-><init>()V -Landroid/icu/text/DateIntervalFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/DateIntervalFormat;->serialVersionUID:J -Landroid/icu/text/DateIntervalInfo$PatternInfo;->serialVersionUID:J -Landroid/icu/text/DateIntervalInfo;->serialVersionUID:J -Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;-><init>()V -Landroid/icu/text/DecimalFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/DecimalFormat;->serialVersionUID:J -Landroid/icu/text/DecimalFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/DecimalFormatSymbols;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale; -Landroid/icu/text/DecimalFormatSymbols;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/DecimalFormatSymbols;->serialVersionUID:J -Landroid/icu/text/DecimalFormat_ICU58_Android;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/DecimalFormat_ICU58_Android;->serialVersionUID:J -Landroid/icu/text/DecimalFormat_ICU58_Android;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/DurationFormat;->serialVersionUID:J -Landroid/icu/text/MeasureFormat$MeasureProxy;->readResolve()Ljava/lang/Object; -Landroid/icu/text/MeasureFormat$MeasureProxy;->serialVersionUID:J -Landroid/icu/text/MeasureFormat;->serialVersionUID:J -Landroid/icu/text/MeasureFormat;->writeReplace()Ljava/lang/Object; -Landroid/icu/text/MessageFormat$Field;->serialVersionUID:J -Landroid/icu/text/MessageFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/MessageFormat;->serialVersionUID:J -Landroid/icu/text/MessageFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/NumberFormat$Field;->serialVersionUID:J -Landroid/icu/text/NumberFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/NumberFormat;->serialVersionUID:J -Landroid/icu/text/NumberFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/PluralFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/PluralFormat;->serialVersionUID:J -Landroid/icu/text/PluralRules$AndConstraint;->serialVersionUID:J -Landroid/icu/text/PluralRules$BinaryConstraint;->serialVersionUID:J -Landroid/icu/text/PluralRules$FixedDecimal;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/PluralRules$FixedDecimal;->serialVersionUID:J -Landroid/icu/text/PluralRules$FixedDecimal;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/PluralRules$OrConstraint;->serialVersionUID:J -Landroid/icu/text/PluralRules$RangeConstraint;->serialVersionUID:J -Landroid/icu/text/PluralRules$Rule;->serialVersionUID:J -Landroid/icu/text/PluralRules$RuleList;->serialVersionUID:J -Landroid/icu/text/PluralRules;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/PluralRules;->serialVersionUID:J -Landroid/icu/text/PluralRules;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/PluralRules;->writeReplace()Ljava/lang/Object; -Landroid/icu/text/RuleBasedCollator;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale; -Landroid/icu/text/RuleBasedNumberFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/RuleBasedNumberFormat;->serialVersionUID:J -Landroid/icu/text/RuleBasedNumberFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/SelectFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/SelectFormat;->serialVersionUID:J -Landroid/icu/text/SimpleDateFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/SimpleDateFormat;->serialVersionUID:J -Landroid/icu/text/SimpleDateFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/SpoofChecker$ScriptSet;-><init>()V -Landroid/icu/text/SpoofChecker$ScriptSet;->and(I)V -Landroid/icu/text/SpoofChecker$ScriptSet;->isFull()Z -Landroid/icu/text/SpoofChecker$ScriptSet;->serialVersionUID:J -Landroid/icu/text/SpoofChecker$ScriptSet;->setAll()V -Landroid/icu/text/StringPrepParseException;->serialVersionUID:J -Landroid/icu/text/TimeUnitFormat;->readResolve()Ljava/lang/Object; -Landroid/icu/text/TimeUnitFormat;->serialVersionUID:J -Landroid/icu/text/TimeUnitFormat;->writeReplace()Ljava/lang/Object; -Landroid/icu/text/TimeZoneFormat;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/text/TimeZoneFormat;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Landroid/icu/text/TimeZoneFormat;->serialVersionUID:J -Landroid/icu/text/TimeZoneFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames$FactoryImpl;-><init>()V -Landroid/icu/text/TimeZoneNames$DefaultTimeZoneNames;->serialVersionUID:J -Landroid/icu/text/TimeZoneNames;->serialVersionUID:J -Landroid/icu/text/Transliterator;->createFromRules(Ljava/lang/String;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(Ljava/lang/String;)Ljava/lang/String; -Landroid/icu/text/UFormat;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale; -Landroid/icu/text/UFormat;->serialVersionUID:J -Landroid/icu/util/AnnualTimeZoneRule;->serialVersionUID:J -Landroid/icu/util/BasicTimeZone;->serialVersionUID:J -Landroid/icu/util/BuddhistCalendar;->serialVersionUID:J -Landroid/icu/util/CECalendar;->serialVersionUID:J -Landroid/icu/util/Calendar;->getLocale(Landroid/icu/util/ULocale$Type;)Landroid/icu/util/ULocale; -Landroid/icu/util/Calendar;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/util/Calendar;->serialVersionUID:J -Landroid/icu/util/Calendar;->writeObject(Ljava/io/ObjectOutputStream;)V -Landroid/icu/util/ChineseCalendar;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/util/ChineseCalendar;->serialVersionUID:J -Landroid/icu/util/CopticCalendar;->serialVersionUID:J -Landroid/icu/util/Currency;->readResolve()Ljava/lang/Object; -Landroid/icu/util/Currency;->serialVersionUID:J -Landroid/icu/util/Currency;->writeReplace()Ljava/lang/Object; -Landroid/icu/util/DangiCalendar;->serialVersionUID:J -Landroid/icu/util/DateInterval;->serialVersionUID:J -Landroid/icu/util/DateTimeRule;->serialVersionUID:J -Landroid/icu/util/EthiopicCalendar;->serialVersionUID:J -Landroid/icu/util/GregorianCalendar;->serialVersionUID:J -Landroid/icu/util/HebrewCalendar;->serialVersionUID:J -Landroid/icu/util/ICUCloneNotSupportedException;->serialVersionUID:J -Landroid/icu/util/ICUException;->serialVersionUID:J -Landroid/icu/util/ICUUncheckedIOException;->serialVersionUID:J -Landroid/icu/util/IllformedLocaleException;->serialVersionUID:J -Landroid/icu/util/IndianCalendar;->serialVersionUID:J -Landroid/icu/util/InitialTimeZoneRule;->serialVersionUID:J -Landroid/icu/util/IslamicCalendar;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/util/IslamicCalendar;->serialVersionUID:J -Landroid/icu/util/JapaneseCalendar;->serialVersionUID:J -Landroid/icu/util/MeasureUnit$MeasureUnitProxy;->readResolve()Ljava/lang/Object; -Landroid/icu/util/MeasureUnit$MeasureUnitProxy;->serialVersionUID:J -Landroid/icu/util/MeasureUnit;->serialVersionUID:J -Landroid/icu/util/MeasureUnit;->writeReplace()Ljava/lang/Object; -Landroid/icu/util/NoUnit;->serialVersionUID:J -Landroid/icu/util/PersianCalendar;->serialVersionUID:J -Landroid/icu/util/RuleBasedTimeZone;->serialVersionUID:J -Landroid/icu/util/STZInfo;->serialVersionUID:J -Landroid/icu/util/SimpleTimeZone;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/icu/util/SimpleTimeZone;->serialVersionUID:J -Landroid/icu/util/TaiwanCalendar;->serialVersionUID:J -Landroid/icu/util/TimeArrayTimeZoneRule;->serialVersionUID:J -Landroid/icu/util/TimeUnit;->readResolve()Ljava/lang/Object; -Landroid/icu/util/TimeUnit;->serialVersionUID:J -Landroid/icu/util/TimeUnit;->writeReplace()Ljava/lang/Object; -Landroid/icu/util/TimeZone$ConstantZone;->serialVersionUID:J -Landroid/icu/util/TimeZone;->serialVersionUID:J -Landroid/icu/util/TimeZoneRule;->serialVersionUID:J -Landroid/icu/util/ULocale;->serialVersionUID:J -Landroid/icu/util/UResourceTypeMismatchException;->serialVersionUID:J -Landroid/icu/util/VTimeZone;->serialVersionUID:J -Landroid/inputmethodservice/InputMethodService$SettingsObserver;->shouldShowImeWithHardKeyboard()Z -Landroid/inputmethodservice/InputMethodService;->mExtractEditText:Landroid/inputmethodservice/ExtractEditText; -Landroid/inputmethodservice/InputMethodService;->mRootView:Landroid/view/View; -Landroid/inputmethodservice/InputMethodService;->mSettingsObserver:Landroid/inputmethodservice/InputMethodService$SettingsObserver; -Landroid/location/Country;->getCountryIso()Ljava/lang/String; -Landroid/location/Country;->getSource()I -Landroid/location/CountryDetector;->detectCountry()Landroid/location/Country; -Landroid/location/GeocoderParams;->getClientPackage()Ljava/lang/String; -Landroid/location/GeocoderParams;->getLocale()Ljava/util/Locale; -Landroid/location/IGeocodeProvider$Stub;-><init>()V -Landroid/location/IGeocodeProvider;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String; -Landroid/location/IGeocodeProvider;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String; -Landroid/location/IGeofenceProvider$Stub;-><init>()V -Landroid/location/IGeofenceProvider;->setGeofenceHardware(Landroid/hardware/location/IGeofenceHardware;)V -Landroid/location/ILocationListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/location/ILocationListener$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/location/ILocationListener;->onLocationChanged(Landroid/location/Location;)V -Landroid/location/ILocationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager; -Landroid/location/ILocationManager;->getNetworkProviderPackage()Ljava/lang/String; -Landroid/location/ILocationManager;->reportLocation(Landroid/location/Location;Z)V -Landroid/location/INetInitiatedListener$Stub;-><init>()V -Landroid/location/INetInitiatedListener;->sendNiResponse(II)Z -Landroid/location/Location;->mElapsedRealtimeNanos:J -Landroid/location/Location;->removeBearingAccuracy()V -Landroid/location/Location;->removeSpeedAccuracy()V -Landroid/location/Location;->removeVerticalAccuracy()V -Landroid/location/Location;->setExtraLocation(Ljava/lang/String;Landroid/location/Location;)V -Landroid/location/LocationManager;->mService:Landroid/location/ILocationManager; -Landroid/location/LocationRequest;->mHideFromAppOps:Z -Landroid/location/LocationRequest;->mInterval:J -Landroid/location/LocationRequest;->mProvider:Ljava/lang/String; -Landroid/location/LocationRequest;->mWorkSource:Landroid/os/WorkSource; -Landroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder; -Landroid/media/AudioAttributes;->mContentType:I -Landroid/media/AudioAttributes;->mFlags:I -Landroid/media/AudioAttributes;->mFormattedTags:Ljava/lang/String; -Landroid/media/AudioAttributes;->mSource:I -Landroid/media/AudioAttributes;->mUsage:I -Landroid/media/AudioAttributes;->toLegacyStreamType(Landroid/media/AudioAttributes;)I -Landroid/media/AudioDevicePort;-><init>(Landroid/media/AudioHandle;Ljava/lang/String;[I[I[I[I[Landroid/media/AudioGain;ILjava/lang/String;)V -Landroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePort;IIILandroid/media/AudioGainConfig;)V -Landroid/media/AudioFormat;-><init>()V -Landroid/media/AudioFormat;-><init>(IIII)V -Landroid/media/AudioFormat;->mChannelMask:I -Landroid/media/AudioFormat;->mEncoding:I -Landroid/media/AudioFormat;->mSampleRate:I -Landroid/media/AudioGain;-><init>(IIIIIIIII)V -Landroid/media/AudioGainConfig;-><init>(ILandroid/media/AudioGain;II[II)V -Landroid/media/AudioGainConfig;->mChannelMask:I -Landroid/media/AudioGainConfig;->mIndex:I -Landroid/media/AudioGainConfig;->mMode:I -Landroid/media/AudioGainConfig;->mRampDurationMs:I -Landroid/media/AudioGainConfig;->mValues:[I -Landroid/media/AudioHandle;-><init>(I)V -Landroid/media/AudioHandle;->mId:I -Landroid/media/AudioManager;-><init>(Landroid/content/Context;)V -Landroid/media/AudioManager;->STREAM_BLUETOOTH_SCO:I -Landroid/media/AudioManager;->STREAM_SYSTEM_ENFORCED:I -Landroid/media/AudioManager;->STREAM_TTS:I -Landroid/media/AudioManager;->forceVolumeControlStream(I)V -Landroid/media/AudioManager;->getOutputLatency(I)I -Landroid/media/AudioManager;->getService()Landroid/media/IAudioService; -Landroid/media/AudioManager;->mAudioFocusIdListenerMap:Ljava/util/concurrent/ConcurrentHashMap; -Landroid/media/AudioManager;->registerAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V -Landroid/media/AudioManager;->setMasterMute(ZI)V -Landroid/media/AudioManager;->setRingerModeInternal(I)V -Landroid/media/AudioManager;->startBluetoothScoVirtualCall()V -Landroid/media/AudioManager;->unregisterAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V -Landroid/media/AudioMixPort;-><init>(Landroid/media/AudioHandle;IILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V -Landroid/media/AudioMixPortConfig;-><init>(Landroid/media/AudioMixPort;IIILandroid/media/AudioGainConfig;)V -Landroid/media/AudioPatch;-><init>(Landroid/media/AudioHandle;[Landroid/media/AudioPortConfig;[Landroid/media/AudioPortConfig;)V -Landroid/media/AudioPatch;->mHandle:Landroid/media/AudioHandle; -Landroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V -Landroid/media/AudioPort;->mActiveConfig:Landroid/media/AudioPortConfig; -Landroid/media/AudioPort;->mGains:[Landroid/media/AudioGain; -Landroid/media/AudioPort;->mHandle:Landroid/media/AudioHandle; -Landroid/media/AudioPort;->mRole:I -Landroid/media/AudioPortConfig;-><init>(Landroid/media/AudioPort;IIILandroid/media/AudioGainConfig;)V -Landroid/media/AudioPortConfig;->mChannelMask:I -Landroid/media/AudioPortConfig;->mConfigMask:I -Landroid/media/AudioPortConfig;->mFormat:I -Landroid/media/AudioPortConfig;->mGain:Landroid/media/AudioGainConfig; -Landroid/media/AudioPortConfig;->mPort:Landroid/media/AudioPort; -Landroid/media/AudioPortConfig;->mSamplingRate:I -Landroid/media/AudioPortEventHandler;->mJniCallback:J -Landroid/media/AudioPortEventHandler;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V -Landroid/media/AudioRecord;->mNativeCallbackCookie:J -Landroid/media/AudioRecord;->mNativeDeviceCallback:J -Landroid/media/AudioRecord;->mNativeRecorderInJavaObj:J -Landroid/media/AudioRecord;->native_release()V -Landroid/media/AudioRecord;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V -Landroid/media/AudioRecordingConfiguration;->getClientPackageName()Ljava/lang/String; -Landroid/media/AudioRecordingConfiguration;->getClientUid()I -Landroid/media/AudioSystem;->checkAudioFlinger()I -Landroid/media/AudioSystem;->dynamicPolicyCallbackFromNative(ILjava/lang/String;I)V -Landroid/media/AudioSystem;->errorCallbackFromNative(I)V -Landroid/media/AudioSystem;->getForceUse(I)I -Landroid/media/AudioSystem;->getParameters(Ljava/lang/String;)Ljava/lang/String; -Landroid/media/AudioSystem;->getPrimaryOutputFrameCount()I -Landroid/media/AudioSystem;->getPrimaryOutputSamplingRate()I -Landroid/media/AudioSystem;->isSourceActive(I)Z -Landroid/media/AudioSystem;->isStreamActive(II)Z -Landroid/media/AudioSystem;->recordingCallbackFromNative(IIII[I)V -Landroid/media/AudioSystem;->setDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;)I -Landroid/media/AudioSystem;->setErrorCallback(Landroid/media/AudioSystem$ErrorCallback;)V -Landroid/media/AudioSystem;->setForceUse(II)I -Landroid/media/AudioSystem;->setParameters(Ljava/lang/String;)I -Landroid/media/AudioTrack;->deferred_connect(J)V -Landroid/media/AudioTrack;->getLatency()I -Landroid/media/AudioTrack;->mJniData:J -Landroid/media/AudioTrack;->mNativeTrackInJavaObj:J -Landroid/media/AudioTrack;->mStreamType:I -Landroid/media/AudioTrack;->native_release()V -Landroid/media/AudioTrack;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V -Landroid/media/ExifInterface;->getDateTime()J -Landroid/media/IAudioService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/media/IAudioService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioService; -Landroid/media/IAudioService;->getStreamMaxVolume(I)I -Landroid/media/IAudioService;->getStreamVolume(I)I -Landroid/media/IAudioService;->setStreamVolume(IIILjava/lang/String;)V -Landroid/media/IMediaRouterService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaRouterService; -Landroid/media/IMediaScannerService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaScannerService; -Landroid/media/IMediaScannerService;->scanFile(Ljava/lang/String;Ljava/lang/String;)V -Landroid/media/IRemoteDisplayCallback;->onStateChanged(Landroid/media/RemoteDisplayState;)V -Landroid/media/IVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IVolumeController; -Landroid/media/Image;-><init>()V -Landroid/media/JetPlayer;->mNativePlayerInJavaObj:J -Landroid/media/JetPlayer;->postEventFromNative(Ljava/lang/Object;III)V -Landroid/media/MediaCodec$CodecException;-><init>(IILjava/lang/String;)V -Landroid/media/MediaCodec;->getBuffers(Z)[Ljava/nio/ByteBuffer; -Landroid/media/MediaCodec;->releaseOutputBuffer(IZZJ)V -Landroid/media/MediaDrm$Certificate;->getContent()[B -Landroid/media/MediaDrm$Certificate;->getWrappedPrivateKey()[B -Landroid/media/MediaDrm$CertificateRequest;->getData()[B -Landroid/media/MediaDrm$CertificateRequest;->getDefaultUrl()Ljava/lang/String; -Landroid/media/MediaDrm;->getCertificateRequest(ILjava/lang/String;)Landroid/media/MediaDrm$CertificateRequest; -Landroid/media/MediaDrm;->provideCertificateResponse([B)Landroid/media/MediaDrm$Certificate; -Landroid/media/MediaDrm;->signRSA([BLjava/lang/String;[B[B)[B -Landroid/media/MediaFile$MediaFileType;->fileType:I -Landroid/media/MediaFile$MediaFileType;->mimeType:Ljava/lang/String; -Landroid/media/MediaFile;-><init>()V -Landroid/media/MediaFile;->FIRST_AUDIO_FILE_TYPE:I -Landroid/media/MediaFile;->LAST_AUDIO_FILE_TYPE:I -Landroid/media/MediaFile;->getFileType(Ljava/lang/String;)Landroid/media/MediaFile$MediaFileType; -Landroid/media/MediaFile;->getFileTypeForMimeType(Ljava/lang/String;)I -Landroid/media/MediaFile;->getMimeTypeForFile(Ljava/lang/String;)Ljava/lang/String; -Landroid/media/MediaFile;->isAudioFileType(I)Z -Landroid/media/MediaFile;->isImageFileType(I)Z -Landroid/media/MediaFile;->isPlayListFileType(I)Z -Landroid/media/MediaFile;->isVideoFileType(I)Z -Landroid/media/MediaFile;->sFileTypeMap:Ljava/util/HashMap; -Landroid/media/MediaFormat;->getMap()Ljava/util/Map; -Landroid/media/MediaHTTPService;->createHttpServiceBinderIfNecessary(Ljava/lang/String;)Landroid/os/IBinder; -Landroid/media/MediaMetadataRetriever;->getEmbeddedPicture(I)[B -Landroid/media/MediaPlayer;->getMetadata(ZZ)Landroid/media/Metadata; -Landroid/media/MediaPlayer;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V -Landroid/media/MediaPlayer;->mEventHandler:Landroid/media/MediaPlayer$EventHandler; -Landroid/media/MediaPlayer;->newRequest()Landroid/os/Parcel; -Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;)V -Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V -Landroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;)V -Landroid/media/MediaPlayer;->setRetransmitEndpoint(Ljava/net/InetSocketAddress;)V -Landroid/media/MediaRecorder;->setParameter(Ljava/lang/String;)V -Landroid/media/MediaRouter$RouteInfo;->STATUS_CONNECTING:I -Landroid/media/MediaRouter$RouteInfo;->getStatusCode()I -Landroid/media/MediaRouter;->selectRouteInt(ILandroid/media/MediaRouter$RouteInfo;Z)V -Landroid/media/MediaScanner;->isNoMediaPath(Ljava/lang/String;)Z -Landroid/media/MediaScanner;->mClient:Landroid/media/MediaScanner$MyMediaScannerClient; -Landroid/media/MediaScanner;->scanSingleFile(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; -Landroid/media/Metadata;->PAUSE_AVAILABLE:I -Landroid/media/Metadata;->SEEK_BACKWARD_AVAILABLE:I -Landroid/media/Metadata;->SEEK_FORWARD_AVAILABLE:I -Landroid/media/Metadata;->getBoolean(I)Z -Landroid/media/Metadata;->has(I)Z -Landroid/media/MicrophoneInfo;-><init>(Ljava/lang/String;ILjava/lang/String;IIILandroid/media/MicrophoneInfo$Coordinate3F;Landroid/media/MicrophoneInfo$Coordinate3F;Ljava/util/List;Ljava/util/List;FFFI)V -Landroid/media/MiniThumbFile;->reset()V -Landroid/media/PlaybackParams;->SET_AUDIO_FALLBACK_MODE:I -Landroid/media/PlaybackParams;->SET_AUDIO_STRETCH_MODE:I -Landroid/media/PlaybackParams;->SET_PITCH:I -Landroid/media/PlaybackParams;->SET_SPEED:I -Landroid/media/PlaybackParams;->mAudioFallbackMode:I -Landroid/media/PlaybackParams;->mAudioStretchMode:I -Landroid/media/PlaybackParams;->mPitch:F -Landroid/media/PlaybackParams;->mSet:I -Landroid/media/PlaybackParams;->mSpeed:F -Landroid/media/RemoteDisplay;->notifyDisplayConnected(Landroid/view/Surface;IIII)V -Landroid/media/RemoteDisplay;->notifyDisplayDisconnected()V -Landroid/media/RemoteDisplay;->notifyDisplayError(I)V -Landroid/media/RemoteDisplayState;-><init>()V -Landroid/media/RemoteDisplayState;->displays:Ljava/util/ArrayList; -Landroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;I)Landroid/media/Ringtone; -Landroid/media/SubtitleController;->mHandler:Landroid/os/Handler; -Landroid/media/SubtitleTrack$RenderingWidget;->draw(Landroid/graphics/Canvas;)V -Landroid/media/SubtitleTrack$RenderingWidget;->onAttachedToWindow()V -Landroid/media/SubtitleTrack$RenderingWidget;->onDetachedFromWindow()V -Landroid/media/SubtitleTrack$RenderingWidget;->setOnChangedListener(Landroid/media/SubtitleTrack$RenderingWidget$OnChangedListener;)V -Landroid/media/SubtitleTrack$RenderingWidget;->setSize(II)V -Landroid/media/ThumbnailUtils;->createImageThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap; -Landroid/media/ToneGenerator;->mNativeContext:J -Landroid/media/VolumeShaper$Configuration;-><init>(IIIDI[F[F)V -Landroid/media/VolumeShaper$Configuration;->mDurationMs:D -Landroid/media/VolumeShaper$Configuration;->mId:I -Landroid/media/VolumeShaper$Configuration;->mInterpolatorType:I -Landroid/media/VolumeShaper$Configuration;->mOptionFlags:I -Landroid/media/VolumeShaper$Configuration;->mTimes:[F -Landroid/media/VolumeShaper$Configuration;->mType:I -Landroid/media/VolumeShaper$Configuration;->mVolumes:[F -Landroid/media/VolumeShaper$Operation;-><init>(IIF)V -Landroid/media/VolumeShaper$Operation;->mFlags:I -Landroid/media/VolumeShaper$Operation;->mReplaceId:I -Landroid/media/VolumeShaper$Operation;->mXOffset:F -Landroid/media/VolumeShaper$State;-><init>(FF)V -Landroid/media/VolumeShaper$State;->mVolume:F -Landroid/media/VolumeShaper$State;->mXOffset:F -Landroid/media/audiofx/AudioEffect;-><init>(Ljava/util/UUID;Ljava/util/UUID;II)V -Landroid/media/audiofx/AudioEffect;->command(I[B[B)I -Landroid/media/audiofx/AudioEffect;->getParameter([I[B)I -Landroid/media/audiofx/AudioEffect;->getParameter([I[I)I -Landroid/media/audiofx/AudioEffect;->setParameter([I[S)I -Landroid/media/audiopolicy/AudioMix;->mCallbackFlags:I -Landroid/media/audiopolicy/AudioMix;->mDeviceAddress:Ljava/lang/String; -Landroid/media/audiopolicy/AudioMix;->mDeviceSystemType:I -Landroid/media/audiopolicy/AudioMix;->mFormat:Landroid/media/AudioFormat; -Landroid/media/audiopolicy/AudioMix;->mMixType:I -Landroid/media/audiopolicy/AudioMix;->mRouteFlags:I -Landroid/media/audiopolicy/AudioMix;->mRule:Landroid/media/audiopolicy/AudioMixingRule; -Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->mAttr:Landroid/media/AudioAttributes; -Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->mIntProp:I -Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->mRule:I -Landroid/media/audiopolicy/AudioMixingRule;->mCriteria:Ljava/util/ArrayList; -Landroid/media/session/ISessionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionManager; -Landroid/media/session/MediaSession;->getCallingPackage()Ljava/lang/String; -Landroid/media/session/MediaSession;->mCallback:Landroid/media/session/MediaSession$CallbackMessageHandler; -Landroid/media/session/MediaSessionLegacyHelper;->getHelper(Landroid/content/Context;)Landroid/media/session/MediaSessionLegacyHelper; -Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->getCaptureSession()Ljava/lang/Integer; -Landroid/media/soundtrigger/SoundTriggerDetector$EventPayload;->getData()[B -Landroid/media/soundtrigger/SoundTriggerManager;->loadSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;)I -Landroid/media/soundtrigger/SoundTriggerManager;->startRecognition(Ljava/util/UUID;Landroid/app/PendingIntent;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I -Landroid/media/soundtrigger/SoundTriggerManager;->startRecognition(Ljava/util/UUID;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I -Landroid/media/soundtrigger/SoundTriggerManager;->stopRecognition(Ljava/util/UUID;)I -Landroid/media/soundtrigger/SoundTriggerManager;->unloadSoundModel(Ljava/util/UUID;)I -Landroid/media/tv/ITvRemoteProvider$Stub;-><init>()V -Landroid/media/tv/ITvRemoteServiceInput;->clearInputBridge(Landroid/os/IBinder;)V -Landroid/media/tv/ITvRemoteServiceInput;->closeInputBridge(Landroid/os/IBinder;)V -Landroid/media/tv/ITvRemoteServiceInput;->openInputBridge(Landroid/os/IBinder;Ljava/lang/String;III)V -Landroid/media/tv/ITvRemoteServiceInput;->sendKeyDown(Landroid/os/IBinder;I)V -Landroid/media/tv/ITvRemoteServiceInput;->sendKeyUp(Landroid/os/IBinder;I)V -Landroid/media/tv/ITvRemoteServiceInput;->sendPointerDown(Landroid/os/IBinder;III)V -Landroid/media/tv/ITvRemoteServiceInput;->sendPointerSync(Landroid/os/IBinder;)V -Landroid/media/tv/ITvRemoteServiceInput;->sendPointerUp(Landroid/os/IBinder;I)V -Landroid/media/tv/ITvRemoteServiceInput;->sendTimestamp(Landroid/os/IBinder;J)V -Landroid/media/tv/TvInputManager$Hardware;->dispatchKeyEventToHdmi(Landroid/view/KeyEvent;)Z -Landroid/media/tv/TvInputManager;->acquireTvInputHardware(ILandroid/media/tv/TvInputManager$HardwareCallback;Landroid/media/tv/TvInputInfo;)Landroid/media/tv/TvInputManager$Hardware; -Landroid/media/tv/TvView;->requestUnblockContent(Landroid/media/tv/TvContentRating;)V -Landroid/net/ConnectivityManager$PacketKeepalive;->stop()V -Landroid/net/ConnectivityManager$PacketKeepaliveCallback;-><init>()V -Landroid/net/ConnectivityManager$PacketKeepaliveCallback;->onError(I)V -Landroid/net/ConnectivityManager$PacketKeepaliveCallback;->onStarted()V -Landroid/net/ConnectivityManager$PacketKeepaliveCallback;->onStopped()V -Landroid/net/ConnectivityManager;->ACTION_TETHER_STATE_CHANGED:Ljava/lang/String; -Landroid/net/ConnectivityManager;->EXTRA_ACTIVE_TETHER:Ljava/lang/String; -Landroid/net/ConnectivityManager;->TYPE_MOBILE_CBS:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_EMERGENCY:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_FOTA:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_IA:I -Landroid/net/ConnectivityManager;->TYPE_MOBILE_IMS:I -Landroid/net/ConnectivityManager;->TYPE_NONE:I -Landroid/net/ConnectivityManager;->TYPE_PROXY:I -Landroid/net/ConnectivityManager;->TYPE_WIFI_P2P:I -Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties; -Landroid/net/ConnectivityManager;->getActiveNetworkQuotaInfo()Landroid/net/NetworkQuotaInfo; -Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties; -Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z -Landroid/net/ConnectivityManager;->getTetherableUsbRegexs()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetherableWifiRegexs()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->getTetheredIfaces()[Ljava/lang/String; -Landroid/net/ConnectivityManager;->isNetworkSupported(I)Z -Landroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z -Landroid/net/ConnectivityManager;->mService:Landroid/net/IConnectivityManager; -Landroid/net/ConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V -Landroid/net/ConnectivityManager;->requestRouteToHost(II)Z -Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z -Landroid/net/ConnectivityManager;->setAirplaneMode(Z)V -Landroid/net/ConnectivityManager;->setBackgroundDataSetting(Z)V -Landroid/net/ConnectivityManager;->startNattKeepalive(Landroid/net/Network;ILandroid/net/ConnectivityManager$PacketKeepaliveCallback;Ljava/net/InetAddress;ILjava/net/InetAddress;)Landroid/net/ConnectivityManager$PacketKeepalive; -Landroid/net/ConnectivityManager;->startUsingNetworkFeature(ILjava/lang/String;)I -Landroid/net/ConnectivityManager;->stopUsingNetworkFeature(ILjava/lang/String;)I -Landroid/net/ConnectivityManager;->tether(Ljava/lang/String;)I -Landroid/net/ConnectivityManager;->untether(Ljava/lang/String;)I -Landroid/net/DhcpResults;-><init>()V -Landroid/net/DhcpResults;-><init>(Landroid/net/DhcpResults;)V -Landroid/net/DhcpResults;-><init>(Landroid/net/StaticIpConfiguration;)V -Landroid/net/DhcpResults;->leaseDuration:I -Landroid/net/DhcpResults;->mtu:I -Landroid/net/DhcpResults;->serverAddress:Ljava/net/Inet4Address; -Landroid/net/DhcpResults;->vendorInfo:Ljava/lang/String; -Landroid/net/IConnectivityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveLinkProperties()Landroid/net/LinkProperties; -Landroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkInfo()Landroid/net/NetworkInfo; -Landroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworkInfo()[Landroid/net/NetworkInfo; -Landroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworks()[Landroid/net/Network; -Landroid/net/IConnectivityManager$Stub$Proxy;->getTetherableIfaces()[Ljava/lang/String; -Landroid/net/IConnectivityManager$Stub$Proxy;->getTetherableUsbRegexs()[Ljava/lang/String; -Landroid/net/IConnectivityManager$Stub$Proxy;->getTetheredIfaces()[Ljava/lang/String; -Landroid/net/IConnectivityManager$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager; -Landroid/net/IConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties; -Landroid/net/IConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo; -Landroid/net/IConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo; -Landroid/net/IConnectivityManager;->getAllNetworkState()[Landroid/net/NetworkState; -Landroid/net/IConnectivityManager;->getTetheredIfaces()[Ljava/lang/String; -Landroid/net/INetd$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetd; -Landroid/net/INetd;->interfaceAddAddress(Ljava/lang/String;Ljava/lang/String;I)V -Landroid/net/INetworkPolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkPolicyManager; -Landroid/net/INetworkPolicyManager;->getNetworkQuotaInfo(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo; -Landroid/net/INetworkScoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkScoreService; -Landroid/net/INetworkStatsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/net/INetworkStatsService$Stub$Proxy;->getMobileIfaces()[Ljava/lang/String; -Landroid/net/INetworkStatsService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsService; -Landroid/net/INetworkStatsService;->openSession()Landroid/net/INetworkStatsSession; -Landroid/net/INetworkStatsSession;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory; -Landroid/net/INetworkStatsSession;->getHistoryForUid(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory; -Landroid/net/InterfaceConfiguration;-><init>()V -Landroid/net/InterfaceConfiguration;->setLinkAddress(Landroid/net/LinkAddress;)V -Landroid/net/IpConfiguration;->httpProxy:Landroid/net/ProxyInfo; -Landroid/net/LinkAddress;-><init>(Ljava/lang/String;)V -Landroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;I)V -Landroid/net/LinkAddress;->isIPv6()Z -Landroid/net/LinkAddress;->isSameAddressAs(Landroid/net/LinkAddress;)Z -Landroid/net/LinkProperties$ProvisioningChange;->GAINED_PROVISIONING:Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties$ProvisioningChange;->LOST_PROVISIONING:Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties$ProvisioningChange;->STILL_NOT_PROVISIONED:Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties$ProvisioningChange;->STILL_PROVISIONED:Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties$ProvisioningChange;->values()[Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties;-><init>()V -Landroid/net/LinkProperties;-><init>(Landroid/net/LinkProperties;)V -Landroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z -Landroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z -Landroid/net/LinkProperties;->addStackedLink(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->clear()V -Landroid/net/LinkProperties;->compareProvisioning(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)Landroid/net/LinkProperties$ProvisioningChange; -Landroid/net/LinkProperties;->getAllInterfaceNames()Ljava/util/List; -Landroid/net/LinkProperties;->getAllRoutes()Ljava/util/List; -Landroid/net/LinkProperties;->getMtu()I -Landroid/net/LinkProperties;->getStackedLinks()Ljava/util/List; -Landroid/net/LinkProperties;->hasGlobalIPv6Address()Z -Landroid/net/LinkProperties;->hasIPv4Address()Z -Landroid/net/LinkProperties;->hasIPv4DefaultRoute()Z -Landroid/net/LinkProperties;->hasIPv4DnsServer()Z -Landroid/net/LinkProperties;->hasIPv6DefaultRoute()Z -Landroid/net/LinkProperties;->hasIPv6DnsServer()Z -Landroid/net/LinkProperties;->isIPv6Provisioned()Z -Landroid/net/LinkProperties;->isIdenticalAddresses(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIdenticalDnses(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIdenticalRoutes(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isIdenticalStackedLinks(Landroid/net/LinkProperties;)Z -Landroid/net/LinkProperties;->isProvisioned()Z -Landroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z -Landroid/net/LinkProperties;->removeDnsServer(Ljava/net/InetAddress;)Z -Landroid/net/LinkProperties;->removeRoute(Landroid/net/RouteInfo;)Z -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/LinkProperties;->setTcpBufferSizes(Ljava/lang/String;)V -Landroid/net/LocalSocketImpl;->inboundFileDescriptors:[Ljava/io/FileDescriptor; -Landroid/net/LocalSocketImpl;->outboundFileDescriptors:[Ljava/io/FileDescriptor; -Landroid/net/MacAddress;->ALL_ZEROS_ADDRESS:Landroid/net/MacAddress; -Landroid/net/Network;-><init>(I)V -Landroid/net/Network;->netId:I -Landroid/net/NetworkBadging$Badging; -Landroid/net/NetworkBadging; -Landroid/net/NetworkBadging;->BADGING_4K:I -Landroid/net/NetworkBadging;->BADGING_HD:I -Landroid/net/NetworkBadging;->BADGING_NONE:I -Landroid/net/NetworkBadging;->BADGING_SD:I -Landroid/net/NetworkBadging;->getWifiIcon(IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable; -Landroid/net/NetworkCapabilities;->getCapabilities()[I -Landroid/net/NetworkCapabilities;->getNetworkSpecifier()Landroid/net/NetworkSpecifier; -Landroid/net/NetworkCapabilities;->getSignalStrength()I -Landroid/net/NetworkCapabilities;->getTransportTypes()[I -Landroid/net/NetworkCapabilities;->hasSignalStrength()Z -Landroid/net/NetworkCapabilities;->transportNamesOf([I)Ljava/lang/String; -Landroid/net/NetworkPolicyManager;->mService:Landroid/net/INetworkPolicyManager; -Landroid/net/NetworkQuotaInfo;->getEstimatedBytes()J -Landroid/net/NetworkQuotaInfo;->getHardLimitBytes()J -Landroid/net/NetworkQuotaInfo;->getSoftLimitBytes()J -Landroid/net/NetworkRequest$Builder;->setSignalStrength(I)Landroid/net/NetworkRequest$Builder; -Landroid/net/NetworkRequest;->networkCapabilities:Landroid/net/NetworkCapabilities; -Landroid/net/NetworkState;->network:Landroid/net/Network; -Landroid/net/NetworkStats$Entry;-><init>()V -Landroid/net/NetworkStats$Entry;->iface:Ljava/lang/String; -Landroid/net/NetworkStats$Entry;->rxBytes:J -Landroid/net/NetworkStats$Entry;->rxPackets:J -Landroid/net/NetworkStats$Entry;->set:I -Landroid/net/NetworkStats$Entry;->tag:I -Landroid/net/NetworkStats$Entry;->txBytes:J -Landroid/net/NetworkStats$Entry;->txPackets:J -Landroid/net/NetworkStats$Entry;->uid:I -Landroid/net/NetworkStats;-><init>(JI)V -Landroid/net/NetworkStats;->capacity:I -Landroid/net/NetworkStats;->combineValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats; -Landroid/net/NetworkStats;->defaultNetwork:[I -Landroid/net/NetworkStats;->iface:[Ljava/lang/String; -Landroid/net/NetworkStats;->metered:[I -Landroid/net/NetworkStats;->operations:[J -Landroid/net/NetworkStats;->roaming:[I -Landroid/net/NetworkStats;->rxBytes:[J -Landroid/net/NetworkStats;->rxPackets:[J -Landroid/net/NetworkStats;->set:[I -Landroid/net/NetworkStats;->size:I -Landroid/net/NetworkStats;->tag:[I -Landroid/net/NetworkStats;->txBytes:[J -Landroid/net/NetworkStats;->txPackets:[J -Landroid/net/NetworkStats;->uid:[I -Landroid/net/NetworkStatsHistory$Entry;->rxBytes:J -Landroid/net/NetworkStatsHistory$Entry;->txBytes:J -Landroid/net/NetworkStatsHistory;->getStart()J -Landroid/net/NetworkStatsHistory;->getValues(JJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry; -Landroid/net/NetworkTemplate;->buildTemplateMobileAll(Ljava/lang/String;)Landroid/net/NetworkTemplate; -Landroid/net/NetworkTemplate;->buildTemplateWifi()Landroid/net/NetworkTemplate; -Landroid/net/NetworkUtils;->attachControlPacketFilter(Ljava/io/FileDescriptor;I)V -Landroid/net/NetworkUtils;->attachDhcpFilter(Ljava/io/FileDescriptor;)V -Landroid/net/NetworkUtils;->attachRaFilter(Ljava/io/FileDescriptor;I)V -Landroid/net/NetworkUtils;->getImplicitNetmask(Ljava/net/Inet4Address;)I -Landroid/net/NetworkUtils;->netmaskToPrefixLength(Ljava/net/Inet4Address;)I -Landroid/net/NetworkUtils;->protectFromVpn(Ljava/io/FileDescriptor;)Z -Landroid/net/Proxy;->getProxy(Landroid/content/Context;Ljava/lang/String;)Ljava/net/Proxy; -Landroid/net/ProxyInfo;-><init>(Ljava/lang/String;ILjava/lang/String;)V -Landroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;)V -Landroid/net/RouteInfo;->hasGateway()Z -Landroid/net/RouteInfo;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo; -Landroid/net/SSLCertificateSocketFactory;-><init>(ILandroid/net/SSLSessionCache;Z)V -Landroid/net/SSLCertificateSocketFactory;->INSECURE_TRUST_MANAGER:[Ljavax/net/ssl/TrustManager; -Landroid/net/SSLCertificateSocketFactory;->TAG:Ljava/lang/String; -Landroid/net/SSLCertificateSocketFactory;->castToOpenSSLSocket(Ljava/net/Socket;)Lcom/android/org/conscrypt/OpenSSLSocketImpl; -Landroid/net/SSLCertificateSocketFactory;->getAlpnSelectedProtocol(Ljava/net/Socket;)[B -Landroid/net/SSLCertificateSocketFactory;->getDelegate()Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->getHttpSocketFactory(ILandroid/net/SSLSessionCache;)Lorg/apache/http/conn/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->isSslCheckRelaxed()Z -Landroid/net/SSLCertificateSocketFactory;->mAlpnProtocols:[B -Landroid/net/SSLCertificateSocketFactory;->mChannelIdPrivateKey:Ljava/security/PrivateKey; -Landroid/net/SSLCertificateSocketFactory;->mHandshakeTimeoutMillis:I -Landroid/net/SSLCertificateSocketFactory;->mInsecureFactory:Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->mKeyManagers:[Ljavax/net/ssl/KeyManager; -Landroid/net/SSLCertificateSocketFactory;->mNpnProtocols:[B -Landroid/net/SSLCertificateSocketFactory;->mSecure:Z -Landroid/net/SSLCertificateSocketFactory;->mSecureFactory:Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->mSessionCache:Lcom/android/org/conscrypt/SSLClientSessionCache; -Landroid/net/SSLCertificateSocketFactory;->mTrustManagers:[Ljavax/net/ssl/TrustManager; -Landroid/net/SSLCertificateSocketFactory;->makeSocketFactory([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;)Ljavax/net/ssl/SSLSocketFactory; -Landroid/net/SSLCertificateSocketFactory;->setAlpnProtocols([[B)V -Landroid/net/SSLCertificateSocketFactory;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V -Landroid/net/SSLCertificateSocketFactory;->setSoWriteTimeout(Ljava/net/Socket;I)V -Landroid/net/SSLCertificateSocketFactory;->verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V -Landroid/net/SSLSessionCache;->mSessionCache:Lcom/android/org/conscrypt/SSLClientSessionCache; -Landroid/net/SntpClient;-><init>()V -Landroid/net/SntpClient;->getNtpTime()J -Landroid/net/SntpClient;->getNtpTimeReference()J -Landroid/net/SntpClient;->getRoundTripTime()J -Landroid/net/SntpClient;->requestTime(Ljava/lang/String;I)Z -Landroid/net/StaticIpConfiguration;-><init>()V -Landroid/net/StaticIpConfiguration;->dnsServers:Ljava/util/ArrayList; -Landroid/net/StaticIpConfiguration;->domains:Ljava/lang/String; -Landroid/net/StaticIpConfiguration;->gateway:Ljava/net/InetAddress; -Landroid/net/StaticIpConfiguration;->getRoutes(Ljava/lang/String;)Ljava/util/List; -Landroid/net/StaticIpConfiguration;->ipAddress:Landroid/net/LinkAddress; -Landroid/net/StringNetworkSpecifier;->specifier:Ljava/lang/String; -Landroid/net/TrafficStats;->getMobileIfaces()[Ljava/lang/String; -Landroid/net/TrafficStats;->getMobileTcpRxPackets()J -Landroid/net/TrafficStats;->getMobileTcpTxPackets()J -Landroid/net/TrafficStats;->getRxBytes(Ljava/lang/String;)J -Landroid/net/TrafficStats;->getStatsService()Landroid/net/INetworkStatsService; -Landroid/net/TrafficStats;->getTxBytes(Ljava/lang/String;)J -Landroid/net/TrafficStats;->setThreadStatsUidSelf()V -Landroid/net/Uri;-><init>()V -Landroid/net/http/SslError;->mCertificate:Landroid/net/http/SslCertificate; -Landroid/net/metrics/ApfProgramEvent;-><init>()V -Landroid/net/metrics/ApfProgramEvent;->actualLifetime:J -Landroid/net/metrics/ApfProgramEvent;->currentRas:I -Landroid/net/metrics/ApfProgramEvent;->filteredRas:I -Landroid/net/metrics/ApfProgramEvent;->flags:I -Landroid/net/metrics/ApfProgramEvent;->flagsFor(ZZ)I -Landroid/net/metrics/ApfProgramEvent;->lifetime:J -Landroid/net/metrics/ApfProgramEvent;->programLength:I -Landroid/net/metrics/ApfStats;-><init>()V -Landroid/net/metrics/ApfStats;->droppedRas:I -Landroid/net/metrics/ApfStats;->durationMs:J -Landroid/net/metrics/ApfStats;->matchingRas:I -Landroid/net/metrics/ApfStats;->maxProgramSize:I -Landroid/net/metrics/ApfStats;->parseErrors:I -Landroid/net/metrics/ApfStats;->programUpdates:I -Landroid/net/metrics/ApfStats;->programUpdatesAll:I -Landroid/net/metrics/ApfStats;->programUpdatesAllowingMulticast:I -Landroid/net/metrics/ApfStats;->receivedRas:I -Landroid/net/metrics/ApfStats;->zeroLifetimeRas:I -Landroid/net/metrics/DhcpClientEvent;-><init>(Ljava/lang/String;I)V -Landroid/net/metrics/DhcpErrorEvent;-><init>(I)V -Landroid/net/metrics/DhcpErrorEvent;->BOOTP_TOO_SHORT:I -Landroid/net/metrics/DhcpErrorEvent;->BUFFER_UNDERFLOW:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_BAD_MAGIC_COOKIE:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_INVALID_OPTION_LENGTH:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_NO_COOKIE:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_NO_MSG_TYPE:I -Landroid/net/metrics/DhcpErrorEvent;->DHCP_UNKNOWN_MSG_TYPE:I -Landroid/net/metrics/DhcpErrorEvent;->L2_TOO_SHORT:I -Landroid/net/metrics/DhcpErrorEvent;->L2_WRONG_ETH_TYPE:I -Landroid/net/metrics/DhcpErrorEvent;->L3_INVALID_IP:I -Landroid/net/metrics/DhcpErrorEvent;->L3_NOT_IPV4:I -Landroid/net/metrics/DhcpErrorEvent;->L3_TOO_SHORT:I -Landroid/net/metrics/DhcpErrorEvent;->L4_NOT_UDP:I -Landroid/net/metrics/DhcpErrorEvent;->L4_WRONG_PORT:I -Landroid/net/metrics/DhcpErrorEvent;->PARSING_ERROR:I -Landroid/net/metrics/DhcpErrorEvent;->RECEIVE_ERROR:I -Landroid/net/metrics/DhcpErrorEvent;->errorCodeWithOption(II)I -Landroid/net/metrics/IpConnectivityLog;-><init>()V -Landroid/net/metrics/IpConnectivityLog;->log(Landroid/os/Parcelable;)Z -Landroid/net/metrics/IpConnectivityLog;->log(Ljava/lang/String;Landroid/os/Parcelable;)Z -Landroid/net/metrics/IpManagerEvent;-><init>(IJ)V -Landroid/net/metrics/IpReachabilityEvent;-><init>(I)V -Landroid/net/metrics/IpReachabilityEvent;->nudFailureEventType(ZZ)I -Landroid/net/metrics/RaEvent$Builder;-><init>()V -Landroid/net/metrics/RaEvent$Builder;->build()Landroid/net/metrics/RaEvent; -Landroid/net/metrics/RaEvent$Builder;->updateDnsslLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updatePrefixPreferredLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updatePrefixValidLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updateRdnssLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updateRouteInfoLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/metrics/RaEvent$Builder;->updateRouterLifetime(J)Landroid/net/metrics/RaEvent$Builder; -Landroid/net/sip/SipProfile;->readResolve()Ljava/lang/Object; -Landroid/net/sip/SipProfile;->serialVersionUID:J -Landroid/net/wifi/BatchedScanResult; -Landroid/net/wifi/BatchedScanResult;-><init>()V -Landroid/net/wifi/BatchedScanResult;-><init>(Landroid/net/wifi/BatchedScanResult;)V -Landroid/net/wifi/BatchedScanResult;->scanResults:Ljava/util/List; -Landroid/net/wifi/BatchedScanResult;->truncated:Z -Landroid/net/wifi/IWifiManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/net/wifi/IWifiManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiManager; -Landroid/net/wifi/IWifiScanner$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/net/wifi/IWifiScanner$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Landroid/net/wifi/IWifiScanner$Stub;-><init>()V -Landroid/net/wifi/IWifiScanner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiScanner; -Landroid/net/wifi/ScanResult$InformationElement;->EID_BSS_LOAD:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_ERP:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_EXTENDED_CAPS:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_EXTENDED_SUPPORTED_RATES:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_HT_OPERATION:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_INTERWORKING:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_ROAMING_CONSORTIUM:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_RSN:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_SSID:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_SUPPORTED_RATES:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_TIM:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_VHT_OPERATION:I -Landroid/net/wifi/ScanResult$InformationElement;->EID_VSA:I -Landroid/net/wifi/ScanResult$InformationElement;->bytes:[B -Landroid/net/wifi/ScanResult$InformationElement;->id:I -Landroid/net/wifi/ScanResult;->anqpDomainId:I -Landroid/net/wifi/ScanResult;->anqpLines:Ljava/util/List; -Landroid/net/wifi/ScanResult;->distanceCm:I -Landroid/net/wifi/ScanResult;->distanceSdCm:I -Landroid/net/wifi/ScanResult;->flags:J -Landroid/net/wifi/ScanResult;->hessid:J -Landroid/net/wifi/ScanResult;->informationElements:[Landroid/net/wifi/ScanResult$InformationElement; -Landroid/net/wifi/ScanResult;->numUsage:I -Landroid/net/wifi/ScanResult;->seen:J -Landroid/net/wifi/ScanResult;->untrusted:Z -Landroid/net/wifi/ScanResult;->wifiSsid:Landroid/net/wifi/WifiSsid; -Landroid/net/wifi/WifiConfiguration;->apBand:I -Landroid/net/wifi/WifiConfiguration;->apChannel:I -Landroid/net/wifi/WifiConfiguration;->defaultGwMacAddress:Ljava/lang/String; -Landroid/net/wifi/WifiConfiguration;->lastConnectUid:I -Landroid/net/wifi/WifiConfiguration;->mIpConfiguration:Landroid/net/IpConfiguration; -Landroid/net/wifi/WifiConfiguration;->setIpAssignment(Landroid/net/IpConfiguration$IpAssignment;)V -Landroid/net/wifi/WifiConfiguration;->setStaticIpConfiguration(Landroid/net/StaticIpConfiguration;)V -Landroid/net/wifi/WifiConfiguration;->validatedInternetAccess:Z -Landroid/net/wifi/WifiEnterpriseConfig;->getCaCertificateAlias()Ljava/lang/String; -Landroid/net/wifi/WifiEnterpriseConfig;->getClientCertificateAlias()Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->DEFAULT_MAC_ADDRESS:Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->getMeteredHint()Z -Landroid/net/wifi/WifiInfo;->getWifiSsid()Landroid/net/wifi/WifiSsid; -Landroid/net/wifi/WifiInfo;->is5GHz()Z -Landroid/net/wifi/WifiInfo;->mMacAddress:Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->removeDoubleQuotes(Ljava/lang/String;)Ljava/lang/String; -Landroid/net/wifi/WifiInfo;->score:I -Landroid/net/wifi/WifiManager;->cancelLocalOnlyHotspotRequest()V -Landroid/net/wifi/WifiManager;->connect(ILandroid/net/wifi/WifiManager$ActionListener;)V -Landroid/net/wifi/WifiManager;->forget(ILandroid/net/wifi/WifiManager$ActionListener;)V -Landroid/net/wifi/WifiManager;->isDualBandSupported()Z -Landroid/net/wifi/WifiManager;->mService:Landroid/net/wifi/IWifiManager; -Landroid/net/wifi/WifiManager;->save(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiManager$ActionListener;)V -Landroid/net/wifi/WifiSsid;->NONE:Ljava/lang/String; -Landroid/net/wifi/WifiSsid;->getOctets()[B -Landroid/net/wifi/p2p/WifiP2pGroup;->TEMPORARY_NET_ID:I -Landroid/net/wifi/p2p/WifiP2pGroup;->getNetworkId()I -Landroid/net/wifi/p2p/WifiP2pGroupList;->getGroupList()Ljava/util/Collection; -Landroid/net/wifi/p2p/WifiP2pManager$Channel;->mAsyncChannel:Lcom/android/internal/util/AsyncChannel; -Landroid/net/wifi/p2p/WifiP2pManager$Channel;->putListener(Ljava/lang/Object;)I -Landroid/net/wifi/p2p/WifiP2pManager;->CREATE_GROUP:I -Landroid/net/wifi/p2p/WifiP2pManager;->deletePersistentGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;ILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->requestPersistentGroupInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$PersistentGroupInfoListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->setDeviceName(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Ljava/lang/String;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/net/wifi/p2p/WifiP2pManager;->setWifiP2pChannels(Landroid/net/wifi/p2p/WifiP2pManager$Channel;IILandroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V -Landroid/nfc/NfcAdapter;->getAdapterState()I -Landroid/nfc/NfcAdapter;->getDefaultAdapter()Landroid/nfc/NfcAdapter; -Landroid/nfc/NfcAdapter;->getNfcAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter; -Landroid/nfc/NfcAdapter;->setNdefPushMessageCallback(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;Landroid/app/Activity;I)V -Landroid/opengl/GLSurfaceView$EglHelper;->mEglContext:Ljavax/microedition/khronos/egl/EGLContext; -Landroid/opengl/GLSurfaceView$GLThread;->mEglHelper:Landroid/opengl/GLSurfaceView$EglHelper; -Landroid/opengl/GLSurfaceView;->mGLThread:Landroid/opengl/GLSurfaceView$GLThread; -Landroid/opengl/GLSurfaceView;->mRenderer:Landroid/opengl/GLSurfaceView$Renderer; -Landroid/os/AsyncResult;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V -Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable; -Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult; -Landroid/os/AsyncResult;->result:Ljava/lang/Object; -Landroid/os/AsyncResult;->userObj:Ljava/lang/Object; -Landroid/os/AsyncTask;->mFuture:Ljava/util/concurrent/FutureTask; -Landroid/os/AsyncTask;->mStatus:Landroid/os/AsyncTask$Status; -Landroid/os/AsyncTask;->mTaskInvoked:Ljava/util/concurrent/atomic/AtomicBoolean; -Landroid/os/AsyncTask;->mWorker:Landroid/os/AsyncTask$WorkerRunnable; -Landroid/os/AsyncTask;->sDefaultExecutor:Ljava/util/concurrent/Executor; -Landroid/os/AsyncTask;->setDefaultExecutor(Ljava/util/concurrent/Executor;)V -Landroid/os/BatteryManager;-><init>()V -Landroid/os/BatteryStats$Counter;->getCountLocked(I)I -Landroid/os/BatteryStats$HistoryItem;-><init>()V -Landroid/os/BatteryStats$HistoryItem;->CMD_UPDATE:B -Landroid/os/BatteryStats$HistoryItem;->batteryLevel:B -Landroid/os/BatteryStats$HistoryItem;->cmd:B -Landroid/os/BatteryStats$HistoryItem;->states2:I -Landroid/os/BatteryStats$HistoryItem;->states:I -Landroid/os/BatteryStats$HistoryItem;->time:J -Landroid/os/BatteryStats$Timer;->getCountLocked(I)I -Landroid/os/BatteryStats$Timer;->getTotalTimeLocked(JI)J -Landroid/os/BatteryStats$Uid$Pkg$Serv;->getLaunches(I)I -Landroid/os/BatteryStats$Uid$Pkg$Serv;->getStartTime(JI)J -Landroid/os/BatteryStats$Uid$Pkg;->getServiceStats()Landroid/util/ArrayMap; -Landroid/os/BatteryStats$Uid$Pkg;->getWakeupAlarmStats()Landroid/util/ArrayMap; -Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->overTime:J -Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->type:I -Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->usedTime:J -Landroid/os/BatteryStats$Uid$Proc;->countExcessivePowers()I -Landroid/os/BatteryStats$Uid$Proc;->getExcessivePower(I)Landroid/os/BatteryStats$Uid$Proc$ExcessivePower; -Landroid/os/BatteryStats$Uid$Proc;->getForegroundTime(I)J -Landroid/os/BatteryStats$Uid$Proc;->getStarts(I)I -Landroid/os/BatteryStats$Uid$Proc;->getSystemTime(I)J -Landroid/os/BatteryStats$Uid$Proc;->getUserTime(I)J -Landroid/os/BatteryStats$Uid$Sensor;->getHandle()I -Landroid/os/BatteryStats$Uid$Sensor;->getSensorTime()Landroid/os/BatteryStats$Timer; -Landroid/os/BatteryStats$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer; -Landroid/os/BatteryStats$Uid;-><init>()V -Landroid/os/BatteryStats$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer; -Landroid/os/BatteryStats$Uid;->getFullWifiLockTime(JI)J -Landroid/os/BatteryStats$Uid;->getPackageStats()Landroid/util/ArrayMap; -Landroid/os/BatteryStats$Uid;->getProcessStats()Landroid/util/ArrayMap; -Landroid/os/BatteryStats$Uid;->getSensorStats()Landroid/util/SparseArray; -Landroid/os/BatteryStats$Uid;->getUid()I -Landroid/os/BatteryStats$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer; -Landroid/os/BatteryStats$Uid;->getWifiMulticastTime(JI)J -Landroid/os/BatteryStats$Uid;->getWifiRunningTime(JI)J -Landroid/os/BatteryStats$Uid;->getWifiScanTime(JI)J -Landroid/os/BatteryStats;->NUM_DATA_CONNECTION_TYPES:I -Landroid/os/BatteryStats;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z -Landroid/os/BatteryStats;->getUidStats()Landroid/util/SparseArray; -Landroid/os/BatteryStats;->startIteratingHistoryLocked()Z -Landroid/os/Binder;->execTransact(IJJI)Z -Landroid/os/Binder;->mObject:J -Landroid/os/Broadcaster;-><init>()V -Landroid/os/Broadcaster;->broadcast(Landroid/os/Message;)V -Landroid/os/Broadcaster;->cancelRequest(ILandroid/os/Handler;I)V -Landroid/os/Broadcaster;->request(ILandroid/os/Handler;I)V -Landroid/os/Build$VERSION;->ACTIVE_CODENAMES:[Ljava/lang/String; -Landroid/os/Build;->IS_DEBUGGABLE:Z -Landroid/os/Build;->IS_EMULATOR:Z -Landroid/os/Build;->PERMISSIONS_REVIEW_REQUIRED:Z -Landroid/os/Build;->getString(Ljava/lang/String;)Ljava/lang/String; -Landroid/os/Bundle;->getIBinder(Ljava/lang/String;)Landroid/os/IBinder; -Landroid/os/Bundle;->putIBinder(Ljava/lang/String;Landroid/os/IBinder;)V -Landroid/os/Debug$MemoryInfo;->NUM_DVK_STATS:I -Landroid/os/Debug$MemoryInfo;->NUM_OTHER_STATS:I -Landroid/os/Debug$MemoryInfo;->dalvikPrivateClean:I -Landroid/os/Debug$MemoryInfo;->dalvikRss:I -Landroid/os/Debug$MemoryInfo;->dalvikSharedClean:I -Landroid/os/Debug$MemoryInfo;->dalvikSwappablePss:I -Landroid/os/Debug$MemoryInfo;->dalvikSwappedOut:I -Landroid/os/Debug$MemoryInfo;->dalvikSwappedOutPss:I -Landroid/os/Debug$MemoryInfo;->getOtherLabel(I)Ljava/lang/String; -Landroid/os/Debug$MemoryInfo;->getOtherPrivate(I)I -Landroid/os/Debug$MemoryInfo;->getOtherPrivateDirty(I)I -Landroid/os/Debug$MemoryInfo;->getOtherPss(I)I -Landroid/os/Debug$MemoryInfo;->getOtherSharedDirty(I)I -Landroid/os/Debug$MemoryInfo;->getTotalUss()I -Landroid/os/Debug$MemoryInfo;->hasSwappedOutPss:Z -Landroid/os/Debug$MemoryInfo;->nativePrivateClean:I -Landroid/os/Debug$MemoryInfo;->nativeRss:I -Landroid/os/Debug$MemoryInfo;->nativeSharedClean:I -Landroid/os/Debug$MemoryInfo;->nativeSwappablePss:I -Landroid/os/Debug$MemoryInfo;->nativeSwappedOut:I -Landroid/os/Debug$MemoryInfo;->nativeSwappedOutPss:I -Landroid/os/Debug$MemoryInfo;->otherPrivateClean:I -Landroid/os/Debug$MemoryInfo;->otherRss:I -Landroid/os/Debug$MemoryInfo;->otherSharedClean:I -Landroid/os/Debug$MemoryInfo;->otherStats:[I -Landroid/os/Debug$MemoryInfo;->otherSwappablePss:I -Landroid/os/Debug$MemoryInfo;->otherSwappedOut:I -Landroid/os/Debug$MemoryInfo;->otherSwappedOutPss:I -Landroid/os/Debug;-><init>()V -Landroid/os/Debug;->countInstancesOfClass(Ljava/lang/Class;)J -Landroid/os/Debug;->dumpReferenceTables()V -Landroid/os/DropBoxManager;->mService:Lcom/android/internal/os/IDropBoxManagerService; -Landroid/os/Environment;->buildExternalStorageAppDataDirs(Ljava/lang/String;)[Ljava/io/File; -Landroid/os/Environment;->getLegacyExternalStorageDirectory()Ljava/io/File; -Landroid/os/Environment;->getStorageDirectory()Ljava/io/File; -Landroid/os/Environment;->getVendorDirectory()Ljava/io/File; -Landroid/os/Environment;->maybeTranslateEmulatedPathToInternal(Ljava/io/File;)Ljava/io/File; -Landroid/os/FileObserver$ObserverThread;->onEvent(IILjava/lang/String;)V -Landroid/os/FileUtils;->checksumCrc32(Ljava/io/File;)J -Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z -Landroid/os/FileUtils;->copyToFile(Ljava/io/InputStream;Ljava/io/File;)Z -Landroid/os/FileUtils;->deleteOlderFiles(Ljava/io/File;IJ)Z -Landroid/os/FileUtils;->readTextFile(Ljava/io/File;ILjava/lang/String;)Ljava/lang/String; -Landroid/os/FileUtils;->setPermissions(Ljava/io/File;III)I -Landroid/os/FileUtils;->setPermissions(Ljava/io/FileDescriptor;III)I -Landroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I -Landroid/os/FileUtils;->stringToFile(Ljava/io/File;Ljava/lang/String;)V -Landroid/os/FileUtils;->stringToFile(Ljava/lang/String;Ljava/lang/String;)V -Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z -Landroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V -Landroid/os/Handler;-><init>(Z)V -Landroid/os/Handler;->getIMessenger()Landroid/os/IMessenger; -Landroid/os/Handler;->getMain()Landroid/os/Handler; -Landroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z -Landroid/os/Handler;->mCallback:Landroid/os/Handler$Callback; -Landroid/os/Handler;->mMessenger:Landroid/os/IMessenger; -Landroid/os/HwBinder;->reportSyspropChanged()V -Landroid/os/HwParcel;-><init>(Z)V -Landroid/os/HwRemoteBinder;-><init>()V -Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/os/INetworkManagementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkManagementService; -Landroid/os/INetworkManagementService;->clearInterfaceAddresses(Ljava/lang/String;)V -Landroid/os/INetworkManagementService;->disableIpv6(Ljava/lang/String;)V -Landroid/os/INetworkManagementService;->enableIpv6(Ljava/lang/String;)V -Landroid/os/INetworkManagementService;->isBandwidthControlEnabled()Z -Landroid/os/INetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V -Landroid/os/INetworkManagementService;->setIPv6AddrGenMode(Ljava/lang/String;I)V -Landroid/os/INetworkManagementService;->setInterfaceConfig(Ljava/lang/String;Landroid/net/InterfaceConfiguration;)V -Landroid/os/INetworkManagementService;->setInterfaceIpv6PrivacyExtensions(Ljava/lang/String;Z)V -Landroid/os/INetworkManagementService;->unregisterObserver(Landroid/net/INetworkManagementEventObserver;)V -Landroid/os/IPermissionController$Stub$Proxy;->checkPermission(Ljava/lang/String;II)Z -Landroid/os/IPermissionController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPermissionController; -Landroid/os/IPowerManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/os/IPowerManager$Stub$Proxy;->isLightDeviceIdleMode()Z -Landroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager; -Landroid/os/IPowerManager;->goToSleep(JII)V -Landroid/os/IPowerManager;->reboot(ZLjava/lang/String;Z)V -Landroid/os/IPowerManager;->releaseWakeLock(Landroid/os/IBinder;I)V -Landroid/os/IPowerManager;->userActivity(JII)V -Landroid/os/IRecoverySystem$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IRecoverySystem; -Landroid/os/IRemoteCallback$Stub;-><init>()V -Landroid/os/IServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder; -Landroid/os/IServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -Landroid/os/IUserManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager; -Landroid/os/IVibratorService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVibratorService; -Landroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;I)V -Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue; -Landroid/os/Looper;->sThreadLocal:Ljava/lang/ThreadLocal; -Landroid/os/Looper;->setTraceTag(J)V -Landroid/os/MemoryFile;->getFileDescriptor()Ljava/io/FileDescriptor; -Landroid/os/Message;->callback:Ljava/lang/Runnable; -Landroid/os/Message;->flags:I -Landroid/os/Message;->markInUse()V -Landroid/os/Message;->next:Landroid/os/Message; -Landroid/os/Message;->recycleUnchecked()V -Landroid/os/Message;->setCallback(Ljava/lang/Runnable;)Landroid/os/Message; -Landroid/os/Message;->target:Landroid/os/Handler; -Landroid/os/Message;->when:J -Landroid/os/MessageQueue;->dispatchEvents(II)I -Landroid/os/MessageQueue;->mIdleHandlers:Ljava/util/ArrayList; -Landroid/os/MessageQueue;->mMessages:Landroid/os/Message; -Landroid/os/MessageQueue;->mPtr:J -Landroid/os/MessageQueue;->mQuitAllowed:Z -Landroid/os/MessageQueue;->nativePollOnce(JI)V -Landroid/os/MessageQueue;->next()Landroid/os/Message; -Landroid/os/MessageQueue;->postSyncBarrier()I -Landroid/os/MessageQueue;->removeSyncBarrier(I)V -Landroid/os/Parcel$ReadWriteHelper;-><init>()V -Landroid/os/Parcel;->mNativePtr:J -Landroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V -Landroid/os/Parcel;->readBlob()[B -Landroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List; -Landroid/os/Parcel;->readStringArray()[Ljava/lang/String; -Landroid/os/Parcel;->writeArrayMap(Landroid/util/ArrayMap;)V -Landroid/os/Parcel;->writeBlob([B)V -Landroid/os/Parcel;->writeParcelableList(Ljava/util/List;I)V -Landroid/os/ParcelFileDescriptor$FileDescriptorDetachedException;->serialVersionUID:J -Landroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;)V -Landroid/os/ParcelFileDescriptor;->fromData([BLjava/lang/String;)Landroid/os/ParcelFileDescriptor; -Landroid/os/PowerManager;->ACTION_SCREEN_BRIGHTNESS_BOOST_CHANGED:Ljava/lang/String; -Landroid/os/PowerManager;->getDefaultScreenBrightnessSetting()I -Landroid/os/PowerManager;->getMaximumScreenBrightnessSetting()I -Landroid/os/PowerManager;->getMinimumScreenBrightnessSetting()I -Landroid/os/PowerManager;->goToSleep(J)V -Landroid/os/PowerManager;->isLightDeviceIdleMode()Z -Landroid/os/PowerManager;->isScreenBrightnessBoosted()Z -Landroid/os/PowerManager;->mService:Landroid/os/IPowerManager; -Landroid/os/PowerManager;->userActivity(JZ)V -Landroid/os/PowerManager;->validateWakeLockParameters(ILjava/lang/String;)V -Landroid/os/PowerManager;->wakeUp(J)V -Landroid/os/PowerManager;->wakeUp(JLjava/lang/String;)V -Landroid/os/Process;->getFreeMemory()J -Landroid/os/Process;->getParentPid(I)I -Landroid/os/Process;->getPids(Ljava/lang/String;[I)[I -Landroid/os/Process;->getTotalMemory()J -Landroid/os/Process;->getUidForPid(I)I -Landroid/os/Process;->isIsolated(I)Z -Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z -Landroid/os/Process;->readProcLines(Ljava/lang/String;[Ljava/lang/String;[J)V -Landroid/os/Process;->setArgV0(Ljava/lang/String;)V -Landroid/os/RecoverySystem;-><init>()V -Landroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V -Landroid/os/Registrant;->clear()V -Landroid/os/Registrant;->notifyRegistrant()V -Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V -Landroid/os/RegistrantList;-><init>()V -Landroid/os/RegistrantList;->add(Landroid/os/Registrant;)V -Landroid/os/RegistrantList;->addUnique(Landroid/os/Handler;ILjava/lang/Object;)V -Landroid/os/RegistrantList;->notifyRegistrants()V -Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V -Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V -Landroid/os/RegistrantList;->removeCleared()V -Landroid/os/RemoteException;->rethrowFromSystemServer()Ljava/lang/RuntimeException; -Landroid/os/SELinux;->checkSELinuxAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z -Landroid/os/SELinux;->getFileContext(Ljava/lang/String;)Ljava/lang/String; -Landroid/os/SELinux;->getPidContext(I)Ljava/lang/String; -Landroid/os/SELinux;->isSELinuxEnabled()Z -Landroid/os/SELinux;->isSELinuxEnforced()Z -Landroid/os/ServiceManager;-><init>()V -Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V -Landroid/os/ServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder; -Landroid/os/ServiceManager;->getIServiceManager()Landroid/os/IServiceManager; -Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder; -Landroid/os/ServiceManager;->listServices()[Ljava/lang/String; -Landroid/os/ServiceManager;->sCache:Ljava/util/HashMap; -Landroid/os/ServiceManager;->sServiceManager:Landroid/os/IServiceManager; -Landroid/os/ServiceManagerNative;->asInterface(Landroid/os/IBinder;)Landroid/os/IServiceManager; -Landroid/os/ServiceSpecificException;->errorCode:I -Landroid/os/SharedMemory;->getFd()I -Landroid/os/StrictMode$Span;->finish()V -Landroid/os/StrictMode$ThreadPolicy$Builder;->penaltyListener(Landroid/os/StrictMode$OnThreadViolationListener;Ljava/util/concurrent/Executor;)Landroid/os/StrictMode$ThreadPolicy$Builder; -Landroid/os/StrictMode$VmPolicy$Builder;->penaltyListener(Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;)Landroid/os/StrictMode$VmPolicy$Builder; -Landroid/os/StrictMode;->conditionallyCheckInstanceCounts()V -Landroid/os/StrictMode;->disableDeathOnFileUriExposure()V -Landroid/os/StrictMode;->enterCriticalSpan(Ljava/lang/String;)Landroid/os/StrictMode$Span; -Landroid/os/StrictMode;->getThreadPolicyMask()I -Landroid/os/StrictMode;->onBinderStrictModePolicyChange(I)V -Landroid/os/StrictMode;->violationsBeingTimed:Ljava/lang/ThreadLocal; -Landroid/os/SystemClock;->elapsedRealtimeClock()Ljava/time/Clock; -Landroid/os/SystemClock;->uptimeClock()Ljava/time/Clock; -Landroid/os/SystemClock;->uptimeMillisClock()Ljava/time/Clock; -Landroid/os/SystemProperties;-><init>()V -Landroid/os/SystemProperties;->PROP_NAME_MAX:I -Landroid/os/SystemProperties;->addChangeCallback(Ljava/lang/Runnable;)V -Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String; -Landroid/os/SystemProperties;->reportSyspropChanged()V -Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V -Landroid/os/SystemService;->start(Ljava/lang/String;)V -Landroid/os/SystemService;->stop(Ljava/lang/String;)V -Landroid/os/SystemVibrator;-><init>()V -Landroid/os/TestLooperManager;->getQueue()Landroid/os/MessageQueue; -Landroid/os/Trace;->TRACE_TAG_APP:J -Landroid/os/Trace;->TRACE_TAG_VIEW:J -Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V -Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V -Landroid/os/Trace;->isTagEnabled(J)Z -Landroid/os/Trace;->setAppTracingAllowed(Z)V -Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V -Landroid/os/Trace;->traceCounter(JLjava/lang/String;I)V -Landroid/os/Trace;->traceEnd(J)V -Landroid/os/UpdateLock;->NOW_IS_CONVENIENT:Ljava/lang/String; -Landroid/os/UpdateLock;->TIMESTAMP:Ljava/lang/String; -Landroid/os/UpdateLock;->UPDATE_LOCK_CHANGED:Ljava/lang/String; -Landroid/os/UpdateLock;->acquire()V -Landroid/os/UpdateLock;->isHeld()Z -Landroid/os/UpdateLock;->release()V -Landroid/os/UserHandle;-><init>(I)V -Landroid/os/UserHandle;->AID_APP_END:I -Landroid/os/UserHandle;->AID_APP_START:I -Landroid/os/UserHandle;->AID_CACHE_GID_START:I -Landroid/os/UserHandle;->AID_ROOT:I -Landroid/os/UserHandle;->AID_SHARED_GID_START:I -Landroid/os/UserHandle;->ALL:Landroid/os/UserHandle; -Landroid/os/UserHandle;->CURRENT:Landroid/os/UserHandle; -Landroid/os/UserHandle;->CURRENT_OR_SELF:Landroid/os/UserHandle; -Landroid/os/UserHandle;->ERR_GID:I -Landroid/os/UserHandle;->MU_ENABLED:Z -Landroid/os/UserHandle;->OWNER:Landroid/os/UserHandle; -Landroid/os/UserHandle;->PER_USER_RANGE:I -Landroid/os/UserHandle;->USER_ALL:I -Landroid/os/UserHandle;->USER_CURRENT:I -Landroid/os/UserHandle;->USER_CURRENT_OR_SELF:I -Landroid/os/UserHandle;->USER_NULL:I -Landroid/os/UserHandle;->USER_OWNER:I -Landroid/os/UserHandle;->USER_SERIAL_SYSTEM:I -Landroid/os/UserHandle;->USER_SYSTEM:I -Landroid/os/UserHandle;->getAppIdFromSharedAppGid(I)I -Landroid/os/UserHandle;->getCallingUserId()I -Landroid/os/UserHandle;->getUid(II)I -Landroid/os/UserHandle;->getUserId(I)I -Landroid/os/UserHandle;->isSameApp(II)Z -Landroid/os/UserManager;->get(Landroid/content/Context;)Landroid/os/UserManager; -Landroid/os/UserManager;->getBadgedDrawableForUser(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;Landroid/graphics/Rect;I)Landroid/graphics/drawable/Drawable; -Landroid/os/UserManager;->getBadgedIconForUser(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable; -Landroid/os/UserManager;->getBadgedLabelForUser(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence; -Landroid/os/UserManager;->getMaxSupportedUsers()I -Landroid/os/UserManager;->getProfiles(I)Ljava/util/List; -Landroid/os/UserManager;->getUserHandle()I -Landroid/os/UserManager;->getUserHandle(I)I -Landroid/os/UserManager;->getUserIcon(I)Landroid/graphics/Bitmap; -Landroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo; -Landroid/os/UserManager;->getUserSerialNumber(I)I -Landroid/os/UserManager;->getUserStartRealtime()J -Landroid/os/UserManager;->getUserUnlockRealtime()J -Landroid/os/UserManager;->getUsers()Ljava/util/List; -Landroid/os/UserManager;->hasBaseUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z -Landroid/os/UserManager;->hasUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z -Landroid/os/UserManager;->isAdminUser()Z -Landroid/os/UserManager;->isLinkedUser()Z -Landroid/os/UserManager;->isUserUnlocked(I)Z -Landroid/os/UserManager;->mService:Landroid/os/IUserManager; -Landroid/os/VintfObject;->getHalNamesAndVersions()[Ljava/lang/String; -Landroid/os/VintfObject;->getSepolicyVersion()Ljava/lang/String; -Landroid/os/VintfObject;->getTargetFrameworkCompatibilityMatrixVersion()Ljava/lang/Long; -Landroid/os/VintfObject;->getVndkSnapshots()Ljava/util/Map; -Landroid/os/VintfObject;->report()[Ljava/lang/String; -Landroid/os/VintfRuntimeInfo;->getCpuInfo()Ljava/lang/String; -Landroid/os/VintfRuntimeInfo;->getHardwareId()Ljava/lang/String; -Landroid/os/VintfRuntimeInfo;->getKernelVersion()Ljava/lang/String; -Landroid/os/VintfRuntimeInfo;->getNodeName()Ljava/lang/String; -Landroid/os/VintfRuntimeInfo;->getOsName()Ljava/lang/String; -Landroid/os/VintfRuntimeInfo;->getOsRelease()Ljava/lang/String; -Landroid/os/VintfRuntimeInfo;->getOsVersion()Ljava/lang/String; -Landroid/os/WorkSource;-><init>(I)V -Landroid/os/WorkSource;->add(I)Z -Landroid/os/WorkSource;->add(ILjava/lang/String;)Z -Landroid/os/WorkSource;->addReturningNewbs(Landroid/os/WorkSource;)Landroid/os/WorkSource; -Landroid/os/WorkSource;->get(I)I -Landroid/os/WorkSource;->getName(I)Ljava/lang/String; -Landroid/os/WorkSource;->mNames:[Ljava/lang/String; -Landroid/os/WorkSource;->mNum:I -Landroid/os/WorkSource;->mUids:[I -Landroid/os/WorkSource;->setReturningDiffs(Landroid/os/WorkSource;)[Landroid/os/WorkSource; -Landroid/os/WorkSource;->size()I -Landroid/os/health/HealthKeys$Constants;-><init>(Ljava/lang/Class;)V -Landroid/os/health/HealthStats;-><init>(Landroid/os/Parcel;)V -Landroid/os/health/HealthStatsParceler;-><init>(Landroid/os/Parcel;)V -Landroid/os/health/HealthStatsParceler;-><init>(Landroid/os/health/HealthStatsWriter;)V -Landroid/os/health/HealthStatsParceler;->getHealthStats()Landroid/os/health/HealthStats; -Landroid/os/health/HealthStatsWriter;-><init>(Landroid/os/health/HealthKeys$Constants;)V -Landroid/os/health/HealthStatsWriter;->addMeasurement(IJ)V -Landroid/os/health/HealthStatsWriter;->addMeasurements(ILjava/lang/String;J)V -Landroid/os/health/HealthStatsWriter;->addStats(ILjava/lang/String;Landroid/os/health/HealthStatsWriter;)V -Landroid/os/health/HealthStatsWriter;->addTimer(IIJ)V -Landroid/os/health/HealthStatsWriter;->addTimers(ILjava/lang/String;Landroid/os/health/TimerStat;)V -Landroid/os/health/HealthStatsWriter;->flattenToParcel(Landroid/os/Parcel;)V -Landroid/os/health/SystemHealthManager;->from(Landroid/content/Context;)Landroid/os/health/SystemHealthManager; -Landroid/os/storage/DiskInfo;->getDescription()Ljava/lang/String; -Landroid/os/storage/DiskInfo;->getId()Ljava/lang/String; -Landroid/os/storage/DiskInfo;->isSd()Z -Landroid/os/storage/DiskInfo;->isUsb()Z -Landroid/os/storage/IStorageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager; -Landroid/os/storage/StorageEventListener;-><init>()V -Landroid/os/storage/StorageManager;->findVolumeById(Ljava/lang/String;)Landroid/os/storage/VolumeInfo; -Landroid/os/storage/StorageManager;->findVolumeByUuid(Ljava/lang/String;)Landroid/os/storage/VolumeInfo; -Landroid/os/storage/StorageManager;->from(Landroid/content/Context;)Landroid/os/storage/StorageManager; -Landroid/os/storage/StorageManager;->getBestVolumeDescription(Landroid/os/storage/VolumeInfo;)Ljava/lang/String; -Landroid/os/storage/StorageManager;->getDisks()Ljava/util/List; -Landroid/os/storage/StorageManager;->getPrimaryVolume()Landroid/os/storage/StorageVolume; -Landroid/os/storage/StorageManager;->getStorageBytesUntilLow(Ljava/io/File;)J -Landroid/os/storage/StorageManager;->getStorageFullBytes(Ljava/io/File;)J -Landroid/os/storage/StorageManager;->getStorageLowBytes(Ljava/io/File;)J -Landroid/os/storage/StorageManager;->getVolumeList()[Landroid/os/storage/StorageVolume; -Landroid/os/storage/StorageManager;->getVolumeList(II)[Landroid/os/storage/StorageVolume; -Landroid/os/storage/StorageManager;->getVolumePaths()[Ljava/lang/String; -Landroid/os/storage/StorageManager;->getVolumeState(Ljava/lang/String;)Ljava/lang/String; -Landroid/os/storage/StorageManager;->getVolumes()Ljava/util/List; -Landroid/os/storage/StorageManager;->registerListener(Landroid/os/storage/StorageEventListener;)V -Landroid/os/storage/StorageManager;->unregisterListener(Landroid/os/storage/StorageEventListener;)V -Landroid/os/storage/StorageVolume;->allowMassStorage()Z -Landroid/os/storage/StorageVolume;->getId()Ljava/lang/String; -Landroid/os/storage/StorageVolume;->getMaxFileSize()J -Landroid/os/storage/StorageVolume;->getPath()Ljava/lang/String; -Landroid/os/storage/StorageVolume;->getPathFile()Ljava/io/File; -Landroid/os/storage/StorageVolume;->getUserLabel()Ljava/lang/String; -Landroid/os/storage/StorageVolume;->mPath:Ljava/io/File; -Landroid/os/storage/VolumeInfo;->TYPE_EMULATED:I -Landroid/os/storage/VolumeInfo;->TYPE_PUBLIC:I -Landroid/os/storage/VolumeInfo;->buildStorageVolume(Landroid/content/Context;IZ)Landroid/os/storage/StorageVolume; -Landroid/os/storage/VolumeInfo;->getDisk()Landroid/os/storage/DiskInfo; -Landroid/os/storage/VolumeInfo;->getEnvironmentForState(I)Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getFsUuid()Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getId()Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getPath()Ljava/io/File; -Landroid/os/storage/VolumeInfo;->getState()I -Landroid/os/storage/VolumeInfo;->getType()I -Landroid/os/storage/VolumeInfo;->isPrimary()Z -Landroid/os/storage/VolumeInfo;->isVisible()Z -Landroid/permissionpresenterservice/RuntimePermissionPresenterService;->onRevokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V -Landroid/preference/DialogPreference;->mBuilder:Landroid/app/AlertDialog$Builder; -Landroid/preference/DialogPreference;->mDialog:Landroid/app/Dialog; -Landroid/preference/DialogPreference;->mDialogIcon:Landroid/graphics/drawable/Drawable; -Landroid/preference/DialogPreference;->mDialogMessage:Ljava/lang/CharSequence; -Landroid/preference/DialogPreference;->mDialogTitle:Ljava/lang/CharSequence; -Landroid/preference/DialogPreference;->mNegativeButtonText:Ljava/lang/CharSequence; -Landroid/preference/DialogPreference;->mPositiveButtonText:Ljava/lang/CharSequence; -Landroid/preference/DialogPreference;->mWhichButtonClicked:I -Landroid/preference/ListPreference;->mClickedDialogEntryIndex:I -Landroid/preference/Preference;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z -Landroid/preference/Preference;->performClick(Landroid/preference/PreferenceScreen;)V -Landroid/preference/PreferenceActivity;->mPreferenceManager:Landroid/preference/PreferenceManager; -Landroid/preference/PreferenceActivity;->mPrefsContainer:Landroid/view/ViewGroup; -Landroid/preference/PreferenceManager;-><init>(Landroid/app/Activity;I)V -Landroid/preference/PreferenceManager;-><init>(Landroid/content/Context;)V -Landroid/preference/PreferenceManager;->dispatchActivityDestroy()V -Landroid/preference/PreferenceManager;->dispatchActivityResult(IILandroid/content/Intent;)V -Landroid/preference/PreferenceManager;->dispatchActivityStop()V -Landroid/preference/PreferenceManager;->getEditor()Landroid/content/SharedPreferences$Editor; -Landroid/preference/PreferenceManager;->getPreferenceScreen()Landroid/preference/PreferenceScreen; -Landroid/preference/PreferenceManager;->inflateFromIntent(Landroid/content/Intent;Landroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen; -Landroid/preference/PreferenceManager;->inflateFromResource(Landroid/content/Context;ILandroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen; -Landroid/preference/PreferenceManager;->mActivityDestroyListeners:Ljava/util/List; -Landroid/preference/PreferenceManager;->mOnPreferenceTreeClickListener:Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener; -Landroid/preference/PreferenceManager;->mSharedPreferences:Landroid/content/SharedPreferences; -Landroid/preference/PreferenceManager;->registerOnActivityDestroyListener(Landroid/preference/PreferenceManager$OnActivityDestroyListener;)V -Landroid/preference/PreferenceManager;->registerOnActivityStopListener(Landroid/preference/PreferenceManager$OnActivityStopListener;)V -Landroid/preference/PreferenceManager;->setFragment(Landroid/preference/PreferenceFragment;)V -Landroid/preference/PreferenceManager;->setPreferences(Landroid/preference/PreferenceScreen;)Z -Landroid/preference/PreferenceManager;->shouldCommit()Z -Landroid/preference/PreferenceManager;->unregisterOnActivityDestroyListener(Landroid/preference/PreferenceManager$OnActivityDestroyListener;)V -Landroid/preference/PreferenceManager;->unregisterOnActivityStopListener(Landroid/preference/PreferenceManager$OnActivityStopListener;)V -Landroid/preference/PreferenceScreen;->mRootAdapter:Landroid/widget/ListAdapter; -Landroid/print/PrintDocumentAdapter$LayoutResultCallback;-><init>()V -Landroid/print/PrintDocumentAdapter$WriteResultCallback;-><init>()V -Landroid/print/PrintJobInfo;->getAdvancedOptions()Landroid/os/Bundle; -Landroid/print/PrintJobInfo;->getDocumentInfo()Landroid/print/PrintDocumentInfo; -Landroid/print/PrinterId;->getServiceName()Landroid/content/ComponentName; -Landroid/provider/Browser$BookmarkColumns; -Landroid/provider/Browser$BookmarkColumns;-><init>()V -Landroid/provider/Browser$BookmarkColumns;->BOOKMARK:Ljava/lang/String; -Landroid/provider/Browser$BookmarkColumns;->CREATED:Ljava/lang/String; -Landroid/provider/Browser$BookmarkColumns;->DATE:Ljava/lang/String; -Landroid/provider/Browser$BookmarkColumns;->FAVICON:Ljava/lang/String; -Landroid/provider/Browser$BookmarkColumns;->TITLE:Ljava/lang/String; -Landroid/provider/Browser$BookmarkColumns;->URL:Ljava/lang/String; -Landroid/provider/Browser$BookmarkColumns;->VISITS:Ljava/lang/String; -Landroid/provider/Browser$SearchColumns; -Landroid/provider/Browser$SearchColumns;-><init>()V -Landroid/provider/Browser$SearchColumns;->DATE:Ljava/lang/String; -Landroid/provider/Browser$SearchColumns;->SEARCH:Ljava/lang/String; -Landroid/provider/Browser$SearchColumns;->URL:Ljava/lang/String; -Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri; -Landroid/provider/Browser;->HISTORY_PROJECTION:[Ljava/lang/String; -Landroid/provider/Browser;->HISTORY_PROJECTION_BOOKMARK_INDEX:I -Landroid/provider/Browser;->HISTORY_PROJECTION_DATE_INDEX:I -Landroid/provider/Browser;->HISTORY_PROJECTION_FAVICON_INDEX:I -Landroid/provider/Browser;->HISTORY_PROJECTION_ID_INDEX:I -Landroid/provider/Browser;->HISTORY_PROJECTION_TITLE_INDEX:I -Landroid/provider/Browser;->HISTORY_PROJECTION_URL_INDEX:I -Landroid/provider/Browser;->HISTORY_PROJECTION_VISITS_INDEX:I -Landroid/provider/Browser;->SEARCHES_PROJECTION:[Ljava/lang/String; -Landroid/provider/Browser;->SEARCHES_PROJECTION_DATE_INDEX:I -Landroid/provider/Browser;->SEARCHES_PROJECTION_SEARCH_INDEX:I -Landroid/provider/Browser;->SEARCHES_URI:Landroid/net/Uri; -Landroid/provider/Browser;->TRUNCATE_HISTORY_PROJECTION:[Ljava/lang/String; -Landroid/provider/Browser;->TRUNCATE_HISTORY_PROJECTION_ID_INDEX:I -Landroid/provider/Browser;->TRUNCATE_N_OLDEST:I -Landroid/provider/Browser;->addSearchUrl(Landroid/content/ContentResolver;Ljava/lang/String;)V -Landroid/provider/Browser;->canClearHistory(Landroid/content/ContentResolver;)Z -Landroid/provider/Browser;->clearHistory(Landroid/content/ContentResolver;)V -Landroid/provider/Browser;->clearSearches(Landroid/content/ContentResolver;)V -Landroid/provider/Browser;->deleteFromHistory(Landroid/content/ContentResolver;Ljava/lang/String;)V -Landroid/provider/Browser;->deleteHistoryTimeFrame(Landroid/content/ContentResolver;JJ)V -Landroid/provider/Browser;->getAllBookmarks(Landroid/content/ContentResolver;)Landroid/database/Cursor; -Landroid/provider/Browser;->getAllVisitedUrls(Landroid/content/ContentResolver;)Landroid/database/Cursor; -Landroid/provider/Browser;->getVisitedHistory(Landroid/content/ContentResolver;)[Ljava/lang/String; -Landroid/provider/Browser;->requestAllIcons(Landroid/content/ContentResolver;Ljava/lang/String;Landroid/webkit/WebIconDatabase$IconListener;)V -Landroid/provider/Browser;->saveBookmark(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V -Landroid/provider/Browser;->sendString(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V -Landroid/provider/Browser;->truncateHistory(Landroid/content/ContentResolver;)V -Landroid/provider/Browser;->updateVisitedHistory(Landroid/content/ContentResolver;Ljava/lang/String;Z)V -Landroid/provider/CalendarContract$CalendarAlerts;->findNextAlarmTime(Landroid/content/ContentResolver;J)J -Landroid/provider/CalendarContract$CalendarAlerts;->rescheduleMissedAlarms(Landroid/content/ContentResolver;Landroid/content/Context;Landroid/app/AlarmManager;)V -Landroid/provider/CalendarContract$Events;->PROVIDER_WRITABLE_COLUMNS:[Ljava/lang/String; -Landroid/provider/ContactsContract$CommonDataKinds$Phone;->getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;)Ljava/lang/CharSequence; -Landroid/provider/ContactsContract$Contacts$StreamItems; -Landroid/provider/ContactsContract$Contacts$StreamItems;->CONTENT_DIRECTORY:Ljava/lang/String; -Landroid/provider/ContactsContract$RawContacts$StreamItems; -Landroid/provider/ContactsContract$RawContacts$StreamItems;->CONTENT_DIRECTORY:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotos; -Landroid/provider/ContactsContract$StreamItemPhotos;->PHOTO:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->PHOTO_FILE_ID:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->PHOTO_URI:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->SORT_INDEX:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->STREAM_ITEM_ID:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->SYNC1:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->SYNC2:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->SYNC3:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemPhotosColumns;->SYNC4:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItems$StreamItemPhotos; -Landroid/provider/ContactsContract$StreamItems$StreamItemPhotos;->CONTENT_DIRECTORY:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItems$StreamItemPhotos;->CONTENT_ITEM_TYPE:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItems$StreamItemPhotos;->CONTENT_TYPE:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItems; -Landroid/provider/ContactsContract$StreamItems;->CONTENT_ITEM_TYPE:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItems;->CONTENT_LIMIT_URI:Landroid/net/Uri; -Landroid/provider/ContactsContract$StreamItems;->CONTENT_PHOTO_URI:Landroid/net/Uri; -Landroid/provider/ContactsContract$StreamItems;->CONTENT_TYPE:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItems;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/ContactsContract$StreamItems;->MAX_ITEMS:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns; -Landroid/provider/ContactsContract$StreamItemsColumns;->ACCOUNT_NAME:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->ACCOUNT_TYPE:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->COMMENTS:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->CONTACT_ID:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->CONTACT_LOOKUP_KEY:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->DATA_SET:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->RAW_CONTACT_ID:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->RAW_CONTACT_SOURCE_ID:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->RES_ICON:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->RES_LABEL:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->RES_PACKAGE:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->SYNC1:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->SYNC2:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->SYNC3:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->SYNC4:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->TEXT:Ljava/lang/String; -Landroid/provider/ContactsContract$StreamItemsColumns;->TIMESTAMP:Ljava/lang/String; -Landroid/provider/Downloads$Impl$RequestHeaders;->INSERT_KEY_PREFIX:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_ALLOWED_NETWORK_TYPES:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_ALLOW_ROAMING:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_COOKIE_DATA:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_DELETED:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_DESCRIPTION:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_DESTINATION:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_FILE_NAME_HINT:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_IS_PUBLIC_API:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_IS_VISIBLE_IN_DOWNLOADS_UI:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_MEDIA_SCANNED:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_MIME_TYPE:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_NOTIFICATION_CLASS:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_NOTIFICATION_EXTRAS:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_NOTIFICATION_PACKAGE:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_REFERER:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_TITLE:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_URI:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->COLUMN_VISIBILITY:Ljava/lang/String; -Landroid/provider/Downloads$Impl;->CONTENT_URI:Landroid/net/Uri; -Landroid/provider/Downloads$Impl;->DESTINATION_CACHE_PARTITION_PURGEABLE:I -Landroid/provider/Downloads$Impl;->DESTINATION_FILE_URI:I -Landroid/provider/Settings$ContentProviderHolder;->mContentProvider:Landroid/content/IContentProvider; -Landroid/provider/Settings$Global;->CONTACT_METADATA_SYNC:Ljava/lang/String; -Landroid/provider/Settings$Global;->ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Global;->PACKAGE_VERIFIER_ENABLE:Ljava/lang/String; -Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -Landroid/provider/Settings$Global;->sNameValueCache:Landroid/provider/Settings$NameValueCache; -Landroid/provider/Settings$NameValueCache;->mProviderHolder:Landroid/provider/Settings$ContentProviderHolder; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_AUTOCLICK_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ACCESSIBILITY_LARGE_POINTER_ICON:Ljava/lang/String; -Landroid/provider/Settings$Secure;->ENABLED_NOTIFICATION_LISTENERS:Ljava/lang/String; -Landroid/provider/Settings$Secure;->INCALL_POWER_BUTTON_BEHAVIOR:Ljava/lang/String; -Landroid/provider/Settings$Secure;->LONG_PRESS_TIMEOUT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->PACKAGE_VERIFIER_USER_CONSENT:Ljava/lang/String; -Landroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -Landroid/provider/Settings$Secure;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z -Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache; -Landroid/provider/Settings$System;->AIRPLANE_MODE_TOGGLEABLE_RADIOS:Ljava/lang/String; -Landroid/provider/Settings$System;->APPEND_FOR_LAST_AUDIBLE:Ljava/lang/String; -Landroid/provider/Settings$System;->HEARING_AID:Ljava/lang/String; -Landroid/provider/Settings$System;->MASTER_MONO:Ljava/lang/String; -Landroid/provider/Settings$System;->SCREEN_AUTO_BRIGHTNESS_ADJ:Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_ALARM:Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_BLUETOOTH_SCO:Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_MUSIC:Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_NOTIFICATION:Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_RING:Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_SETTINGS:[Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_SYSTEM:Ljava/lang/String; -Landroid/provider/Settings$System;->VOLUME_VOICE:Ljava/lang/String; -Landroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String; -Landroid/provider/Settings$System;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z -Landroid/provider/Settings$System;->sNameValueCache:Landroid/provider/Settings$NameValueCache; -Landroid/provider/Settings;->isCallingPackageAllowedToDrawOverlays(Landroid/content/Context;ILjava/lang/String;Z)Z -Landroid/provider/Settings;->isCallingPackageAllowedToWriteSettings(Landroid/content/Context;ILjava/lang/String;Z)Z -Landroid/provider/Telephony$Mms;->isEmailAddress(Ljava/lang/String;)Z -Landroid/provider/Telephony$Sms$Draft;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Inbox;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Z)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Inbox;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Z)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Intents;->SMS_EMERGENCY_CB_RECEIVED_ACTION:Ljava/lang/String; -Landroid/provider/Telephony$Sms$Outbox;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZJ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Sent;->addMessage(ILandroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri; -Landroid/provider/Telephony$Sms$Sent;->addMessage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(ILandroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(ILandroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZJ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZ)Landroid/net/Uri; -Landroid/provider/Telephony$Sms;->addMessageToUri(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;ZZJ)Landroid/net/Uri; -Landroid/renderscript/RenderScript;->create(Landroid/content/Context;I)Landroid/renderscript/RenderScript; -Landroid/renderscript/RenderScript;->create(Landroid/content/Context;ILandroid/renderscript/RenderScript$ContextType;I)Landroid/renderscript/RenderScript; -Landroid/renderscript/RenderScript;->getMinorID()J -Landroid/renderscript/RenderScriptCacheDir;->mCacheDir:Ljava/io/File; -Landroid/renderscript/RenderScriptCacheDir;->setupDiskCache(Ljava/io/File;)V -Landroid/security/KeyStore;->getInstance()Landroid/security/KeyStore; -Landroid/security/keystore/AndroidKeyStoreProvider;->getKeyStoreOperationHandle(Ljava/lang/Object;)J -Landroid/security/keystore/recovery/KeyChainSnapshot;->getTrustedHardwarePublicKey()[B -Landroid/security/keystore/recovery/RecoveryController;->generateAndStoreKey(Ljava/lang/String;[B)[B -Landroid/security/keystore/recovery/RecoveryController;->generateKey(Ljava/lang/String;[B)Ljava/security/Key; -Landroid/security/keystore/recovery/RecoveryController;->getAliases(Ljava/lang/String;)Ljava/util/List; -Landroid/security/keystore/recovery/RecoveryController;->getRecoveryData()Landroid/security/keystore/recovery/KeyChainSnapshot; -Landroid/security/keystore/recovery/RecoveryController;->getRecoveryStatus(Ljava/lang/String;Ljava/lang/String;)I -Landroid/security/keystore/recovery/RecoveryController;->initRecoveryService(Ljava/lang/String;[B)V -Landroid/security/keystore/recovery/RecoveryController;->setRecoveryStatus(Ljava/lang/String;Ljava/lang/String;I)V -Landroid/security/keystore/recovery/RecoverySession;->recoverKeys([BLjava/util/List;)Ljava/util/Map; -Landroid/security/keystore/recovery/RecoverySession;->start(Ljava/security/cert/CertPath;[B[BLjava/util/List;)[B -Landroid/security/keystore/recovery/RecoverySession;->start([B[B[BLjava/util/List;)[B -Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;->setAccount([B)Landroid/security/keystore/recovery/WrappedApplicationKey$Builder; -Landroid/security/keystore/recovery/WrappedApplicationKey;->getAccount()[B -Landroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List; -Landroid/service/dreams/DreamService;->canDoze()Z -Landroid/service/dreams/DreamService;->isDozing()Z -Landroid/service/dreams/DreamService;->startDozing()V -Landroid/service/dreams/DreamService;->stopDozing()V -Landroid/service/euicc/EuiccProfileInfo;-><init>(Ljava/lang/String;[Landroid/telephony/UiccAccessRule;Ljava/lang/String;)V -Landroid/service/euicc/GetDefaultDownloadableSubscriptionListResult;->result:I -Landroid/service/euicc/GetDownloadableSubscriptionMetadataResult;->result:I -Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/media/IMediaBrowserServiceCallbacks; -Landroid/service/media/IMediaBrowserServiceCallbacks;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V -Landroid/service/media/IMediaBrowserServiceCallbacks;->onConnectFailed()V -Landroid/service/media/IMediaBrowserServiceCallbacks;->onLoadChildren(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V -Landroid/service/media/IMediaBrowserServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V -Landroid/service/media/MediaBrowserService$Result;->mFlags:I -Landroid/service/media/MediaBrowserService;->KEY_MEDIA_ITEM:Ljava/lang/String; -Landroid/service/notification/NotificationListenerService$Ranking;->getAdditionalPeople()Ljava/util/List; -Landroid/service/notification/NotificationListenerService$Ranking;->getSnoozeCriteria()Ljava/util/List; -Landroid/service/notification/NotificationListenerService;->TRIM_FULL:I -Landroid/service/notification/NotificationListenerService;->TRIM_LIGHT:I -Landroid/service/notification/NotificationListenerService;->getActiveNotifications(I)[Landroid/service/notification/StatusBarNotification; -Landroid/service/notification/NotificationListenerService;->getActiveNotifications([Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification; -Landroid/service/notification/NotificationListenerService;->isBound()Z -Landroid/service/notification/NotificationListenerService;->mHandler:Landroid/os/Handler; -Landroid/service/notification/NotificationListenerService;->registerAsSystemService(Landroid/content/Context;Landroid/content/ComponentName;I)V -Landroid/service/notification/NotificationListenerService;->setOnNotificationPostedTrim(I)V -Landroid/service/notification/NotificationListenerService;->snoozeNotification(Ljava/lang/String;Ljava/lang/String;)V -Landroid/service/notification/NotificationListenerService;->unregisterAsSystemService()V -Landroid/service/notification/StatusBarNotification;->getInitialPid()I -Landroid/service/notification/StatusBarNotification;->getUid()I -Landroid/service/persistentdata/IPersistentDataBlockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/persistentdata/IPersistentDataBlockService; -Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->getCaptureSession()Ljava/lang/Integer; -Landroid/service/voice/VoiceInteractionService;->isKeyphraseAndLocaleSupportedForHotword(Ljava/lang/String;Ljava/util/Locale;)Z -Landroid/service/vr/IVrManager;->getVr2dDisplayId()I -Landroid/service/vr/VrListenerService;->onCurrentVrActivityChanged(Landroid/content/ComponentName;ZI)V -Landroid/service/wallpaper/WallpaperService$Engine;->setFixedSizeAllowed(Z)V -Landroid/speech/tts/TextToSpeech;->getCurrentEngine()Ljava/lang/String; -Landroid/speech/tts/UtteranceProgressListener;->onUtteranceRangeStart(Ljava/lang/String;II)V -Landroid/system/Int32Ref;->value:I -Landroid/system/NetlinkSocketAddress;-><init>(II)V -Landroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V -Landroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V -Landroid/system/Os;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I -Landroid/system/Os;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V -Landroid/system/Os;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V -Landroid/system/OsConstants;-><init>()V -Landroid/system/OsConstants;->AF_NETLINK:I -Landroid/system/OsConstants;->AF_PACKET:I -Landroid/system/OsConstants;->ARPHRD_ETHER:I -Landroid/system/OsConstants;->ARPHRD_LOOPBACK:I -Landroid/system/OsConstants;->CAP_TO_INDEX(I)I -Landroid/system/OsConstants;->CAP_TO_MASK(I)I -Landroid/system/OsConstants;->ENONET: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;->EUSERS: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;->IP_MULTICAST_ALL:I -Landroid/system/OsConstants;->IP_RECVTOS:I -Landroid/system/OsConstants;->MAP_POPULATE:I -Landroid/system/OsConstants;->NETLINK_NETFILTER:I -Landroid/system/OsConstants;->NETLINK_ROUTE:I -Landroid/system/OsConstants;->O_DIRECT:I -Landroid/system/OsConstants;->PR_CAP_AMBIENT:I -Landroid/system/OsConstants;->PR_CAP_AMBIENT_RAISE:I -Landroid/system/OsConstants;->RLIMIT_NOFILE:I -Landroid/system/OsConstants;->RTMGRP_IPV4_IFADDR:I -Landroid/system/OsConstants;->RTMGRP_IPV4_MROUTE:I -Landroid/system/OsConstants;->RTMGRP_IPV4_ROUTE:I -Landroid/system/OsConstants;->RTMGRP_IPV4_RULE:I -Landroid/system/OsConstants;->RTMGRP_IPV6_IFADDR:I -Landroid/system/OsConstants;->RTMGRP_IPV6_IFINFO:I -Landroid/system/OsConstants;->RTMGRP_IPV6_MROUTE:I -Landroid/system/OsConstants;->RTMGRP_IPV6_PREFIX:I -Landroid/system/OsConstants;->RTMGRP_IPV6_ROUTE:I -Landroid/system/OsConstants;->RTMGRP_LINK:I -Landroid/system/OsConstants;->RTMGRP_NEIGH:I -Landroid/system/OsConstants;->RTMGRP_NOTIFY:I -Landroid/system/OsConstants;->RTMGRP_TC:I -Landroid/system/OsConstants;->SO_DOMAIN:I -Landroid/system/OsConstants;->SO_PROTOCOL:I -Landroid/system/OsConstants;->SPLICE_F_MORE:I -Landroid/system/OsConstants;->SPLICE_F_MOVE:I -Landroid/system/OsConstants;->SPLICE_F_NONBLOCK:I -Landroid/system/OsConstants;->TIOCOUTQ:I -Landroid/system/OsConstants;->UDP_ENCAP:I -Landroid/system/OsConstants;->UDP_ENCAP_ESPINUDP:I -Landroid/system/OsConstants;->UDP_ENCAP_ESPINUDP_NON_IKE:I -Landroid/system/OsConstants;->UNIX_PATH_MAX:I -Landroid/system/OsConstants;->XATTR_CREATE:I -Landroid/system/OsConstants;->XATTR_REPLACE:I -Landroid/system/OsConstants;->_LINUX_CAPABILITY_VERSION_3:I -Landroid/system/OsConstants;->initConstants()V -Landroid/system/OsConstants;->placeholder()I -Landroid/system/PacketSocketAddress;-><init>(I[B)V -Landroid/system/PacketSocketAddress;-><init>(SI)V -Landroid/system/StructTimeval;->fromMillis(J)Landroid/system/StructTimeval; -Landroid/telecom/AudioState;->isMuted:Z -Landroid/telecom/ParcelableCall;->CREATOR:Landroid/os/Parcelable$Creator; -Landroid/telecom/ParcelableCall;->getConnectTimeMillis()J -Landroid/telecom/ParcelableCall;->getDisconnectCause()Landroid/telecom/DisconnectCause; -Landroid/telecom/ParcelableCall;->getHandle()Landroid/net/Uri; -Landroid/telecom/ParcelableCall;->getId()Ljava/lang/String; -Landroid/telecom/TelecomManager;->EXTRA_IS_HANDOVER:Ljava/lang/String; -Landroid/telecom/TelecomManager;->from(Landroid/content/Context;)Landroid/telecom/TelecomManager; -Landroid/telecom/TelecomManager;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle; -Landroid/telecom/TelecomManager;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V -Landroid/telecom/VideoProfile$CameraCapabilities;-><init>(IIZF)V -Landroid/telephony/CellSignalStrengthLte;->mCqi:I -Landroid/telephony/CellSignalStrengthLte;->mRsrp:I -Landroid/telephony/CellSignalStrengthLte;->mRsrq:I -Landroid/telephony/CellSignalStrengthLte;->mRssnr:I -Landroid/telephony/CellSignalStrengthLte;->mSignalStrength:I -Landroid/telephony/CellSignalStrengthLte;->mTimingAdvance:I -Landroid/telephony/CellSignalStrengthWcdma;->mBitErrorRate:I -Landroid/telephony/CellSignalStrengthWcdma;->mSignalStrength:I -Landroid/telephony/NetworkScan;->stop()V -Landroid/telephony/PhoneNumberUtils;->formatNumber(Ljava/lang/String;I)Ljava/lang/String; -Landroid/telephony/PhoneNumberUtils;->isEmergencyNumber(ILjava/lang/String;)Z -Landroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumber(Landroid/content/Context;ILjava/lang/String;)Z -Landroid/telephony/PhoneNumberUtils;->isPotentialEmergencyNumber(ILjava/lang/String;)Z -Landroid/telephony/PhoneNumberUtils;->isPotentialLocalEmergencyNumber(Landroid/content/Context;ILjava/lang/String;)Z -Landroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;)V -Landroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;Landroid/os/Looper;)V -Landroid/telephony/PhoneStateListener;->mSubId:Ljava/lang/Integer; -Landroid/telephony/PreciseCallState;->getBackgroundCallState()I -Landroid/telephony/PreciseCallState;->getForegroundCallState()I -Landroid/telephony/RadioAccessFamily;-><init>(II)V -Landroid/telephony/RadioAccessFamily;->getRafFromNetworkType(I)I -Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I -Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;)I -Landroid/telephony/Rlog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -Landroid/telephony/Rlog;->i(Ljava/lang/String;Ljava/lang/String;)I -Landroid/telephony/ServiceState;->bitmaskHasTech(II)Z -Landroid/telephony/ServiceState;->getDataRegState()I -Landroid/telephony/ServiceState;->getDataRoaming()Z -Landroid/telephony/ServiceState;->getRilDataRadioTechnology()I -Landroid/telephony/ServiceState;->getVoiceNetworkType()I -Landroid/telephony/ServiceState;->getVoiceRegState()I -Landroid/telephony/ServiceState;->isCdma(I)Z -Landroid/telephony/ServiceState;->isEmergencyOnly()Z -Landroid/telephony/ServiceState;->isGsm(I)Z -Landroid/telephony/ServiceState;->mergeServiceStates(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;)Landroid/telephony/ServiceState; -Landroid/telephony/ServiceState;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/ServiceState; -Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String; -Landroid/telephony/SignalStrength;-><init>()V -Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GOOD:I -Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_GREAT:I -Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_MODERATE:I -Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_NONE_OR_UNKNOWN:I -Landroid/telephony/SignalStrength;->SIGNAL_STRENGTH_POOR:I -Landroid/telephony/SignalStrength;->getAsuLevel()I -Landroid/telephony/SignalStrength;->getCdmaLevel()I -Landroid/telephony/SignalStrength;->getDbm()I -Landroid/telephony/SignalStrength;->getGsmDbm()I -Landroid/telephony/SignalStrength;->getLteDbm()I -Landroid/telephony/SignalStrength;->getLteRsrp()I -Landroid/telephony/SignalStrength;->getLteRsrq()I -Landroid/telephony/SignalStrength;->getLteRssnr()I -Landroid/telephony/SignalStrength;->getLteSignalStrength()I -Landroid/telephony/SignalStrength;->mGsmBitErrorRate:I -Landroid/telephony/SignalStrength;->mGsmSignalStrength:I -Landroid/telephony/SignalStrength;->mLteCqi:I -Landroid/telephony/SignalStrength;->mLteRsrp:I -Landroid/telephony/SignalStrength;->mLteRsrq:I -Landroid/telephony/SignalStrength;->mLteRssnr:I -Landroid/telephony/SignalStrength;->mLteSignalStrength:I -Landroid/telephony/SmsManager;->sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;IZI)V -Landroid/telephony/SmsManager;->sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;IZI)V -Landroid/telephony/SmsMessage;->getSubId()I -Landroid/telephony/SmsMessage;->mWrappedSmsMessage:Lcom/android/internal/telephony/SmsMessageBase; -Landroid/telephony/SubscriptionInfo;->setDisplayName(Ljava/lang/CharSequence;)V -Landroid/telephony/SubscriptionInfo;->setIconTint(I)V -Landroid/telephony/SubscriptionManager;->clearDefaultsForInactiveSubIds()V -Landroid/telephony/SubscriptionManager;->getActiveSubscriptionIdList()[I -Landroid/telephony/SubscriptionManager;->getAllSubscriptionInfoCount()I -Landroid/telephony/SubscriptionManager;->getAllSubscriptionInfoList()Ljava/util/List; -Landroid/telephony/SubscriptionManager;->getDefaultDataPhoneId()I -Landroid/telephony/SubscriptionManager;->getDefaultDataSubscriptionInfo()Landroid/telephony/SubscriptionInfo; -Landroid/telephony/SubscriptionManager;->getDefaultSmsPhoneId()I -Landroid/telephony/SubscriptionManager;->getDefaultVoicePhoneId()I -Landroid/telephony/SubscriptionManager;->getDefaultVoiceSubscriptionInfo()Landroid/telephony/SubscriptionInfo; -Landroid/telephony/SubscriptionManager;->getPhoneId(I)I -Landroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;I)Landroid/content/res/Resources; -Landroid/telephony/SubscriptionManager;->getSlotIndex(I)I -Landroid/telephony/SubscriptionManager;->getSubId(I)[I -Landroid/telephony/SubscriptionManager;->isActiveSubId(I)Z -Landroid/telephony/SubscriptionManager;->isUsableSubIdValue(I)Z -Landroid/telephony/SubscriptionManager;->isValidPhoneId(I)Z -Landroid/telephony/SubscriptionManager;->isValidSlotIndex(I)Z -Landroid/telephony/SubscriptionManager;->isValidSubscriptionId(I)Z -Landroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;I)V -Landroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;II)V -Landroid/telephony/SubscriptionManager;->setDefaultDataSubId(I)V -Landroid/telephony/SubscriptionManager;->setDefaultSmsSubId(I)V -Landroid/telephony/SubscriptionManager;->setDisplayName(Ljava/lang/String;IJ)I -Landroid/telephony/SubscriptionManager;->setIconTint(II)I -Landroid/telephony/TelephonyManager$MultiSimVariants;->DSDA:Landroid/telephony/TelephonyManager$MultiSimVariants; -Landroid/telephony/TelephonyManager$MultiSimVariants;->DSDS:Landroid/telephony/TelephonyManager$MultiSimVariants; -Landroid/telephony/TelephonyManager;-><init>()V -Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V -Landroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager; -Landroid/telephony/TelephonyManager;->getCallState(I)I -Landroid/telephony/TelephonyManager;->getDataNetworkType(I)I -Landroid/telephony/TelephonyManager;->getDefault()Landroid/telephony/TelephonyManager; -Landroid/telephony/TelephonyManager;->getGroupIdLevel1(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony; -Landroid/telephony/TelephonyManager;->getIntAtIndex(Landroid/content/ContentResolver;Ljava/lang/String;I)I -Landroid/telephony/TelephonyManager;->getIsimDomain()Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getLine1Number(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getMultiSimConfiguration()Landroid/telephony/TelephonyManager$MultiSimVariants; -Landroid/telephony/TelephonyManager;->getNetworkClass(I)I -Landroid/telephony/TelephonyManager;->getNetworkCountryIso(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getNetworkOperator(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getNetworkOperatorForPhone(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getNetworkOperatorName(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getNetworkType(I)I -Landroid/telephony/TelephonyManager;->getNetworkTypeName()Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getNetworkTypeName(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getPhoneType(I)I -Landroid/telephony/TelephonyManager;->getPreferredNetworkType(I)I -Landroid/telephony/TelephonyManager;->getServiceStateForSubscriber(I)Landroid/telephony/ServiceState; -Landroid/telephony/TelephonyManager;->getSimCount()I -Landroid/telephony/TelephonyManager;->getSimOperator(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getSimOperatorName(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getSimOperatorNameForPhone(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I -Landroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String; -Landroid/telephony/TelephonyManager;->getSubscriberInfo()Lcom/android/internal/telephony/IPhoneSubInfo; -Landroid/telephony/TelephonyManager;->getVoiceMessageCount()I -Landroid/telephony/TelephonyManager;->getVoiceNetworkType(I)I -Landroid/telephony/TelephonyManager;->hasIccCard(I)Z -Landroid/telephony/TelephonyManager;->isImsRegistered()Z -Landroid/telephony/TelephonyManager;->isMultiSimEnabled()Z -Landroid/telephony/TelephonyManager;->isNetworkRoaming(I)Z -Landroid/telephony/TelephonyManager;->isVideoTelephonyAvailable()Z -Landroid/telephony/TelephonyManager;->isVolteAvailable()Z -Landroid/telephony/TelephonyManager;->isWifiCallingAvailable()Z -Landroid/telephony/TelephonyManager;->mSubscriptionManager:Landroid/telephony/SubscriptionManager; -Landroid/telephony/TelephonyManager;->nvResetConfig(I)Z -Landroid/telephony/TelephonyManager;->putIntAtIndex(Landroid/content/ContentResolver;Ljava/lang/String;II)Z -Landroid/telephony/TelephonyManager;->requestNetworkScan(Landroid/telephony/NetworkScanRequest;Landroid/telephony/TelephonyScanManager$NetworkScanCallback;)Landroid/telephony/NetworkScan; -Landroid/telephony/TelephonyManager;->setPreferredNetworkType(II)Z -Landroid/telephony/euicc/DownloadableSubscription;->encodedActivationCode:Ljava/lang/String; -Landroid/telephony/euicc/DownloadableSubscription;->setAccessRules([Landroid/telephony/UiccAccessRule;)V -Landroid/telephony/euicc/DownloadableSubscription;->setCarrierName(Ljava/lang/String;)V -Landroid/telephony/ims/ImsCallForwardInfo;-><init>()V -Landroid/telephony/ims/ImsCallForwardInfo;->mCondition:I -Landroid/telephony/ims/ImsCallForwardInfo;->mNumber:Ljava/lang/String; -Landroid/telephony/ims/ImsCallForwardInfo;->mServiceClass:I -Landroid/telephony/ims/ImsCallForwardInfo;->mStatus:I -Landroid/telephony/ims/ImsCallForwardInfo;->mTimeSeconds:I -Landroid/telephony/ims/ImsCallForwardInfo;->mToA:I -Landroid/telephony/ims/ImsCallProfile;->mCallExtras:Landroid/os/Bundle; -Landroid/telephony/ims/ImsCallProfile;->mCallType:I -Landroid/telephony/ims/ImsCallProfile;->mMediaProfile:Landroid/telephony/ims/ImsStreamMediaProfile; -Landroid/telephony/ims/ImsCallProfile;->mRestrictCause:I -Landroid/telephony/ims/ImsCallProfile;->presentationToOIR(I)I -Landroid/telephony/ims/ImsExternalCallState;-><init>(ILandroid/net/Uri;ZIIZ)V -Landroid/telephony/ims/ImsReasonInfo;-><init>(II)V -Landroid/telephony/ims/ImsReasonInfo;->mCode:I -Landroid/telephony/ims/ImsReasonInfo;->mExtraCode:I -Landroid/telephony/ims/ImsReasonInfo;->mExtraMessage:Ljava/lang/String; -Landroid/telephony/ims/ImsSsInfo;->mIcbNum:Ljava/lang/String; -Landroid/telephony/ims/ImsSsInfo;->mStatus:I -Landroid/telephony/ims/ImsStreamMediaProfile;-><init>()V -Landroid/telephony/ims/ImsStreamMediaProfile;->mAudioDirection:I -Landroid/telephony/ims/ImsStreamMediaProfile;->mAudioQuality:I -Landroid/telephony/ims/ImsStreamMediaProfile;->mVideoDirection:I -Landroid/telephony/ims/ImsVideoCallProvider;->getInterface()Lcom/android/ims/internal/IImsVideoCallProvider; -Landroid/telephony/ims/compat/ImsService;-><init>()V -Landroid/telephony/ims/compat/ImsService;->mImsServiceController:Landroid/os/IBinder; -Landroid/telephony/ims/compat/feature/ImsFeature;->getFeatureState()I -Landroid/telephony/ims/compat/feature/ImsFeature;->setFeatureState(I)V -Landroid/telephony/ims/compat/feature/MMTelFeature;-><init>()V -Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;-><init>()V -Landroid/telephony/ims/compat/stub/ImsConfigImplBase;-><init>(Landroid/content/Context;)V -Landroid/telephony/ims/compat/stub/ImsConfigImplBase;->getIImsConfig()Lcom/android/ims/internal/IImsConfig; -Landroid/telephony/ims/compat/stub/ImsUtListenerImplBase;-><init>()V -Landroid/telephony/mbms/IMbmsStreamingSessionCallback$Stub;-><init>()V -Landroid/telephony/mbms/IStreamingServiceCallback$Stub;-><init>()V -Landroid/telephony/mbms/vendor/IMbmsStreamingService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/mbms/vendor/IMbmsStreamingService; -Landroid/telephony/mbms/vendor/IMbmsStreamingService;->getPlaybackUri(ILjava/lang/String;)Landroid/net/Uri; -Landroid/telephony/mbms/vendor/IMbmsStreamingService;->initialize(Landroid/telephony/mbms/IMbmsStreamingSessionCallback;I)I -Landroid/telephony/mbms/vendor/IMbmsStreamingService;->requestUpdateStreamingServices(ILjava/util/List;)I -Landroid/telephony/mbms/vendor/IMbmsStreamingService;->startStreaming(ILjava/lang/String;Landroid/telephony/mbms/IStreamingServiceCallback;)I -Landroid/text/AndroidBidi;->bidi(I[C[B)I -Landroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics; -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 -Landroid/text/DynamicLayout;->sStaticLayout:Landroid/text/StaticLayout; -Landroid/text/Html;->withinStyle(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;II)V -Landroid/text/Layout$Alignment;->ALIGN_LEFT:Landroid/text/Layout$Alignment; -Landroid/text/Layout$Alignment;->ALIGN_RIGHT:Landroid/text/Layout$Alignment; -Landroid/text/Layout;->DIRS_ALL_LEFT_TO_RIGHT:Landroid/text/Layout$Directions; -Landroid/text/Layout;->getPrimaryHorizontal(IZ)F -Landroid/text/SpanSet;->spans:[Ljava/lang/Object; -Landroid/text/SpannableStringBuilder;->mGapLength:I -Landroid/text/SpannableStringBuilder;->mGapStart:I -Landroid/text/SpannableStringBuilder;->mSpanCount:I -Landroid/text/SpannableStringBuilder;->mSpanEnds:[I -Landroid/text/SpannableStringBuilder;->mSpanFlags:[I -Landroid/text/SpannableStringBuilder;->mSpanStarts:[I -Landroid/text/SpannableStringBuilder;->mSpans:[Ljava/lang/Object; -Landroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;II)V -Landroid/text/SpannableStringInternal;->COLUMNS:I -Landroid/text/SpannableStringInternal;->EMPTY:[Ljava/lang/Object; -Landroid/text/SpannableStringInternal;->END:I -Landroid/text/SpannableStringInternal;->FLAGS:I -Landroid/text/SpannableStringInternal;->START:I -Landroid/text/SpannableStringInternal;->charAt(I)C -Landroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V -Landroid/text/SpannableStringInternal;->copySpans(Landroid/text/SpannableStringInternal;II)V -Landroid/text/SpannableStringInternal;->copySpans(Landroid/text/Spanned;II)V -Landroid/text/SpannableStringInternal;->getChars(II[CI)V -Landroid/text/SpannableStringInternal;->getSpanEnd(Ljava/lang/Object;)I -Landroid/text/SpannableStringInternal;->getSpanFlags(Ljava/lang/Object;)I -Landroid/text/SpannableStringInternal;->getSpanStart(Ljava/lang/Object;)I -Landroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object; -Landroid/text/SpannableStringInternal;->isIndexFollowsNextLine(I)Z -Landroid/text/SpannableStringInternal;->isOutOfCopyRange(IIII)Z -Landroid/text/SpannableStringInternal;->length()I -Landroid/text/SpannableStringInternal;->mSpanCount:I -Landroid/text/SpannableStringInternal;->mSpanData:[I -Landroid/text/SpannableStringInternal;->mSpans:[Ljava/lang/Object; -Landroid/text/SpannableStringInternal;->mText:Ljava/lang/String; -Landroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I -Landroid/text/SpannableStringInternal;->region(II)Ljava/lang/String; -Landroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;)V -Landroid/text/SpannableStringInternal;->sendSpanAdded(Ljava/lang/Object;II)V -Landroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V -Landroid/text/SpannableStringInternal;->sendSpanRemoved(Ljava/lang/Object;II)V -Landroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;III)V -Landroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V -Landroid/text/StaticLayout$LineBreaks;->ascents:[F -Landroid/text/StaticLayout$LineBreaks;->breaks:[I -Landroid/text/StaticLayout$LineBreaks;->descents:[F -Landroid/text/StaticLayout$LineBreaks;->flags:[I -Landroid/text/StaticLayout$LineBreaks;->widths:[F -Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZLandroid/text/TextUtils$TruncateAt;II)V -Landroid/text/StaticLayout;->getHeight(Z)I -Landroid/text/StaticLayout;->mColumns:I -Landroid/text/StaticLayout;->mLineCount:I -Landroid/text/StaticLayout;->mLines:[I -Landroid/text/StaticLayout;->mMaximumVisibleLineCount:I -Landroid/text/TextLine;->mCharacterStyleSpanSet:Landroid/text/SpanSet; -Landroid/text/TextLine;->mMetricAffectingSpanSpanSet:Landroid/text/SpanSet; -Landroid/text/TextLine;->mReplacementSpanSpanSet:Landroid/text/SpanSet; -Landroid/text/TextLine;->mSpanned:Landroid/text/Spanned; -Landroid/text/TextLine;->mText:Ljava/lang/CharSequence; -Landroid/text/TextLine;->obtain()Landroid/text/TextLine; -Landroid/text/TextLine;->sCached:[Landroid/text/TextLine; -Landroid/text/TextPaint;->setUnderlineText(IF)V -Landroid/text/TextUtils$TruncateAt;->END_SMALL:Landroid/text/TextUtils$TruncateAt; -Landroid/text/TextUtils;->isPrintableAsciiOnly(Ljava/lang/CharSequence;)Z -Landroid/text/format/DateFormat;->AM_PM:C -Landroid/text/format/DateFormat;->CAPITAL_AM_PM:C -Landroid/text/format/DateFormat;->DATE:C -Landroid/text/format/DateFormat;->DAY:C -Landroid/text/format/DateFormat;->HOUR:C -Landroid/text/format/DateFormat;->HOUR_OF_DAY:C -Landroid/text/format/DateFormat;->MINUTE:C -Landroid/text/format/DateFormat;->MONTH:C -Landroid/text/format/DateFormat;->QUOTE:C -Landroid/text/format/DateFormat;->SECONDS:C -Landroid/text/format/DateFormat;->STANDALONE_MONTH:C -Landroid/text/format/DateFormat;->TIME_ZONE:C -Landroid/text/format/DateFormat;->YEAR:C -Landroid/text/method/LinkMovementMethod;->sInstance:Landroid/text/method/LinkMovementMethod; -Landroid/text/style/RasterizerSpan; -Landroid/text/style/RasterizerSpan;-><init>(Landroid/graphics/Rasterizer;)V -Landroid/text/style/RasterizerSpan;->getRasterizer()Landroid/graphics/Rasterizer; -Landroid/transition/ChangeBounds;->BOTTOM_RIGHT_ONLY_PROPERTY:Landroid/util/Property; -Landroid/transition/ChangeBounds;->POSITION_PROPERTY:Landroid/util/Property; -Landroid/transition/Scene;->mEnterAction:Ljava/lang/Runnable; -Landroid/transition/Scene;->mExitAction:Ljava/lang/Runnable; -Landroid/transition/Scene;->setCurrentScene(Landroid/view/View;Landroid/transition/Scene;)V -Landroid/transition/TransitionManager;->sRunningTransitions:Ljava/lang/ThreadLocal; -Landroid/util/ArrayMap;->append(Ljava/lang/Object;Ljava/lang/Object;)V -Landroid/util/ArrayMap;->mBaseCacheSize:I -Landroid/util/ArrayMap;->mTwiceBaseCacheSize:I -Landroid/util/ArraySet;-><init>(Ljava/util/Collection;)V -Landroid/util/DisplayMetrics;->DENSITY_DEVICE:I -Landroid/util/DisplayMetrics;->noncompatHeightPixels:I -Landroid/util/DisplayMetrics;->noncompatWidthPixels:I -Landroid/util/EventLog$Event;-><init>([B)V -Landroid/util/FloatMath;->ceil(F)F -Landroid/util/FloatMath;->cos(F)F -Landroid/util/FloatMath;->exp(F)F -Landroid/util/FloatMath;->floor(F)F -Landroid/util/FloatMath;->hypot(FF)F -Landroid/util/FloatMath;->pow(FF)F -Landroid/util/FloatMath;->sin(F)F -Landroid/util/FloatMath;->sqrt(F)F -Landroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;I)Landroid/graphics/drawable/Drawable; -Landroid/util/IconDrawableFactory;->newInstance(Landroid/content/Context;)Landroid/util/IconDrawableFactory; -Landroid/util/LocalLog$ReadOnlyLocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V -Landroid/util/LocalLog;-><init>(I)V -Landroid/util/LocalLog;->log(Ljava/lang/String;)V -Landroid/util/LocalLog;->readOnlyLocalLog()Landroid/util/LocalLog$ReadOnlyLocalLog; -Landroid/util/Log;->wtf(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;ZZ)I -Landroid/util/LongArray;-><init>()V -Landroid/util/LongArray;->add(IJ)V -Landroid/util/LongArray;->get(I)J -Landroid/util/LongArray;->size()I -Landroid/util/LongSparseLongArray;->mKeys:[J -Landroid/util/LongSparseLongArray;->mSize:I -Landroid/util/LongSparseLongArray;->mValues:[J -Landroid/util/MalformedJsonException;->serialVersionUID:J -Landroid/util/MathUtils;->constrain(III)I -Landroid/util/NtpTrustedTime;->forceRefresh()Z -Landroid/util/NtpTrustedTime;->getCachedNtpTime()J -Landroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J -Landroid/util/NtpTrustedTime;->getInstance(Landroid/content/Context;)Landroid/util/NtpTrustedTime; -Landroid/util/NtpTrustedTime;->hasCache()Z -Landroid/util/PathParser;->createPathFromPathData(Ljava/lang/String;)Landroid/graphics/Path; -Landroid/util/Pools$SimplePool;->mPool:[Ljava/lang/Object; -Landroid/util/Pools$SynchronizedPool;-><init>(I)V -Landroid/util/Pools$SynchronizedPool;->acquire()Ljava/lang/Object; -Landroid/util/Pools$SynchronizedPool;->release(Ljava/lang/Object;)Z -Landroid/util/Rational;->mDenominator:I -Landroid/util/Rational;->mNumerator:I -Landroid/util/Rational;->readObject(Ljava/io/ObjectInputStream;)V -Landroid/util/Rational;->serialVersionUID:J -Landroid/util/RecurrenceRule;->buildRecurringMonthly(ILjava/time/ZoneId;)Landroid/util/RecurrenceRule; -Landroid/util/RecurrenceRule;->start:Ljava/time/ZonedDateTime; -Landroid/util/Singleton;-><init>()V -Landroid/util/Singleton;->get()Ljava/lang/Object; -Landroid/util/Singleton;->mInstance:Ljava/lang/Object; -Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I -Landroid/util/Slog;->println(ILjava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;)I -Landroid/util/SparseIntArray;->mKeys:[I -Landroid/util/SparseIntArray;->mSize:I -Landroid/util/SparseIntArray;->mValues:[I -Landroid/util/apk/SignatureNotFoundException;->serialVersionUID:J -Landroid/view/AppTransitionAnimationSpec;-><init>(ILandroid/graphics/GraphicBuffer;Landroid/graphics/Rect;)V -Landroid/view/BatchedInputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;Landroid/view/Choreographer;)V -Landroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V -Landroid/view/Choreographer;->USE_VSYNC:Z -Landroid/view/Choreographer;->doFrame(JI)V -Landroid/view/Choreographer;->getFrameTime()J -Landroid/view/Choreographer;->getSfInstance()Landroid/view/Choreographer; -Landroid/view/Choreographer;->mCallbackQueues:[Landroid/view/Choreographer$CallbackQueue; -Landroid/view/Choreographer;->mFrameIntervalNanos:J -Landroid/view/Choreographer;->mLastFrameTimeNanos:J -Landroid/view/Choreographer;->mLock:Ljava/lang/Object; -Landroid/view/Choreographer;->scheduleVsyncLocked()V -Landroid/view/ContextThemeWrapper;->getThemeResId()I -Landroid/view/ContextThemeWrapper;->initializeTheme()V -Landroid/view/ContextThemeWrapper;->mInflater:Landroid/view/LayoutInflater; -Landroid/view/ContextThemeWrapper;->mResources:Landroid/content/res/Resources; -Landroid/view/ContextThemeWrapper;->mTheme:Landroid/content/res/Resources$Theme; -Landroid/view/ContextThemeWrapper;->mThemeResource:I -Landroid/view/Display$HdrCapabilities;-><init>([IFFF)V -Landroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; -Landroid/view/DisplayAdjustments;->getConfiguration()Landroid/content/res/Configuration; -Landroid/view/DisplayAdjustments;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V -Landroid/view/DisplayEventReceiver;->dispatchHotplug(JIZ)V -Landroid/view/DisplayEventReceiver;->dispatchVsync(JII)V -Landroid/view/DisplayListCanvas;->callDrawGLFunction2(J)V -Landroid/view/DisplayListCanvas;->drawGLFunctor2(JLjava/lang/Runnable;)V -Landroid/view/DisplayListCanvas;->drawRenderNode(Landroid/view/RenderNode;)V -Landroid/view/FrameMetrics;->mTimingData:[J -Landroid/view/FrameMetricsObserver;->mFrameMetrics:Landroid/view/FrameMetrics; -Landroid/view/FrameMetricsObserver;->mMessageQueue:Landroid/os/MessageQueue; -Landroid/view/FrameMetricsObserver;->notifyDataAvailable(I)V -Landroid/view/GestureDetector;->mMinimumFlingVelocity:I -Landroid/view/GestureDetector;->mTouchSlopSquare:I -Landroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)Landroid/view/GhostView; -Landroid/view/GhostView;->removeGhost(Landroid/view/View;)V -Landroid/view/IAppTransitionAnimationSpecsFuture$Stub;-><init>()V -Landroid/view/IGraphicsStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats; -Landroid/view/IRecentsAnimationController;->finish(Z)V -Landroid/view/IRecentsAnimationController;->screenshotTask(I)Landroid/app/ActivityManager$TaskSnapshot; -Landroid/view/IRecentsAnimationController;->setAnimationTargetsBehindSystemBars(Z)V -Landroid/view/IRecentsAnimationController;->setInputConsumerEnabled(Z)V -Landroid/view/IRecentsAnimationRunner$Stub;-><init>()V -Landroid/view/IRecentsAnimationRunner;->onAnimationCanceled()V -Landroid/view/IRecentsAnimationRunner;->onAnimationStart(Landroid/view/IRecentsAnimationController;[Landroid/view/RemoteAnimationTarget;)V -Landroid/view/IRecentsAnimationRunner;->onAnimationStart_New(Landroid/view/IRecentsAnimationController;[Landroid/view/RemoteAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;)V -Landroid/view/IRemoteAnimationFinishedCallback;->onAnimationFinished()V -Landroid/view/IRemoteAnimationRunner$Stub;-><init>()V -Landroid/view/IRemoteAnimationRunner;->onAnimationCancelled()V -Landroid/view/IRemoteAnimationRunner;->onAnimationStart([Landroid/view/RemoteAnimationTarget;Landroid/view/IRemoteAnimationFinishedCallback;)V -Landroid/view/IWindowManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/view/IWindowManager$Stub$Proxy;->getBaseDisplayDensity(I)I -Landroid/view/IWindowManager$Stub$Proxy;->getDockedStackSide()I -Landroid/view/IWindowManager$Stub$Proxy;->getInitialDisplayDensity(I)I -Landroid/view/IWindowManager$Stub$Proxy;->hasNavigationBar()Z -Landroid/view/IWindowManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowManager; -Landroid/view/IWindowManager;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;)V -Landroid/view/IWindowManager;->destroyInputConsumer(Ljava/lang/String;)Z -Landroid/view/IWindowManager;->endProlongedAnimations()V -Landroid/view/IWindowManager;->getAnimationScale(I)F -Landroid/view/IWindowManager;->getStableInsets(ILandroid/graphics/Rect;)V -Landroid/view/IWindowManager;->hasNavigationBar()Z -Landroid/view/IWindowManager;->overridePendingAppTransitionMultiThumbFuture(Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/os/IRemoteCallback;Z)V -Landroid/view/IWindowManager;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;)V -Landroid/view/IWindowManager;->setAnimationScale(IF)V -Landroid/view/IWindowManager;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V -Landroid/view/IWindowManager;->setShelfHeight(ZI)V -Landroid/view/IWindowManager;->setStrictModeVisualIndicatorPreference(Ljava/lang/String;)V -Landroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I -Landroid/view/InputChannel;-><init>()V -Landroid/view/InputChannel;->mPtr:J -Landroid/view/InputDevice;-><init>(IIILjava/lang/String;IILjava/lang/String;ZIILandroid/view/KeyCharacterMap;ZZZ)V -Landroid/view/InputDevice;->addMotionRange(IIFFFFF)V -Landroid/view/InputDevice;->isExternal()Z -Landroid/view/InputEvent;->getSequenceNumber()I -Landroid/view/InputEventReceiver;->dispatchBatchedInputEventPending()V -Landroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;I)V -Landroid/view/InputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V -Landroid/view/InputEventSender;->dispatchInputEventFinished(IZ)V -Landroid/view/InputQueue;->finishInputEvent(JZ)V -Landroid/view/KeyCharacterMap$FallbackAction;->keyCode:I -Landroid/view/KeyCharacterMap$FallbackAction;->metaState:I -Landroid/view/KeyCharacterMap;-><init>(J)V -Landroid/view/KeyEvent;->isConfirmKey(I)Z -Landroid/view/KeyEvent;->mAction:I -Landroid/view/KeyEvent;->mCharacters:Ljava/lang/String; -Landroid/view/KeyEvent;->mDeviceId:I -Landroid/view/KeyEvent;->mDownTime:J -Landroid/view/KeyEvent;->mEventTime:J -Landroid/view/KeyEvent;->mFlags:I -Landroid/view/KeyEvent;->mKeyCode:I -Landroid/view/KeyEvent;->mMetaState:I -Landroid/view/KeyEvent;->mRepeatCount:I -Landroid/view/KeyEvent;->mScanCode:I -Landroid/view/KeyEvent;->mSource:I -Landroid/view/KeyEvent;->obtain(JJIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent; -Landroid/view/KeyEvent;->recycle()V -Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View; -Landroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View; -Landroid/view/LayoutInflater;->mConstructorArgs:[Ljava/lang/Object; -Landroid/view/LayoutInflater;->mContext:Landroid/content/Context; -Landroid/view/LayoutInflater;->mFactory2:Landroid/view/LayoutInflater$Factory2; -Landroid/view/LayoutInflater;->mFactory:Landroid/view/LayoutInflater$Factory; -Landroid/view/LayoutInflater;->mFactorySet:Z -Landroid/view/LayoutInflater;->mPrivateFactory:Landroid/view/LayoutInflater$Factory2; -Landroid/view/LayoutInflater;->sConstructorMap:Ljava/util/HashMap; -Landroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V -Landroid/view/MotionEvent$PointerCoords;->mPackedAxisBits:J -Landroid/view/MotionEvent$PointerCoords;->mPackedAxisValues:[F -Landroid/view/MotionEvent;->HISTORY_CURRENT:I -Landroid/view/MotionEvent;->getPointerIdBits()I -Landroid/view/MotionEvent;->mNativePtr:J -Landroid/view/MotionEvent;->nativeGetRawAxisValue(JIII)F -Landroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent; -Landroid/view/MotionEvent;->scale(F)V -Landroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent; -Landroid/view/PointerIcon;->load(Landroid/content/Context;)Landroid/view/PointerIcon; -Landroid/view/PointerIcon;->mBitmap:Landroid/graphics/Bitmap; -Landroid/view/PointerIcon;->mBitmapFrames:[Landroid/graphics/Bitmap; -Landroid/view/PointerIcon;->mDurationPerFrame:I -Landroid/view/PointerIcon;->mHotSpotX:F -Landroid/view/PointerIcon;->mHotSpotY:F -Landroid/view/PointerIcon;->mType:I -Landroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V -Landroid/view/RemoteAnimationDefinition;-><init>()V -Landroid/view/RemoteAnimationDefinition;->addRemoteAnimation(IILandroid/view/RemoteAnimationAdapter;)V -Landroid/view/RemoteAnimationDefinition;->addRemoteAnimation(ILandroid/view/RemoteAnimationAdapter;)V -Landroid/view/RemoteAnimationTarget;->clipRect:Landroid/graphics/Rect; -Landroid/view/RemoteAnimationTarget;->contentInsets:Landroid/graphics/Rect; -Landroid/view/RemoteAnimationTarget;->isNotInRecents:Z -Landroid/view/RemoteAnimationTarget;->isTranslucent:Z -Landroid/view/RemoteAnimationTarget;->leash:Landroid/view/SurfaceControl; -Landroid/view/RemoteAnimationTarget;->mode:I -Landroid/view/RemoteAnimationTarget;->position:Landroid/graphics/Point; -Landroid/view/RemoteAnimationTarget;->prefixOrderIndex:I -Landroid/view/RemoteAnimationTarget;->sourceContainerBounds:Landroid/graphics/Rect; -Landroid/view/RemoteAnimationTarget;->taskId:I -Landroid/view/RemoteAnimationTarget;->windowConfiguration:Landroid/app/WindowConfiguration; -Landroid/view/RenderNode;->create(Ljava/lang/String;Landroid/view/View;)Landroid/view/RenderNode; -Landroid/view/RenderNode;->discardDisplayList()V -Landroid/view/RenderNode;->end(Landroid/view/DisplayListCanvas;)V -Landroid/view/RenderNode;->isValid()Z -Landroid/view/RenderNode;->output()V -Landroid/view/RenderNode;->setClipToBounds(Z)Z -Landroid/view/RenderNode;->setLeftTopRightBottom(IIII)Z -Landroid/view/RenderNode;->start(II)Landroid/view/DisplayListCanvas; -Landroid/view/RenderNodeAnimator;-><init>(IF)V -Landroid/view/RenderNodeAnimator;->callOnFinished(Landroid/view/RenderNodeAnimator;)V -Landroid/view/RenderNodeAnimator;->mapViewPropertyToRenderProperty(I)I -Landroid/view/RenderNodeAnimator;->setTarget(Landroid/view/View;)V -Landroid/view/ScaleGestureDetector;->mListener:Landroid/view/ScaleGestureDetector$OnScaleGestureListener; -Landroid/view/ScaleGestureDetector;->mMinSpan:I -Landroid/view/Surface;-><init>(J)V -Landroid/view/Surface;->getNextFrameNumber()J -Landroid/view/Surface;->mLock:Ljava/lang/Object; -Landroid/view/Surface;->mNativeObject:J -Landroid/view/Surface;->transferFrom(Landroid/view/Surface;)V -Landroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>()V -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->appVsyncOffsetNanos:J -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->density:F -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->height:I -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->presentationDeadlineNanos:J -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->refreshRate:F -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->secure:Z -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->width:I -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->xDpi:F -Landroid/view/SurfaceControl$PhysicalDisplayInfo;->yDpi:F -Landroid/view/SurfaceControl$Transaction;-><init>()V -Landroid/view/SurfaceControl$Transaction;->apply()V -Landroid/view/SurfaceControl$Transaction;->deferTransactionUntil(Landroid/view/SurfaceControl;Landroid/os/IBinder;J)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setFinalCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;Landroid/graphics/Matrix;[F)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setPosition(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction; -Landroid/view/SurfaceSession;->mNativeClient:J -Landroid/view/SurfaceView;->isFixedSize()Z -Landroid/view/SurfaceView;->mCallbacks:Ljava/util/ArrayList; -Landroid/view/SurfaceView;->mFormat:I -Landroid/view/SurfaceView;->mRequestedFormat:I -Landroid/view/SurfaceView;->mSurfaceHolder:Landroid/view/SurfaceHolder; -Landroid/view/SurfaceView;->setFrame(IIII)Z -Landroid/view/SurfaceView;->surfacePositionLost_uiRtSync(J)V -Landroid/view/SurfaceView;->updateSurfacePosition_renderWorker(JIIII)V -Landroid/view/TextureView;->destroyHardwareLayer()V -Landroid/view/TextureView;->destroyHardwareResources()V -Landroid/view/TextureView;->mLayer:Landroid/view/TextureLayer; -Landroid/view/TextureView;->mNativeWindow:J -Landroid/view/TextureView;->mSurface:Landroid/graphics/SurfaceTexture; -Landroid/view/TextureView;->mUpdateListener:Landroid/graphics/SurfaceTexture$OnFrameAvailableListener; -Landroid/view/ThreadedRenderer;->createHardwareBitmap(Landroid/view/RenderNode;II)Landroid/graphics/Bitmap; -Landroid/view/ThreadedRenderer;->setupDiskCache(Ljava/io/File;)V -Landroid/view/TouchDelegate;->mDelegateTargeted:Z -Landroid/view/VelocityTracker$Estimator;->confidence:F -Landroid/view/VelocityTracker$Estimator;->degree:I -Landroid/view/VelocityTracker$Estimator;->xCoeff:[F -Landroid/view/VelocityTracker$Estimator;->yCoeff:[F -Landroid/view/VelocityTracker;->obtain(Ljava/lang/String;)Landroid/view/VelocityTracker; -Landroid/view/View$AttachInfo;->mContentInsets:Landroid/graphics/Rect; -Landroid/view/View$AttachInfo;->mDrawingTime:J -Landroid/view/View$AttachInfo;->mStableInsets:Landroid/graphics/Rect; -Landroid/view/View$ListenerInfo;-><init>()V -Landroid/view/View$ListenerInfo;->mOnClickListener:Landroid/view/View$OnClickListener; -Landroid/view/View$ListenerInfo;->mOnDragListener:Landroid/view/View$OnDragListener; -Landroid/view/View$ListenerInfo;->mOnFocusChangeListener:Landroid/view/View$OnFocusChangeListener; -Landroid/view/View$ListenerInfo;->mOnLongClickListener:Landroid/view/View$OnLongClickListener; -Landroid/view/View$ListenerInfo;->mOnTouchListener:Landroid/view/View$OnTouchListener; -Landroid/view/View$ScrollabilityCache;->scrollBar:Landroid/widget/ScrollBarDrawable; -Landroid/view/View;->STATUS_BAR_DISABLE_BACK:I -Landroid/view/View;->STATUS_BAR_DISABLE_EXPAND:I -Landroid/view/View;->STATUS_BAR_DISABLE_HOME:I -Landroid/view/View;->STATUS_BAR_DISABLE_RECENT:I -Landroid/view/View;->applyDrawableToTransparentRegion(Landroid/graphics/drawable/Drawable;Landroid/graphics/Region;)V -Landroid/view/View;->clearAccessibilityFocus()V -Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z -Landroid/view/View;->computeOpaqueFlags()V -Landroid/view/View;->createSnapshot(Landroid/view/ViewDebug$CanvasProvider;Z)Landroid/graphics/Bitmap; -Landroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V -Landroid/view/View;->dispatchDetachedFromWindow()V -Landroid/view/View;->fitsSystemWindows()Z -Landroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate; -Landroid/view/View;->getAccessibilityViewId()I -Landroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;)V -Landroid/view/View;->getHorizontalScrollFactor()F -Landroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix; -Landroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo; -Landroid/view/View;->getLocationOnScreen()[I -Landroid/view/View;->getRawTextAlignment()I -Landroid/view/View;->getRawTextDirection()I -Landroid/view/View;->getTransitionAlpha()F -Landroid/view/View;->getVerticalScrollFactor()F -Landroid/view/View;->getViewRootImpl()Landroid/view/ViewRootImpl; -Landroid/view/View;->getWindowDisplayFrame(Landroid/graphics/Rect;)V -Landroid/view/View;->hideTooltip()V -Landroid/view/View;->includeForAccessibility()Z -Landroid/view/View;->initializeFadingEdge(Landroid/content/res/TypedArray;)V -Landroid/view/View;->initializeScrollbars(Landroid/content/res/TypedArray;)V -Landroid/view/View;->internalSetPadding(IIII)V -Landroid/view/View;->invalidateParentIfNeeded()V -Landroid/view/View;->isPaddingResolved()Z -Landroid/view/View;->isRootNamespace()Z -Landroid/view/View;->isVisibleToUser()Z -Landroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z -Landroid/view/View;->mAccessibilityDelegate:Landroid/view/View$AccessibilityDelegate; -Landroid/view/View;->mAttachInfo:Landroid/view/View$AttachInfo; -Landroid/view/View;->mBackground:Landroid/graphics/drawable/Drawable; -Landroid/view/View;->mBottom:I -Landroid/view/View;->mContext:Landroid/content/Context; -Landroid/view/View;->mDrawingCache:Landroid/graphics/Bitmap; -Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams; -Landroid/view/View;->mLeft:I -Landroid/view/View;->mListenerInfo:Landroid/view/View$ListenerInfo; -Landroid/view/View;->mMinHeight:I -Landroid/view/View;->mMinWidth:I -Landroid/view/View;->mPaddingBottom:I -Landroid/view/View;->mPaddingLeft:I -Landroid/view/View;->mPaddingRight:I -Landroid/view/View;->mPaddingTop:I -Landroid/view/View;->mParent:Landroid/view/ViewParent; -Landroid/view/View;->mPrivateFlags2:I -Landroid/view/View;->mPrivateFlags3:I -Landroid/view/View;->mPrivateFlags:I -Landroid/view/View;->mRecreateDisplayList:Z -Landroid/view/View;->mResources:Landroid/content/res/Resources; -Landroid/view/View;->mRight:I -Landroid/view/View;->mScrollCache:Landroid/view/View$ScrollabilityCache; -Landroid/view/View;->mScrollX:I -Landroid/view/View;->mScrollY:I -Landroid/view/View;->mStartActivityRequestWho:Ljava/lang/String; -Landroid/view/View;->mTag:Ljava/lang/Object; -Landroid/view/View;->mTop:I -Landroid/view/View;->mUnscaledDrawingCache:Landroid/graphics/Bitmap; -Landroid/view/View;->mViewFlags:I -Landroid/view/View;->notifySubtreeAccessibilityStateChangedIfNeeded()V -Landroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V -Landroid/view/View;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z -Landroid/view/View;->recomputePadding()V -Landroid/view/View;->requestAccessibilityFocus()Z -Landroid/view/View;->resetDisplayList()V -Landroid/view/View;->resetPaddingToInitialValues()V -Landroid/view/View;->resetResolvedDrawables()V -Landroid/view/View;->resetResolvedLayoutDirection()V -Landroid/view/View;->resetResolvedPadding()V -Landroid/view/View;->resetResolvedTextAlignment()V -Landroid/view/View;->resetResolvedTextDirection()V -Landroid/view/View;->resetRtlProperties()V -Landroid/view/View;->setAlphaNoInvalidation(F)Z -Landroid/view/View;->setAnimationMatrix(Landroid/graphics/Matrix;)V -Landroid/view/View;->setAssistBlocked(Z)V -Landroid/view/View;->setFrame(IIII)Z -Landroid/view/View;->setIsRootNamespace(Z)V -Landroid/view/View;->setLeftTopRightBottom(IIII)V -Landroid/view/View;->setTooltip(Ljava/lang/CharSequence;)V -Landroid/view/View;->setTransitionAlpha(F)V -Landroid/view/View;->startActivityForResult(Landroid/content/Intent;I)V -Landroid/view/View;->toGlobalMotionEvent(Landroid/view/MotionEvent;)Z -Landroid/view/View;->toLocalMotionEvent(Landroid/view/MotionEvent;)Z -Landroid/view/View;->transformMatrixToGlobal(Landroid/graphics/Matrix;)V -Landroid/view/View;->transformMatrixToLocal(Landroid/graphics/Matrix;)V -Landroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J -Landroid/view/ViewConfiguration;->getDoubleTapMinTime()I -Landroid/view/ViewConfiguration;->getScaledScrollFactor()I -Landroid/view/ViewConfiguration;->mFadingMarqueeEnabled:Z -Landroid/view/ViewConfiguration;->sHasPermanentMenuKey:Z -Landroid/view/ViewConfiguration;->sHasPermanentMenuKeySet:Z -Landroid/view/ViewDebug;->dispatchCommand(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/io/OutputStream;)V -Landroid/view/ViewDebug;->dump(Landroid/view/View;ZZLjava/io/OutputStream;)V -Landroid/view/ViewGroup$MarginLayoutParams;->endMargin:I -Landroid/view/ViewGroup$MarginLayoutParams;->startMargin:I -Landroid/view/ViewGroup;->FLAG_SUPPORT_STATIC_TRANSFORMATIONS:I -Landroid/view/ViewGroup;->FLAG_USE_CHILD_DRAWING_ORDER:I -Landroid/view/ViewGroup;->dispatchViewAdded(Landroid/view/View;)V -Landroid/view/ViewGroup;->dispatchViewRemoved(Landroid/view/View;)V -Landroid/view/ViewGroup;->mChildren:[Landroid/view/View; -Landroid/view/ViewGroup;->mChildrenCount:I -Landroid/view/ViewGroup;->mFirstTouchTarget:Landroid/view/ViewGroup$TouchTarget; -Landroid/view/ViewGroup;->mGroupFlags:I -Landroid/view/ViewGroup;->mOnHierarchyChangeListener:Landroid/view/ViewGroup$OnHierarchyChangeListener; -Landroid/view/ViewGroup;->mPersistentDrawingCache:I -Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V -Landroid/view/ViewGroup;->offsetChildrenTopAndBottom(I)V -Landroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V -Landroid/view/ViewGroup;->resetResolvedDrawables()V -Landroid/view/ViewGroup;->resetResolvedLayoutDirection()V -Landroid/view/ViewGroup;->resetResolvedPadding()V -Landroid/view/ViewGroup;->resetResolvedTextAlignment()V -Landroid/view/ViewGroup;->resetResolvedTextDirection()V -Landroid/view/ViewGroup;->suppressLayout(Z)V -Landroid/view/ViewRootImpl;->detachFunctor(J)V -Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;)V -Landroid/view/ViewRootImpl;->dispatchInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;)V -Landroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;)V -Landroid/view/ViewRootImpl;->getWindowFlags()I -Landroid/view/ViewRootImpl;->invokeFunctor(JZ)V -Landroid/view/ViewRootImpl;->mStopped:Z -Landroid/view/ViewRootImpl;->mSurface:Landroid/view/Surface; -Landroid/view/ViewRootImpl;->mView:Landroid/view/View; -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->TOUCHABLE_INSETS_REGION:I -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->setTouchableInsets(I)V -Landroid/view/ViewTreeObserver$InternalInsetsInfo;->touchableRegion:Landroid/graphics/Region; -Landroid/view/ViewTreeObserver;->addOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V -Landroid/view/ViewTreeObserver;->removeOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V -Landroid/view/Window;->mAppName:Ljava/lang/String; -Landroid/view/Window;->mAppToken:Landroid/os/IBinder; -Landroid/view/Window;->mCallback:Landroid/view/Window$Callback; -Landroid/view/Window;->mContext:Landroid/content/Context; -Landroid/view/Window;->mHardwareAccelerated:Z -Landroid/view/Window;->mWindowStyle:Landroid/content/res/TypedArray; -Landroid/view/Window;->setNeedsMenuKey(I)V -Landroid/view/WindowAnimationFrameStats;->init(J[J)V -Landroid/view/WindowContentFrameStats;->init(J[J[J[J)V -Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_FALSE:I -Landroid/view/WindowManager$LayoutParams;->NEEDS_MENU_SET_TRUE:I -Landroid/view/WindowManager$LayoutParams;->TYPE_KEYGUARD:I -Landroid/view/WindowManager$LayoutParams;->hideTimeoutMilliseconds:J -Landroid/view/WindowManager$LayoutParams;->needsMenuKey:I -Landroid/view/WindowManager$LayoutParams;->userActivityTimeout:J -Landroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal; -Landroid/view/WindowManagerGlobal;->getRootView(Ljava/lang/String;)Landroid/view/View; -Landroid/view/WindowManagerGlobal;->getViewRootNames()[Ljava/lang/String; -Landroid/view/WindowManagerGlobal;->getWindowManagerService()Landroid/view/IWindowManager; -Landroid/view/WindowManagerGlobal;->initialize()V -Landroid/view/WindowManagerGlobal;->mLock:Ljava/lang/Object; -Landroid/view/WindowManagerGlobal;->mParams:Ljava/util/ArrayList; -Landroid/view/WindowManagerGlobal;->mRoots:Ljava/util/ArrayList; -Landroid/view/WindowManagerGlobal;->mViews:Ljava/util/ArrayList; -Landroid/view/WindowManagerGlobal;->sDefaultWindowManager:Landroid/view/WindowManagerGlobal; -Landroid/view/WindowManagerGlobal;->sWindowManagerService:Landroid/view/IWindowManager; -Landroid/view/WindowManagerGlobal;->sWindowSession:Landroid/view/IWindowSession; -Landroid/view/WindowManagerGlobal;->trimMemory(I)V -Landroid/view/WindowManagerImpl;->mGlobal:Landroid/view/WindowManagerGlobal; -Landroid/view/accessibility/AccessibilityInteractionClient;->clearCache()V -Landroid/view/accessibility/AccessibilityInteractionClient;->getInstance()Landroid/view/accessibility/AccessibilityInteractionClient; -Landroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager; -Landroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z -Landroid/view/accessibility/AccessibilityManager;->mAccessibilityStateChangeListeners:Landroid/util/ArrayMap; -Landroid/view/accessibility/AccessibilityManager;->mIsEnabled:Z -Landroid/view/accessibility/AccessibilityManager;->mIsHighTextContrastEnabled:Z -Landroid/view/accessibility/AccessibilityManager;->sInstance:Landroid/view/accessibility/AccessibilityManager; -Landroid/view/accessibility/AccessibilityManager;->sInstanceSync:Ljava/lang/Object; -Landroid/view/accessibility/AccessibilityNodeInfo;->isSealed()Z -Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray; -Landroid/view/accessibility/AccessibilityNodeInfo;->mSealed:Z -Landroid/view/accessibility/AccessibilityNodeInfo;->refresh(Landroid/os/Bundle;Z)Z -Landroid/view/accessibility/AccessibilityNodeInfo;->setSealed(Z)V -Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J -Landroid/view/accessibility/IAccessibilityManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/view/accessibility/IAccessibilityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityManager; -Landroid/view/accessibility/IAccessibilityManager;->getEnabledAccessibilityServiceList(II)Ljava/util/List; -Landroid/view/animation/Animation;->detach()V -Landroid/view/animation/Animation;->initializeInvalidateRegion(IIII)V -Landroid/view/animation/Animation;->mListener:Landroid/view/animation/Animation$AnimationListener; -Landroid/view/autofill/IAutoFillManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/view/inputmethod/InputMethodInfo;->mSubtypes:Landroid/view/inputmethod/InputMethodSubtypeArray; -Landroid/view/inputmethod/InputMethodManager;->finishInputLocked()V -Landroid/view/inputmethod/InputMethodManager;->focusIn(Landroid/view/View;)V -Landroid/view/inputmethod/InputMethodManager;->focusOut(Landroid/view/View;)V -Landroid/view/inputmethod/InputMethodManager;->getClient()Lcom/android/internal/view/IInputMethodClient; -Landroid/view/inputmethod/InputMethodManager;->getInputMethodWindowVisibleHeight()I -Landroid/view/inputmethod/InputMethodManager;->getInstance()Landroid/view/inputmethod/InputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->mCurId:Ljava/lang/String; -Landroid/view/inputmethod/InputMethodManager;->mCurRootView:Landroid/view/View; -Landroid/view/inputmethod/InputMethodManager;->mH:Landroid/view/inputmethod/InputMethodManager$H; -Landroid/view/inputmethod/InputMethodManager;->mNextServedView:Landroid/view/View; -Landroid/view/inputmethod/InputMethodManager;->mServedInputConnectionWrapper:Landroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper; -Landroid/view/inputmethod/InputMethodManager;->mServedView:Landroid/view/View; -Landroid/view/inputmethod/InputMethodManager;->mService:Lcom/android/internal/view/IInputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->notifyUserAction()V -Landroid/view/inputmethod/InputMethodManager;->peekInstance()Landroid/view/inputmethod/InputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->sInstance:Landroid/view/inputmethod/InputMethodManager; -Landroid/view/inputmethod/InputMethodManager;->showSoftInputUnchecked(ILandroid/os/ResultReceiver;)V -Landroid/view/inputmethod/InputMethodManager;->windowDismissed(Landroid/os/IBinder;)V -Landroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Ljava/util/List;)V -Landroid/view/textclassifier/TextClassificationManager;->getTextClassifier(I)Landroid/view/textclassifier/TextClassifier; -Landroid/view/textclassifier/TextClassifier;->classifyText(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextClassification$Options;)Landroid/view/textclassifier/TextClassification; -Landroid/view/textclassifier/TextClassifier;->generateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks$Options;)Landroid/view/textclassifier/TextLinks; -Landroid/view/textclassifier/TextClassifier;->suggestSelection(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextSelection$Options;)Landroid/view/textclassifier/TextSelection; -Landroid/view/textclassifier/TextLinks$Options;-><init>()V -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(III)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(II)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionStarted(I)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent; -Landroid/view/textclassifier/logging/SmartSelectionEventTracker;-><init>(Landroid/content/Context;I)V -Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->logEvent(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)V -Landroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z -Landroid/webkit/CacheManager$CacheResult;-><init>()V -Landroid/webkit/CacheManager$CacheResult;->getContentDisposition()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getContentLength()J -Landroid/webkit/CacheManager$CacheResult;->getETag()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getEncoding()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getExpires()J -Landroid/webkit/CacheManager$CacheResult;->getExpiresString()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getHttpStatusCode()I -Landroid/webkit/CacheManager$CacheResult;->getInputStream()Ljava/io/InputStream; -Landroid/webkit/CacheManager$CacheResult;->getLastModified()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getLocalPath()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getLocation()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getMimeType()Ljava/lang/String; -Landroid/webkit/CacheManager$CacheResult;->getOutputStream()Ljava/io/OutputStream; -Landroid/webkit/CacheManager$CacheResult;->setEncoding(Ljava/lang/String;)V -Landroid/webkit/CacheManager$CacheResult;->setInputStream(Ljava/io/InputStream;)V -Landroid/webkit/CacheManager;->cacheDisabled()Z -Landroid/webkit/CacheManager;->endCacheTransaction()Z -Landroid/webkit/CacheManager;->getCacheFile(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult; -Landroid/webkit/CacheManager;->getCacheFileBaseDir()Ljava/io/File; -Landroid/webkit/CacheManager;->saveCacheFile(Ljava/lang/String;Landroid/webkit/CacheManager$CacheResult;)V -Landroid/webkit/CacheManager;->startCacheTransaction()Z -Landroid/webkit/IWebViewUpdateService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Landroid/webkit/WebResourceResponse;->mImmutable:Z -Landroid/webkit/WebSettings$TextSize;->value:I -Landroid/webkit/WebSettings;->getPluginsPath()Ljava/lang/String; -Landroid/webkit/WebSettings;->getUseDoubleTree()Z -Landroid/webkit/WebSettings;->setPluginsPath(Ljava/lang/String;)V -Landroid/webkit/WebSettings;->setUseDoubleTree(Z)V -Landroid/webkit/WebSyncManager;->mHandler:Landroid/os/Handler; -Landroid/webkit/WebView;->debugDump()V -Landroid/webkit/WebView;->disablePlatformNotifications()V -Landroid/webkit/WebView;->emulateShiftHeld()V -Landroid/webkit/WebView;->enablePlatformNotifications()V -Landroid/webkit/WebView;->getContentWidth()I -Landroid/webkit/WebView;->getPluginList()Landroid/webkit/PluginList; -Landroid/webkit/WebView;->getTouchIconUrl()Ljava/lang/String; -Landroid/webkit/WebView;->getVisibleTitleHeight()I -Landroid/webkit/WebView;->getZoomControls()Landroid/view/View; -Landroid/webkit/WebView;->isPaused()Z -Landroid/webkit/WebView;->mProvider:Landroid/webkit/WebViewProvider; -Landroid/webkit/WebView;->notifyFindDialogDismissed()V -Landroid/webkit/WebView;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V -Landroid/webkit/WebView;->refreshPlugins(Z)V -Landroid/webkit/WebView;->restorePicture(Landroid/os/Bundle;Ljava/io/File;)Z -Landroid/webkit/WebView;->sEnforceThreadChecking:Z -Landroid/webkit/WebView;->savePicture(Landroid/os/Bundle;Ljava/io/File;)Z -Landroid/webkit/WebViewClient;->onUnhandledInputEvent(Landroid/webkit/WebView;Landroid/view/InputEvent;)V -Landroid/webkit/WebViewDelegate;-><init>()V -Landroid/webkit/WebViewFactory;->getProvider()Landroid/webkit/WebViewFactoryProvider; -Landroid/webkit/WebViewFactory;->getUpdateService()Landroid/webkit/IWebViewUpdateService; -Landroid/webkit/WebViewFactory;->getWebViewContextAndSetProvider()Landroid/content/Context; -Landroid/webkit/WebViewFactory;->sPackageInfo:Landroid/content/pm/PackageInfo; -Landroid/webkit/WebViewFactory;->sProviderInstance:Landroid/webkit/WebViewFactoryProvider; -Landroid/widget/AbsListView$FlingRunnable;->endFling()V -Landroid/widget/AbsListView$FlingRunnable;->mScroller:Landroid/widget/OverScroller; -Landroid/widget/AbsListView$FlingRunnable;->start(I)V -Landroid/widget/AbsListView$RecycleBin;->clear()V -Landroid/widget/AbsListView$RecycleBin;->mRecyclerListener:Landroid/widget/AbsListView$RecyclerListener; -Landroid/widget/AbsListView$SavedState;->firstId:J -Landroid/widget/AbsListView$SavedState;->viewTop:I -Landroid/widget/AbsListView;->invokeOnItemScrollListener()V -Landroid/widget/AbsListView;->isVerticalScrollBarHidden()Z -Landroid/widget/AbsListView;->mAdapter:Landroid/widget/ListAdapter; -Landroid/widget/AbsListView;->mDataSetObserver:Landroid/widget/AbsListView$AdapterDataSetObserver; -Landroid/widget/AbsListView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect; -Landroid/widget/AbsListView;->mEdgeGlowTop:Landroid/widget/EdgeEffect; -Landroid/widget/AbsListView;->mFastScroll:Landroid/widget/FastScroller; -Landroid/widget/AbsListView;->mFlingRunnable:Landroid/widget/AbsListView$FlingRunnable; -Landroid/widget/AbsListView;->mIsChildViewEnabled:Z -Landroid/widget/AbsListView;->mLayoutMode:I -Landroid/widget/AbsListView;->mMaximumVelocity:I -Landroid/widget/AbsListView;->mMotionPosition:I -Landroid/widget/AbsListView;->mOnScrollListener:Landroid/widget/AbsListView$OnScrollListener; -Landroid/widget/AbsListView;->mPendingCheckForLongPress:Landroid/widget/AbsListView$CheckForLongPress; -Landroid/widget/AbsListView;->mPendingCheckForTap:Landroid/widget/AbsListView$CheckForTap; -Landroid/widget/AbsListView;->mRecycler:Landroid/widget/AbsListView$RecycleBin; -Landroid/widget/AbsListView;->mSelectionTopPadding:I -Landroid/widget/AbsListView;->mSelectorPosition:I -Landroid/widget/AbsListView;->mSelectorRect:Landroid/graphics/Rect; -Landroid/widget/AbsListView;->mTouchMode:I -Landroid/widget/AbsListView;->mTouchSlop:I -Landroid/widget/AbsListView;->mVelocityTracker:Landroid/view/VelocityTracker; -Landroid/widget/AbsListView;->performLongPress(Landroid/view/View;IJ)Z -Landroid/widget/AbsListView;->performLongPress(Landroid/view/View;IJFF)Z -Landroid/widget/AbsListView;->reportScrollStateChange(I)V -Landroid/widget/AbsListView;->smoothScrollBy(IIZZ)V -Landroid/widget/AbsListView;->trackMotionScroll(II)Z -Landroid/widget/AbsSeekBar;->mIsDragging:Z -Landroid/widget/AbsSeekBar;->mSplitTrack:Z -Landroid/widget/AbsSeekBar;->mThumb:Landroid/graphics/drawable/Drawable; -Landroid/widget/AbsSeekBar;->mTouchProgressOffset:F -Landroid/widget/ActivityChooserModel;->get(Landroid/content/Context;Ljava/lang/String;)Landroid/widget/ActivityChooserModel; -Landroid/widget/ActivityChooserView;->setExpandActivityOverflowButtonDrawable(Landroid/graphics/drawable/Drawable;)V -Landroid/widget/AdapterView;->mDataChanged:Z -Landroid/widget/AdapterView;->mFirstPosition:I -Landroid/widget/AdapterView;->mNextSelectedPosition:I -Landroid/widget/AdapterView;->mNextSelectedRowId:J -Landroid/widget/AdapterView;->mOldSelectedPosition:I -Landroid/widget/AdapterView;->setNextSelectedPositionInt(I)V -Landroid/widget/AdapterView;->setSelectedPositionInt(I)V -Landroid/widget/AutoCompleteTextView;->doAfterTextChanged()V -Landroid/widget/AutoCompleteTextView;->doBeforeTextChanged()V -Landroid/widget/AutoCompleteTextView;->ensureImeVisible(Z)V -Landroid/widget/AutoCompleteTextView;->mPopup:Landroid/widget/ListPopupWindow; -Landroid/widget/AutoCompleteTextView;->setDropDownAlwaysVisible(Z)V -Landroid/widget/AutoCompleteTextView;->setForceIgnoreOutsideTouch(Z)V -Landroid/widget/BaseAdapter;->mDataSetObservable:Landroid/database/DataSetObservable; -Landroid/widget/CompoundButton;->mBroadcasting:Z -Landroid/widget/CompoundButton;->mButtonDrawable:Landroid/graphics/drawable/Drawable; -Landroid/widget/CompoundButton;->mOnCheckedChangeListener:Landroid/widget/CompoundButton$OnCheckedChangeListener; -Landroid/widget/CursorAdapter;->mChangeObserver:Landroid/widget/CursorAdapter$ChangeObserver; -Landroid/widget/CursorAdapter;->mDataSetObserver:Landroid/database/DataSetObserver; -Landroid/widget/CursorAdapter;->mDataValid:Z -Landroid/widget/CursorAdapter;->mRowIDColumn:I -Landroid/widget/DatePicker;->mDelegate:Landroid/widget/DatePicker$DatePickerDelegate; -Landroid/widget/EdgeEffect;->mPaint:Landroid/graphics/Paint; -Landroid/widget/Editor;->invalidateTextDisplayList()V -Landroid/widget/Editor;->mSelectHandleLeft:Landroid/graphics/drawable/Drawable; -Landroid/widget/Editor;->mShowCursor:J -Landroid/widget/Editor;->mShowSoftInputOnFocus:Z -Landroid/widget/ExpandableListView;->mChildDivider:Landroid/graphics/drawable/Drawable; -Landroid/widget/ExpandableListView;->mGroupIndicator:Landroid/graphics/drawable/Drawable; -Landroid/widget/FastScroller;->mContainerRect:Landroid/graphics/Rect; -Landroid/widget/FastScroller;->mHeaderCount:I -Landroid/widget/FastScroller;->mLongList:Z -Landroid/widget/FastScroller;->mMinimumTouchTarget:I -Landroid/widget/FastScroller;->mThumbDrawable:Landroid/graphics/drawable/Drawable; -Landroid/widget/FastScroller;->mThumbImage:Landroid/widget/ImageView; -Landroid/widget/FastScroller;->mTrackDrawable:Landroid/graphics/drawable/Drawable; -Landroid/widget/FastScroller;->mTrackImage:Landroid/widget/ImageView; -Landroid/widget/Gallery$FlingRunnable;->startUsingVelocity(I)V -Landroid/widget/Gallery;->fillToGalleryLeft()V -Landroid/widget/Gallery;->fillToGalleryRight()V -Landroid/widget/Gallery;->mDownTouchPosition:I -Landroid/widget/Gallery;->mDownTouchView:Landroid/view/View; -Landroid/widget/Gallery;->mFlingRunnable:Landroid/widget/Gallery$FlingRunnable; -Landroid/widget/Gallery;->mSpacing:I -Landroid/widget/Gallery;->makeAndAddView(IIIZ)Landroid/view/View; -Landroid/widget/Gallery;->moveDirection(I)Z -Landroid/widget/GridView;->fillDown(II)Landroid/view/View; -Landroid/widget/GridView;->fillUp(II)Landroid/view/View; -Landroid/widget/GridView;->mColumnWidth:I -Landroid/widget/GridView;->mHorizontalSpacing:I -Landroid/widget/GridView;->mNumColumns:I -Landroid/widget/GridView;->mRequestedNumColumns:I -Landroid/widget/GridView;->mVerticalSpacing:I -Landroid/widget/HorizontalScrollView;->mChildToScrollTo:Landroid/view/View; -Landroid/widget/HorizontalScrollView;->mEdgeGlowLeft:Landroid/widget/EdgeEffect; -Landroid/widget/HorizontalScrollView;->mEdgeGlowRight:Landroid/widget/EdgeEffect; -Landroid/widget/HorizontalScrollView;->mScroller:Landroid/widget/OverScroller; -Landroid/widget/ImageView;->animateTransform(Landroid/graphics/Matrix;)V -Landroid/widget/ImageView;->mAdjustViewBounds:Z -Landroid/widget/ImageView;->mAlpha:I -Landroid/widget/ImageView;->mDrawMatrix:Landroid/graphics/Matrix; -Landroid/widget/ImageView;->mMaxHeight:I -Landroid/widget/ImageView;->mMaxWidth:I -Landroid/widget/ImageView;->mRecycleableBitmapDrawable:Landroid/graphics/drawable/BitmapDrawable; -Landroid/widget/ImageView;->mResource:I -Landroid/widget/ImageView;->mUri:Landroid/net/Uri; -Landroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V -Landroid/widget/LinearLayout;->mGravity:I -Landroid/widget/LinearLayout;->mUseLargestChild:Z -Landroid/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow; -Landroid/widget/ListPopupWindow;->setForceIgnoreOutsideTouch(Z)V -Landroid/widget/ListView;->fillDown(II)Landroid/view/View; -Landroid/widget/ListView;->fillSpecific(II)Landroid/view/View; -Landroid/widget/ListView;->fillUp(II)Landroid/view/View; -Landroid/widget/ListView;->findViewTraversal(I)Landroid/view/View; -Landroid/widget/ListView;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View; -Landroid/widget/ListView;->lookForSelectablePosition(IZ)I -Landroid/widget/ListView;->mAreAllItemsSelectable:Z -Landroid/widget/ListView;->mFooterViewInfos:Ljava/util/ArrayList; -Landroid/widget/ListView;->mHeaderViewInfos:Ljava/util/ArrayList; -Landroid/widget/ListView;->setSelectionInt(I)V -Landroid/widget/MediaController;->mAnchor:Landroid/view/View; -Landroid/widget/MediaController;->mDecor:Landroid/view/View; -Landroid/widget/MediaController;->mDecorLayoutParams:Landroid/view/WindowManager$LayoutParams; -Landroid/widget/MediaController;->mWindowManager:Landroid/view/WindowManager; -Landroid/widget/NumberPicker;->mInputText:Landroid/widget/EditText; -Landroid/widget/NumberPicker;->mSelectionDivider:Landroid/graphics/drawable/Drawable; -Landroid/widget/NumberPicker;->mSelectorWheelPaint:Landroid/graphics/Paint; -Landroid/widget/OverScroller$SplineOverScroller;->mCurrVelocity:F -Landroid/widget/OverScroller;->isScrollingInDirection(FF)Z -Landroid/widget/OverScroller;->mScrollerY:Landroid/widget/OverScroller$SplineOverScroller; -Landroid/widget/PopupMenu;->mPopup:Lcom/android/internal/view/menu/MenuPopupHelper; -Landroid/widget/PopupWindow;->computeAnimationResource()I -Landroid/widget/PopupWindow;->createPopupLayoutParams(Landroid/os/IBinder;)Landroid/view/WindowManager$LayoutParams; -Landroid/widget/PopupWindow;->invokePopup(Landroid/view/WindowManager$LayoutParams;)V -Landroid/widget/PopupWindow;->mAboveAnchor:Z -Landroid/widget/PopupWindow;->mAnchor:Ljava/lang/ref/WeakReference; -Landroid/widget/PopupWindow;->mAnimationStyle:I -Landroid/widget/PopupWindow;->mBackgroundView:Landroid/view/View; -Landroid/widget/PopupWindow;->mContentView:Landroid/view/View; -Landroid/widget/PopupWindow;->mHeightMode:I -Landroid/widget/PopupWindow;->mIsDropdown:Z -Landroid/widget/PopupWindow;->mIsShowing:Z -Landroid/widget/PopupWindow;->mLastHeight:I -Landroid/widget/PopupWindow;->mLastWidth:I -Landroid/widget/PopupWindow;->mOnScrollChangedListener:Landroid/view/ViewTreeObserver$OnScrollChangedListener; -Landroid/widget/PopupWindow;->mOverlapAnchor:Z -Landroid/widget/PopupWindow;->mTouchInterceptor:Landroid/view/View$OnTouchListener; -Landroid/widget/PopupWindow;->mWidthMode:I -Landroid/widget/PopupWindow;->mWindowLayoutType:I -Landroid/widget/PopupWindow;->preparePopup(Landroid/view/WindowManager$LayoutParams;)V -Landroid/widget/PopupWindow;->setClipToScreenEnabled(Z)V -Landroid/widget/PopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V -Landroid/widget/PopupWindow;->setLayoutInScreenEnabled(Z)V -Landroid/widget/PopupWindow;->setLayoutInsetDecor(Z)V -Landroid/widget/PopupWindow;->setTouchModal(Z)V -Landroid/widget/PopupWindow;->showAtLocation(Landroid/os/IBinder;III)V -Landroid/widget/ProgressBar;->mCurrentDrawable:Landroid/graphics/drawable/Drawable; -Landroid/widget/ProgressBar;->mDuration:I -Landroid/widget/ProgressBar;->mIndeterminate:Z -Landroid/widget/ProgressBar;->mMaxHeight:I -Landroid/widget/ProgressBar;->mMinHeight:I -Landroid/widget/ProgressBar;->mOnlyIndeterminate:Z -Landroid/widget/ProgressBar;->setProgressInternal(IZZ)Z -Landroid/widget/RelativeLayout$LayoutParams;->mBottom:I -Landroid/widget/RelativeLayout$LayoutParams;->mLeft:I -Landroid/widget/RelativeLayout$LayoutParams;->mRight:I -Landroid/widget/RelativeLayout$LayoutParams;->mTop:I -Landroid/widget/RelativeLayout;->mGravity:I -Landroid/widget/RemoteViews$Action;->mergeBehavior()I -Landroid/widget/RemoteViews$Action;->viewId:I -Landroid/widget/RemoteViews$BitmapCache;->mBitmaps:Ljava/util/ArrayList; -Landroid/widget/RemoteViews$BitmapReflectionAction;->bitmap:Landroid/graphics/Bitmap; -Landroid/widget/RemoteViews$BitmapReflectionAction;->methodName:Ljava/lang/String; -Landroid/widget/RemoteViews$ReflectionAction;->methodName:Ljava/lang/String; -Landroid/widget/RemoteViews$ReflectionAction;->value:Ljava/lang/Object; -Landroid/widget/RemoteViews$SetOnClickPendingIntent;->pendingIntent:Landroid/app/PendingIntent; -Landroid/widget/RemoteViews$SetPendingIntentTemplate;->pendingIntentTemplate:Landroid/app/PendingIntent; -Landroid/widget/RemoteViews$ViewGroupActionAdd;->mNestedViews:Landroid/widget/RemoteViews; -Landroid/widget/RemoteViews;->estimateMemoryUsage()I -Landroid/widget/RemoteViews;->mActions:Ljava/util/ArrayList; -Landroid/widget/RemoteViews;->mApplication:Landroid/content/pm/ApplicationInfo; -Landroid/widget/RemoteViews;->mBitmapCache:Landroid/widget/RemoteViews$BitmapCache; -Landroid/widget/RemoteViews;->mLayoutId:I -Landroid/widget/RemoteViews;->mPortrait:Landroid/widget/RemoteViews; -Landroid/widget/RemoteViews;->mergeRemoteViews(Landroid/widget/RemoteViews;)V -Landroid/widget/RemoteViewsAdapter;->mCache:Landroid/widget/RemoteViewsAdapter$FixedSizeRemoteViewsCache; -Landroid/widget/RemoteViewsAdapter;->mWorkerThread:Landroid/os/HandlerThread; -Landroid/widget/ScrollBarDrawable;->mVerticalThumb:Landroid/graphics/drawable/Drawable; -Landroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V -Landroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V -Landroid/widget/ScrollView;->mChildToScrollTo:Landroid/view/View; -Landroid/widget/ScrollView;->mEdgeGlowBottom:Landroid/widget/EdgeEffect; -Landroid/widget/ScrollView;->mEdgeGlowTop:Landroid/widget/EdgeEffect; -Landroid/widget/ScrollView;->mIsBeingDragged:Z -Landroid/widget/ScrollView;->mMinimumVelocity:I -Landroid/widget/ScrollView;->mOverflingDistance:I -Landroid/widget/ScrollView;->mOverscrollDistance:I -Landroid/widget/ScrollView;->mScroller:Landroid/widget/OverScroller; -Landroid/widget/Scroller;->mInterpolator:Landroid/view/animation/Interpolator; -Landroid/widget/SearchView;->mCloseButton:Landroid/widget/ImageView; -Landroid/widget/SearchView;->mSearchButton:Landroid/widget/ImageView; -Landroid/widget/SearchView;->mSearchPlate:Landroid/view/View; -Landroid/widget/SearchView;->mSearchSrcTextView:Landroid/widget/SearchView$SearchAutoComplete; -Landroid/widget/SearchView;->onCloseClicked()V -Landroid/widget/SearchView;->setQuery(Ljava/lang/CharSequence;)V -Landroid/widget/SlidingDrawer;->mTopOffset:I -Landroid/widget/Spinner;->mPopup:Landroid/widget/Spinner$SpinnerPopup; -Landroid/widget/Switch;->mThumbDrawable:Landroid/graphics/drawable/Drawable; -Landroid/widget/Switch;->mTrackDrawable:Landroid/graphics/drawable/Drawable; -Landroid/widget/TabHost$IntentContentStrategy;->getContentView()Landroid/view/View; -Landroid/widget/TabHost$IntentContentStrategy;->tabClosed()V -Landroid/widget/TabHost$TabSpec;->mContentStrategy:Landroid/widget/TabHost$ContentStrategy; -Landroid/widget/TabHost$TabSpec;->mIndicatorStrategy:Landroid/widget/TabHost$IndicatorStrategy; -Landroid/widget/TabHost;->mTabSpecs:Ljava/util/List; -Landroid/widget/TabWidget;->mDrawBottomStrips:Z -Landroid/widget/TabWidget;->mSelectedTab:I -Landroid/widget/TabWidget;->setTabSelectionListener(Landroid/widget/TabWidget$OnTabSelectionChanged;)V -Landroid/widget/TextView;->LINES:I -Landroid/widget/TextView;->assumeLayout()V -Landroid/widget/TextView;->createEditorIfNeeded()V -Landroid/widget/TextView;->getHorizontallyScrolling()Z -Landroid/widget/TextView;->getTextColor(Landroid/content/Context;Landroid/content/res/TypedArray;I)I -Landroid/widget/TextView;->getTextColors(Landroid/content/Context;Landroid/content/res/TypedArray;)Landroid/content/res/ColorStateList; -Landroid/widget/TextView;->isSingleLine()Z -Landroid/widget/TextView;->mCurTextColor:I -Landroid/widget/TextView;->mCursorDrawableRes:I -Landroid/widget/TextView;->mEditor:Landroid/widget/Editor; -Landroid/widget/TextView;->mListeners:Ljava/util/ArrayList; -Landroid/widget/TextView;->mMarquee:Landroid/widget/TextView$Marquee; -Landroid/widget/TextView;->mMaxMode:I -Landroid/widget/TextView;->mMaximum:I -Landroid/widget/TextView;->mSingleLine:Z -Landroid/widget/TextView;->mText:Ljava/lang/CharSequence; -Landroid/widget/TextView;->mTextPaint:Landroid/text/TextPaint; -Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V -Landroid/widget/Toast$TN;->mNextView:Landroid/view/View; -Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams; -Landroid/widget/Toast$TN;->mView:Landroid/view/View; -Landroid/widget/Toast;->getService()Landroid/app/INotificationManager; -Landroid/widget/Toast;->getWindowParams()Landroid/view/WindowManager$LayoutParams; -Landroid/widget/Toast;->mDuration:I -Landroid/widget/Toast;->mTN:Landroid/widget/Toast$TN; -Landroid/widget/Toast;->sService:Landroid/app/INotificationManager; -Landroid/widget/VideoView2$OnViewTypeChangedListener;->onViewTypeChanged(Landroid/view/View;I)V -Landroid/widget/VideoView2;->getMediaController()Landroid/media/session/MediaController; -Landroid/widget/VideoView2;->setOnViewTypeChangedListener(Landroid/widget/VideoView2$OnViewTypeChangedListener;)V -Landroid/widget/VideoView2;->setVideoPath(Ljava/lang/String;)V -Landroid/widget/VideoView;->mCurrentBufferPercentage:I -Landroid/widget/VideoView;->mMediaController:Landroid/widget/MediaController; -Landroid/widget/VideoView;->mSHCallback:Landroid/view/SurfaceHolder$Callback; -Landroid/widget/VideoView;->mUri:Landroid/net/Uri; -Landroid/widget/VideoView;->mVideoHeight:I -Landroid/widget/VideoView;->mVideoWidth:I -Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->serialVersionUID:J -Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->serialVersionUID:J -Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadataCollection;->serialVersionUID:J -Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;->serialVersionUID:J -Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->serialVersionUID:J -Lcom/android/ims/ImsConfigListener;->onSetFeatureResponse(IIII)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceStateUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsConferenceState;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionHandover(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionHandoverFailed(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionHeld(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionHoldFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionHoldReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionInviteParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionInviteParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionMergeComplete(Lcom/android/ims/internal/IImsCallSession;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionMergeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionMergeStarted(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionMultipartyStateChanged(Lcom/android/ims/internal/IImsCallSession;Z)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionProgressing(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsStreamMediaProfile;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionResumeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionResumeReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionResumed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionStartFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionSuppServiceReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsSuppServiceNotification;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionTerminated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionTtyModeReceived(Lcom/android/ims/internal/IImsCallSession;I)V -Lcom/android/ims/internal/IImsCallSessionListener;->callSessionUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V -Lcom/android/ims/internal/IImsRegistrationListener;->registrationAssociatedUriChanged([Landroid/net/Uri;)V -Lcom/android/ims/internal/IImsRegistrationListener;->registrationChangeFailed(ILandroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsRegistrationListener;->registrationConnectedWithRadioTech(I)V -Lcom/android/ims/internal/IImsRegistrationListener;->registrationDisconnected(Landroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsRegistrationListener;->registrationFeatureCapabilityChanged(I[I[I)V -Lcom/android/ims/internal/IImsRegistrationListener;->registrationProgressingWithRadioTech(I)V -Lcom/android/ims/internal/IImsRegistrationListener;->voiceMessageCountUpdate(I)V -Lcom/android/ims/internal/IImsUtListener;->utConfigurationCallBarringQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V -Lcom/android/ims/internal/IImsUtListener;->utConfigurationCallForwardQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsCallForwardInfo;)V -Lcom/android/ims/internal/IImsUtListener;->utConfigurationCallWaitingQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V -Lcom/android/ims/internal/IImsUtListener;->utConfigurationQueried(Lcom/android/ims/internal/IImsUt;ILandroid/os/Bundle;)V -Lcom/android/ims/internal/IImsUtListener;->utConfigurationQueryFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsUtListener;->utConfigurationUpdateFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V -Lcom/android/ims/internal/IImsUtListener;->utConfigurationUpdated(Lcom/android/ims/internal/IImsUt;I)V -Lcom/android/ims/internal/uce/common/CapInfo;-><init>()V -Lcom/android/ims/internal/uce/common/CapInfo;->getCapTimestamp()J -Lcom/android/ims/internal/uce/common/CapInfo;->isCdViaPresenceSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isFtHttpSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isFtSnFSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isFtSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isFtThumbSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isFullSnFGroupChatSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isGeoPullFtSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isGeoPullSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isGeoPushSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isImSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isIpVideoSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isIpVoiceSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isIsSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isRcsIpVideoCallSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isRcsIpVideoOnlyCallSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isRcsIpVoiceCallSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isSmSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isSpSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isVsDuringCSSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->isVsSupported()Z -Lcom/android/ims/internal/uce/common/CapInfo;->setCapTimestamp(J)V -Lcom/android/ims/internal/uce/common/CapInfo;->setCdViaPresenceSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setExts([Ljava/lang/String;)V -Lcom/android/ims/internal/uce/common/CapInfo;->setFtHttpSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setFtSnFSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setFtSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setFtThumbSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setFullSnFGroupChatSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setGeoPullFtSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setGeoPullSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setGeoPushSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setImSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setIpVideoSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setIpVoiceSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setIsSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setRcsIpVideoCallSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setRcsIpVideoOnlyCallSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setRcsIpVoiceCallSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setSmSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setSpSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setVsDuringCSSupported(Z)V -Lcom/android/ims/internal/uce/common/CapInfo;->setVsSupported(Z)V -Lcom/android/ims/internal/uce/common/StatusCode;-><init>()V -Lcom/android/ims/internal/uce/common/StatusCode;->getStatusCode()I -Lcom/android/ims/internal/uce/common/StatusCode;->setStatusCode(I)V -Lcom/android/ims/internal/uce/common/UceLong;-><init>()V -Lcom/android/ims/internal/uce/common/UceLong;->getClientId()I -Lcom/android/ims/internal/uce/common/UceLong;->getUceLong()J -Lcom/android/ims/internal/uce/common/UceLong;->setClientId(I)V -Lcom/android/ims/internal/uce/common/UceLong;->setUceLong(J)V -Lcom/android/ims/internal/uce/options/IOptionsListener;->cmdStatus(Lcom/android/ims/internal/uce/options/OptionsCmdStatus;)V -Lcom/android/ims/internal/uce/options/IOptionsListener;->getVersionCb(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/options/IOptionsListener;->incomingOptions(Ljava/lang/String;Lcom/android/ims/internal/uce/options/OptionsCapInfo;I)V -Lcom/android/ims/internal/uce/options/IOptionsListener;->serviceAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V -Lcom/android/ims/internal/uce/options/IOptionsListener;->serviceUnavailable(Lcom/android/ims/internal/uce/common/StatusCode;)V -Lcom/android/ims/internal/uce/options/IOptionsListener;->sipResponseReceived(Ljava/lang/String;Lcom/android/ims/internal/uce/options/OptionsSipResponse;Lcom/android/ims/internal/uce/options/OptionsCapInfo;)V -Lcom/android/ims/internal/uce/options/IOptionsService$Stub;-><init>()V -Lcom/android/ims/internal/uce/options/IOptionsService;->addListener(ILcom/android/ims/internal/uce/options/IOptionsListener;Lcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/IOptionsService;->getContactCap(ILjava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/IOptionsService;->getContactListCap(I[Ljava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/IOptionsService;->getMyInfo(II)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/IOptionsService;->getVersion(I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/IOptionsService;->removeListener(ILcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/IOptionsService;->responseIncomingOptions(IIILjava/lang/String;Lcom/android/ims/internal/uce/options/OptionsCapInfo;Z)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/IOptionsService;->setMyInfo(ILcom/android/ims/internal/uce/common/CapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/options/OptionsCapInfo;-><init>()V -Lcom/android/ims/internal/uce/options/OptionsCapInfo;->getCapInfo()Lcom/android/ims/internal/uce/common/CapInfo; -Lcom/android/ims/internal/uce/options/OptionsCapInfo;->getSdp()Ljava/lang/String; -Lcom/android/ims/internal/uce/options/OptionsCapInfo;->setCapInfo(Lcom/android/ims/internal/uce/common/CapInfo;)V -Lcom/android/ims/internal/uce/options/OptionsCapInfo;->setSdp(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/options/OptionsCmdId;-><init>()V -Lcom/android/ims/internal/uce/options/OptionsCmdId;->setCmdId(I)V -Lcom/android/ims/internal/uce/options/OptionsCmdStatus;-><init>()V -Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->setCapInfo(Lcom/android/ims/internal/uce/common/CapInfo;)V -Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->setCmdId(Lcom/android/ims/internal/uce/options/OptionsCmdId;)V -Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->setStatus(Lcom/android/ims/internal/uce/common/StatusCode;)V -Lcom/android/ims/internal/uce/options/OptionsCmdStatus;->setUserData(I)V -Lcom/android/ims/internal/uce/options/OptionsSipResponse;-><init>()V -Lcom/android/ims/internal/uce/options/OptionsSipResponse;->setCmdId(Lcom/android/ims/internal/uce/options/OptionsCmdId;)V -Lcom/android/ims/internal/uce/options/OptionsSipResponse;->setReasonPhrase(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/options/OptionsSipResponse;->setRequestId(I)V -Lcom/android/ims/internal/uce/options/OptionsSipResponse;->setRetryAfter(I)V -Lcom/android/ims/internal/uce/options/OptionsSipResponse;->setSipResponseCode(I)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->capInfoReceived(Ljava/lang/String;[Lcom/android/ims/internal/uce/presence/PresTupleInfo;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->cmdStatus(Lcom/android/ims/internal/uce/presence/PresCmdStatus;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->getVersionCb(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->listCapInfoReceived(Lcom/android/ims/internal/uce/presence/PresRlmiInfo;[Lcom/android/ims/internal/uce/presence/PresResInfo;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->publishTriggering(Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->serviceAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->serviceUnAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->sipResponseReceived(Lcom/android/ims/internal/uce/presence/PresSipResponse;)V -Lcom/android/ims/internal/uce/presence/IPresenceListener;->unpublishMessageSent()V -Lcom/android/ims/internal/uce/presence/IPresenceService$Stub;-><init>()V -Lcom/android/ims/internal/uce/presence/IPresenceService;->addListener(ILcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/IPresenceService;->getContactCap(ILjava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/IPresenceService;->getContactListCap(I[Ljava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/IPresenceService;->getVersion(I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/IPresenceService;->publishMyCap(ILcom/android/ims/internal/uce/presence/PresCapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/IPresenceService;->reenableService(II)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/IPresenceService;->removeListener(ILcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/IPresenceService;->setNewFeatureTag(ILjava/lang/String;Lcom/android/ims/internal/uce/presence/PresServiceInfo;I)Lcom/android/ims/internal/uce/common/StatusCode; -Lcom/android/ims/internal/uce/presence/PresCapInfo;->getCapInfo()Lcom/android/ims/internal/uce/common/CapInfo; -Lcom/android/ims/internal/uce/presence/PresCapInfo;->getContactUri()Ljava/lang/String; -Lcom/android/ims/internal/uce/presence/PresCapInfo;->mContactUri:Ljava/lang/String; -Lcom/android/ims/internal/uce/presence/PresCmdId;-><init>()V -Lcom/android/ims/internal/uce/presence/PresCmdId;->setCmdId(I)V -Lcom/android/ims/internal/uce/presence/PresCmdStatus;-><init>()V -Lcom/android/ims/internal/uce/presence/PresCmdStatus;->setCmdId(Lcom/android/ims/internal/uce/presence/PresCmdId;)V -Lcom/android/ims/internal/uce/presence/PresCmdStatus;->setRequestId(I)V -Lcom/android/ims/internal/uce/presence/PresCmdStatus;->setStatus(Lcom/android/ims/internal/uce/common/StatusCode;)V -Lcom/android/ims/internal/uce/presence/PresCmdStatus;->setUserData(I)V -Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;-><init>()V -Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;->setPublishTrigeerType(I)V -Lcom/android/ims/internal/uce/presence/PresResInfo;-><init>()V -Lcom/android/ims/internal/uce/presence/PresResInfo;->setDisplayName(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresResInfo;->setInstanceInfo(Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;)V -Lcom/android/ims/internal/uce/presence/PresResInfo;->setResUri(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;-><init>()V -Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->setPresentityUri(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->setReason(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->setResId(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->setResInstanceState(I)V -Lcom/android/ims/internal/uce/presence/PresResInstanceInfo;->setTupleInfo([Lcom/android/ims/internal/uce/presence/PresTupleInfo;)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;-><init>()V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setFullState(Z)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setListName(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setPresSubscriptionState(Lcom/android/ims/internal/uce/presence/PresSubscriptionState;)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setRequestId(I)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setSubscriptionExpireTime(I)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setSubscriptionTerminatedReason(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setUri(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresRlmiInfo;->setVersion(I)V -Lcom/android/ims/internal/uce/presence/PresServiceInfo;->getMediaType()I -Lcom/android/ims/internal/uce/presence/PresServiceInfo;->getServiceDesc()Ljava/lang/String; -Lcom/android/ims/internal/uce/presence/PresServiceInfo;->getServiceId()Ljava/lang/String; -Lcom/android/ims/internal/uce/presence/PresServiceInfo;->getServiceVer()Ljava/lang/String; -Lcom/android/ims/internal/uce/presence/PresSipResponse;-><init>()V -Lcom/android/ims/internal/uce/presence/PresSipResponse;->getCmdId()Lcom/android/ims/internal/uce/presence/PresCmdId; -Lcom/android/ims/internal/uce/presence/PresSipResponse;->getReasonPhrase()Ljava/lang/String; -Lcom/android/ims/internal/uce/presence/PresSipResponse;->getRequestId()I -Lcom/android/ims/internal/uce/presence/PresSipResponse;->getRetryAfter()I -Lcom/android/ims/internal/uce/presence/PresSipResponse;->getSipResponseCode()I -Lcom/android/ims/internal/uce/presence/PresSipResponse;->setCmdId(Lcom/android/ims/internal/uce/presence/PresCmdId;)V -Lcom/android/ims/internal/uce/presence/PresSipResponse;->setReasonPhrase(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresSipResponse;->setRequestId(I)V -Lcom/android/ims/internal/uce/presence/PresSipResponse;->setRetryAfter(I)V -Lcom/android/ims/internal/uce/presence/PresSipResponse;->setSipResponseCode(I)V -Lcom/android/ims/internal/uce/presence/PresSubscriptionState;-><init>()V -Lcom/android/ims/internal/uce/presence/PresSubscriptionState;->setPresSubscriptionState(I)V -Lcom/android/ims/internal/uce/presence/PresTupleInfo;-><init>()V -Lcom/android/ims/internal/uce/presence/PresTupleInfo;->setContactUri(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresTupleInfo;->setFeatureTag(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/presence/PresTupleInfo;->setTimestamp(Ljava/lang/String;)V -Lcom/android/ims/internal/uce/uceservice/IUceListener$Stub;-><init>()V -Lcom/android/ims/internal/uce/uceservice/IUceListener;->setStatus(I)V -Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;-><init>()V -Lcom/android/ims/internal/uce/uceservice/IUceService;->createOptionsService(Lcom/android/ims/internal/uce/options/IOptionsListener;Lcom/android/ims/internal/uce/common/UceLong;)I -Lcom/android/ims/internal/uce/uceservice/IUceService;->createPresenceService(Lcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)I -Lcom/android/ims/internal/uce/uceservice/IUceService;->destroyOptionsService(I)V -Lcom/android/ims/internal/uce/uceservice/IUceService;->destroyPresenceService(I)V -Lcom/android/ims/internal/uce/uceservice/IUceService;->getOptionsService()Lcom/android/ims/internal/uce/options/IOptionsService; -Lcom/android/ims/internal/uce/uceservice/IUceService;->getPresenceService()Lcom/android/ims/internal/uce/presence/IPresenceService; -Lcom/android/ims/internal/uce/uceservice/IUceService;->getServiceStatus()Z -Lcom/android/ims/internal/uce/uceservice/IUceService;->isServiceStarted()Z -Lcom/android/ims/internal/uce/uceservice/IUceService;->startService(Lcom/android/ims/internal/uce/uceservice/IUceListener;)Z -Lcom/android/ims/internal/uce/uceservice/IUceService;->stopService()Z -Lcom/android/internal/R$array;->config_mobile_hotspot_provision_app:I -Lcom/android/internal/R$array;->config_tether_wifi_regexs:I -Lcom/android/internal/R$array;->maps_starting_lat_lng:I -Lcom/android/internal/R$array;->maps_starting_zoom:I -Lcom/android/internal/R$attr;->actionBarStyle:I -Lcom/android/internal/R$attr;->mapViewStyle:I -Lcom/android/internal/R$attr;->state_focused:I -Lcom/android/internal/R$attr;->state_pressed:I -Lcom/android/internal/R$attr;->state_selected:I -Lcom/android/internal/R$attr;->switchStyle:I -Lcom/android/internal/R$bool;->config_mms_content_disposition_support:I -Lcom/android/internal/R$bool;->config_showNavigationBar:I -Lcom/android/internal/R$dimen;-><init>()V -Lcom/android/internal/R$dimen;->navigation_bar_height:I -Lcom/android/internal/R$dimen;->navigation_bar_height_landscape:I -Lcom/android/internal/R$dimen;->status_bar_height:I -Lcom/android/internal/R$dimen;->toast_y_offset:I -Lcom/android/internal/R$drawable;->btn_check_off:I -Lcom/android/internal/R$drawable;->compass_arrow:I -Lcom/android/internal/R$drawable;->compass_base:I -Lcom/android/internal/R$drawable;->ic_maps_indicator_current_position_anim:I -Lcom/android/internal/R$drawable;->ic_menu_close_clear_cancel:I -Lcom/android/internal/R$drawable;->loading_tile_android:I -Lcom/android/internal/R$drawable;->maps_google_logo:I -Lcom/android/internal/R$drawable;->no_tile_256:I -Lcom/android/internal/R$drawable;->reticle:I -Lcom/android/internal/R$id;->amPm:I -Lcom/android/internal/R$id;->edittext_container:I -Lcom/android/internal/R$id;->icon:I -Lcom/android/internal/R$id;->message:I -Lcom/android/internal/R$id;->minute:I -Lcom/android/internal/R$id;->shortcut:I -Lcom/android/internal/R$id;->text:I -Lcom/android/internal/R$id;->time:I -Lcom/android/internal/R$id;->timePicker:I -Lcom/android/internal/R$id;->title:I -Lcom/android/internal/R$id;->title_container:I -Lcom/android/internal/R$integer;->config_screenBrightnessDim:I -Lcom/android/internal/R$integer;->config_toastDefaultGravity:I -Lcom/android/internal/R$layout;->screen_title:I -Lcom/android/internal/R$string;->byteShort:I -Lcom/android/internal/R$string;->gigabyteShort:I -Lcom/android/internal/R$string;->kilobyteShort:I -Lcom/android/internal/R$string;->megabyteShort:I -Lcom/android/internal/R$string;->petabyteShort:I -Lcom/android/internal/R$string;->terabyteShort:I -Lcom/android/internal/R$style;->Theme:I -Lcom/android/internal/R$styleable;->AbsListView:[I -Lcom/android/internal/R$styleable;->AbsListView_cacheColorHint:I -Lcom/android/internal/R$styleable;->AbsListView_choiceMode:I -Lcom/android/internal/R$styleable;->AbsListView_drawSelectorOnTop:I -Lcom/android/internal/R$styleable;->AbsListView_fastScrollAlwaysVisible:I -Lcom/android/internal/R$styleable;->AbsListView_fastScrollEnabled:I -Lcom/android/internal/R$styleable;->AbsListView_listSelector:I -Lcom/android/internal/R$styleable;->AbsListView_scrollingCache:I -Lcom/android/internal/R$styleable;->AbsListView_smoothScrollbar:I -Lcom/android/internal/R$styleable;->AbsListView_stackFromBottom:I -Lcom/android/internal/R$styleable;->AbsListView_textFilterEnabled:I -Lcom/android/internal/R$styleable;->AbsListView_transcriptMode:I -Lcom/android/internal/R$styleable;->AccountAuthenticator:[I -Lcom/android/internal/R$styleable;->AccountAuthenticator_accountPreferences:I -Lcom/android/internal/R$styleable;->AccountAuthenticator_accountType:I -Lcom/android/internal/R$styleable;->AccountAuthenticator_customTokens:I -Lcom/android/internal/R$styleable;->AccountAuthenticator_icon:I -Lcom/android/internal/R$styleable;->AccountAuthenticator_label:I -Lcom/android/internal/R$styleable;->AccountAuthenticator_smallIcon:I -Lcom/android/internal/R$styleable;->AndroidManifest:[I -Lcom/android/internal/R$styleable;->AndroidManifestActivity:[I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_allowTaskReparenting:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_configChanges:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_description:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_enabled:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_excludeFromRecents:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_exported:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_hardwareAccelerated:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_icon:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_immersive:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_label:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_launchMode:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_logo:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_name:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_noHistory:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_permission:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_process:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_screenOrientation:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_taskAffinity:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_theme:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_uiOptions:I -Lcom/android/internal/R$styleable;->AndroidManifestActivity_windowSoftInputMode:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication:[I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_enabled:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_hardwareAccelerated:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_label:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_largeHeap:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_name:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_permission:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_process:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_supportsRtl:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_theme:I -Lcom/android/internal/R$styleable;->AndroidManifestApplication_uiOptions:I -Lcom/android/internal/R$styleable;->AndroidManifestData:[I -Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter:[I -Lcom/android/internal/R$styleable;->AndroidManifestIntentFilter_priority:I -Lcom/android/internal/R$styleable;->AndroidManifestMetaData:[I -Lcom/android/internal/R$styleable;->AndroidManifestMetaData_name:I -Lcom/android/internal/R$styleable;->AndroidManifestMetaData_resource:I -Lcom/android/internal/R$styleable;->AndroidManifestMetaData_value:I -Lcom/android/internal/R$styleable;->AndroidManifestService:[I -Lcom/android/internal/R$styleable;->AndroidManifestService_enabled:I -Lcom/android/internal/R$styleable;->AndroidManifestService_exported:I -Lcom/android/internal/R$styleable;->AndroidManifestService_name:I -Lcom/android/internal/R$styleable;->AndroidManifestService_permission:I -Lcom/android/internal/R$styleable;->AndroidManifestService_process:I -Lcom/android/internal/R$styleable;->AndroidManifestUsesPermission:[I -Lcom/android/internal/R$styleable;->AndroidManifestUsesPermission_name:I -Lcom/android/internal/R$styleable;->AndroidManifestUsesSdk:[I -Lcom/android/internal/R$styleable;->AndroidManifestUsesSdk_minSdkVersion:I -Lcom/android/internal/R$styleable;->AndroidManifestUsesSdk_targetSdkVersion:I -Lcom/android/internal/R$styleable;->AndroidManifest_installLocation:I -Lcom/android/internal/R$styleable;->AndroidManifest_sharedUserId:I -Lcom/android/internal/R$styleable;->AndroidManifest_versionCode:I -Lcom/android/internal/R$styleable;->AndroidManifest_versionName:I -Lcom/android/internal/R$styleable;->CheckBoxPreference:[I -Lcom/android/internal/R$styleable;->CheckBoxPreference_disableDependentsState:I -Lcom/android/internal/R$styleable;->CheckBoxPreference_summaryOff:I -Lcom/android/internal/R$styleable;->CheckBoxPreference_summaryOn:I -Lcom/android/internal/R$styleable;->CompoundButton:[I -Lcom/android/internal/R$styleable;->CompoundButton_button:I -Lcom/android/internal/R$styleable;->CompoundButton_checked:I -Lcom/android/internal/R$styleable;->DialogPreference:[I -Lcom/android/internal/R$styleable;->DialogPreference_dialogTitle:I -Lcom/android/internal/R$styleable;->EdgeEffect:[I -Lcom/android/internal/R$styleable;->EdgeEffect_colorEdgeEffect:I -Lcom/android/internal/R$styleable;->GridView:[I -Lcom/android/internal/R$styleable;->IconMenuView:[I -Lcom/android/internal/R$styleable;->ImageView:[I -Lcom/android/internal/R$styleable;->ImageView_scaleType:I -Lcom/android/internal/R$styleable;->ImageView_src:I -Lcom/android/internal/R$styleable;->ListPreference:[I -Lcom/android/internal/R$styleable;->ListPreference_entries:I -Lcom/android/internal/R$styleable;->ListView:[I -Lcom/android/internal/R$styleable;->ListView_divider:I -Lcom/android/internal/R$styleable;->ListView_dividerHeight:I -Lcom/android/internal/R$styleable;->ListView_entries:I -Lcom/android/internal/R$styleable;->ListView_footerDividersEnabled:I -Lcom/android/internal/R$styleable;->ListView_headerDividersEnabled:I -Lcom/android/internal/R$styleable;->ListView_overScrollFooter:I -Lcom/android/internal/R$styleable;->ListView_overScrollHeader:I -Lcom/android/internal/R$styleable;->NumberPicker:[I -Lcom/android/internal/R$styleable;->PopupWindow:[I -Lcom/android/internal/R$styleable;->Preference:[I -Lcom/android/internal/R$styleable;->PreferenceGroup:[I -Lcom/android/internal/R$styleable;->PreferenceGroup_orderingFromXml:I -Lcom/android/internal/R$styleable;->Preference_defaultValue:I -Lcom/android/internal/R$styleable;->Preference_dependency:I -Lcom/android/internal/R$styleable;->Preference_enabled:I -Lcom/android/internal/R$styleable;->Preference_fragment:I -Lcom/android/internal/R$styleable;->Preference_icon:I -Lcom/android/internal/R$styleable;->Preference_key:I -Lcom/android/internal/R$styleable;->Preference_layout:I -Lcom/android/internal/R$styleable;->Preference_order:I -Lcom/android/internal/R$styleable;->Preference_persistent:I -Lcom/android/internal/R$styleable;->Preference_selectable:I -Lcom/android/internal/R$styleable;->Preference_shouldDisableView:I -Lcom/android/internal/R$styleable;->Preference_summary:I -Lcom/android/internal/R$styleable;->Preference_title:I -Lcom/android/internal/R$styleable;->Preference_widgetLayout:I -Lcom/android/internal/R$styleable;->ScrollView:[I -Lcom/android/internal/R$styleable;->ScrollView_fillViewport:I -Lcom/android/internal/R$styleable;->SyncAdapter:[I -Lcom/android/internal/R$styleable;->SyncAdapter_accountType:I -Lcom/android/internal/R$styleable;->SyncAdapter_allowParallelSyncs:I -Lcom/android/internal/R$styleable;->SyncAdapter_contentAuthority:I -Lcom/android/internal/R$styleable;->SyncAdapter_isAlwaysSyncable:I -Lcom/android/internal/R$styleable;->SyncAdapter_settingsActivity:I -Lcom/android/internal/R$styleable;->SyncAdapter_supportsUploading:I -Lcom/android/internal/R$styleable;->SyncAdapter_userVisible:I -Lcom/android/internal/R$styleable;->TabWidget:[I -Lcom/android/internal/R$styleable;->TextAppearance:[I -Lcom/android/internal/R$styleable;->TextView:[I -Lcom/android/internal/R$styleable;->TextViewAppearance:[I -Lcom/android/internal/R$styleable;->TextView_drawableBottom:I -Lcom/android/internal/R$styleable;->TextView_drawableLeft:I -Lcom/android/internal/R$styleable;->TextView_drawableRight:I -Lcom/android/internal/R$styleable;->TextView_drawableTop:I -Lcom/android/internal/R$styleable;->TextView_maxLines:I -Lcom/android/internal/R$styleable;->TextView_textColor:I -Lcom/android/internal/R$styleable;->TextView_textColorHint:I -Lcom/android/internal/R$styleable;->TwoLineListItem:[I -Lcom/android/internal/R$styleable;->View:[I -Lcom/android/internal/R$styleable;->ViewGroup_Layout:[I -Lcom/android/internal/R$styleable;->ViewGroup_Layout_layout_height:I -Lcom/android/internal/R$styleable;->ViewGroup_Layout_layout_width:I -Lcom/android/internal/R$styleable;->ViewStub:[I -Lcom/android/internal/R$styleable;->ViewStub_inflatedId:I -Lcom/android/internal/R$styleable;->ViewStub_layout:I -Lcom/android/internal/R$styleable;->View_background:I -Lcom/android/internal/R$styleable;->View_id:I -Lcom/android/internal/R$styleable;->Window:[I -Lcom/android/internal/R$styleable;->Window_windowActionBarFullscreenDecorLayout:I -Lcom/android/internal/R$styleable;->Window_windowIsFloating:I -Lcom/android/internal/R$styleable;->Window_windowIsTranslucent:I -Lcom/android/internal/R$styleable;->Window_windowShowWallpaper:I -Lcom/android/internal/R$xml;->power_profile:I -Lcom/android/internal/app/AlertController$AlertParams;->mIconId:I -Lcom/android/internal/app/AlertController$AlertParams;->mMessage:Ljava/lang/CharSequence; -Lcom/android/internal/app/AlertController$AlertParams;->mNegativeButtonListener:Landroid/content/DialogInterface$OnClickListener; -Lcom/android/internal/app/AlertController$AlertParams;->mNegativeButtonText:Ljava/lang/CharSequence; -Lcom/android/internal/app/AlertController$AlertParams;->mPositiveButtonListener:Landroid/content/DialogInterface$OnClickListener; -Lcom/android/internal/app/AlertController$AlertParams;->mPositiveButtonText:Ljava/lang/CharSequence; -Lcom/android/internal/app/AlertController$AlertParams;->mTitle:Ljava/lang/CharSequence; -Lcom/android/internal/app/AlertController$AlertParams;->mView:Landroid/view/View; -Lcom/android/internal/app/AlertController$RecycleListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V -Lcom/android/internal/app/AlertController;->getButton(I)Landroid/widget/Button; -Lcom/android/internal/app/AlertController;->mCustomTitleView:Landroid/view/View; -Lcom/android/internal/app/AlertController;->mForceInverseBackground:Z -Lcom/android/internal/app/AlertController;->mTitle:Ljava/lang/CharSequence; -Lcom/android/internal/app/AlertController;->mView:Landroid/view/View; -Lcom/android/internal/app/IAppOpsService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperation(IILjava/lang/String;)I -Lcom/android/internal/app/IAppOpsService$Stub$Proxy;->setMode(IILjava/lang/String;I)V -Lcom/android/internal/app/IAppOpsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService; -Lcom/android/internal/app/IAppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V -Lcom/android/internal/app/IBatteryStats$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/app/IBatteryStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IBatteryStats; -Lcom/android/internal/app/IBatteryStats;->getStatistics()[B -Lcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->showSessionFromSession(Landroid/os/IBinder;Landroid/os/Bundle;I)Z -Lcom/android/internal/app/IVoiceInteractionManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionManagerService; -Lcom/android/internal/app/IVoiceInteractionManagerService;->getKeyphraseSoundModel(ILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel; -Lcom/android/internal/appwidget/IAppWidgetService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/appwidget/IAppWidgetService; -Lcom/android/internal/content/PackageMonitor;-><init>()V -Lcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/Looper;Landroid/os/UserHandle;Z)V -Lcom/android/internal/content/PackageMonitor;->unregister()V -Lcom/android/internal/content/ReferrerIntent;-><init>(Landroid/content/Intent;Ljava/lang/String;)V -Lcom/android/internal/content/ReferrerIntent;->mReferrer:Ljava/lang/String; -Lcom/android/internal/location/ILocationProvider$Stub;-><init>()V -Lcom/android/internal/location/ILocationProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/location/ILocationProvider; -Lcom/android/internal/location/ILocationProvider;->disable()V -Lcom/android/internal/location/ILocationProvider;->enable()V -Lcom/android/internal/location/ILocationProvider;->getProperties()Lcom/android/internal/location/ProviderProperties; -Lcom/android/internal/location/ILocationProvider;->getStatus(Landroid/os/Bundle;)I -Lcom/android/internal/location/ILocationProvider;->getStatusUpdateTime()J -Lcom/android/internal/location/ILocationProvider;->sendExtraCommand(Ljava/lang/String;Landroid/os/Bundle;)Z -Lcom/android/internal/location/ILocationProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V -Lcom/android/internal/location/ProviderRequest;-><init>()V -Lcom/android/internal/location/ProviderRequest;->interval:J -Lcom/android/internal/location/ProviderRequest;->locationRequests:Ljava/util/List; -Lcom/android/internal/location/ProviderRequest;->reportLocation:Z -Lcom/android/internal/os/BatterySipper;-><init>(Lcom/android/internal/os/BatterySipper$DrainType;Landroid/os/BatteryStats$Uid;D)V -Lcom/android/internal/os/BatterySipper;->add(Lcom/android/internal/os/BatterySipper;)V -Lcom/android/internal/os/BatterySipper;->drainType:Lcom/android/internal/os/BatterySipper$DrainType; -Lcom/android/internal/os/BatterySipper;->getUid()I -Lcom/android/internal/os/BatterySipper;->mPackages:[Ljava/lang/String; -Lcom/android/internal/os/BatterySipper;->packageWithHighestDrain:Ljava/lang/String; -Lcom/android/internal/os/BatterySipper;->totalPowerMah:D -Lcom/android/internal/os/BatterySipper;->uidObj:Landroid/os/BatteryStats$Uid; -Lcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;ZZ)V -Lcom/android/internal/os/BatteryStatsHelper;->getMaxPower()D -Lcom/android/internal/os/BatteryStatsHelper;->getStats()Landroid/os/BatteryStats; -Lcom/android/internal/os/BatteryStatsHelper;->getTotalPower()D -Lcom/android/internal/os/BatteryStatsHelper;->load()V -Lcom/android/internal/os/BatteryStatsHelper;->mBatteryInfo:Lcom/android/internal/app/IBatteryStats; -Lcom/android/internal/os/BatteryStatsHelper;->mPowerProfile:Lcom/android/internal/os/PowerProfile; -Lcom/android/internal/os/BatteryStatsHelper;->mUsageList:Ljava/util/List; -Lcom/android/internal/os/BatteryStatsHelper;->refreshStats(II)V -Lcom/android/internal/os/BatteryStatsImpl$Timer;->getCountLocked(I)I -Lcom/android/internal/os/BatteryStatsImpl$Timer;->getTotalTimeLocked(JI)J -Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getForegroundTime(I)J -Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getStarts(I)I -Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getSystemTime(I)J -Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getUserTime(I)J -Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getHandle()I -Lcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Lcom/android/internal/os/BatteryStatsImpl$Timer; -Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/internal/os/BatteryStatsImpl$Timer; -Lcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStats()Landroid/util/ArrayMap; -Lcom/android/internal/os/BatteryStatsImpl$Uid;->getSensorStats()Landroid/util/SparseArray; -Lcom/android/internal/os/BatteryStatsImpl$Uid;->getUid()I -Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockStats()Landroid/util/ArrayMap; -Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiRunningTime(JI)J -Lcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanTime(JI)J -Lcom/android/internal/os/BatteryStatsImpl;->CREATOR:Landroid/os/Parcelable$Creator; -Lcom/android/internal/os/BatteryStatsImpl;->computeBatteryRealtime(JI)J -Lcom/android/internal/os/BatteryStatsImpl;->computeBatteryUptime(JI)J -Lcom/android/internal/os/BatteryStatsImpl;->getBatteryRealtime(J)J -Lcom/android/internal/os/BatteryStatsImpl;->getDischargeAmount(I)I -Lcom/android/internal/os/BatteryStatsImpl;->getDischargeCurrentLevel()I -Lcom/android/internal/os/BatteryStatsImpl;->getDischargeStartLevel()I -Lcom/android/internal/os/BatteryStatsImpl;->getGlobalWifiRunningTime(JI)J -Lcom/android/internal/os/BatteryStatsImpl;->getPhoneOnTime(JI)J -Lcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalScanningTime(JI)J -Lcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTime(IJI)J -Lcom/android/internal/os/BatteryStatsImpl;->getScreenBrightnessTime(IJI)J -Lcom/android/internal/os/BatteryStatsImpl;->getScreenOnTime(JI)J -Lcom/android/internal/os/BatteryStatsImpl;->getUidStats()Landroid/util/SparseArray; -Lcom/android/internal/os/BatteryStatsImpl;->getUidStatsLocked(I)Lcom/android/internal/os/BatteryStatsImpl$Uid; -Lcom/android/internal/os/BatteryStatsImpl;->getWifiOnTime(JI)J -Lcom/android/internal/os/FuseAppLoop;->onCommand(IJJJI[B)V -Lcom/android/internal/os/FuseAppLoop;->onOpen(JJ)[B -Lcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService; -Lcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;)V -Lcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;)D -Lcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;I)D -Lcom/android/internal/os/PowerProfile;->getBatteryCapacity()D -Lcom/android/internal/os/SomeArgs;->arg1:Ljava/lang/Object; -Lcom/android/internal/os/SomeArgs;->arg2:Ljava/lang/Object; -Lcom/android/internal/os/SomeArgs;->arg3:Ljava/lang/Object; -Lcom/android/internal/os/SomeArgs;->obtain()Lcom/android/internal/os/SomeArgs; -Lcom/android/internal/os/SomeArgs;->recycle()V -Lcom/android/internal/telephony/GsmAlphabet;->gsm7BitPackedToString([BII)Ljava/lang/String; -Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPacked(Ljava/lang/String;)[B -Lcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms; -Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/telephony/IPhoneSubInfo$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneSubInfo; -Lcom/android/internal/telephony/ISms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISms; -Lcom/android/internal/telephony/ISub$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/telephony/ITelephony$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->endCall()Z -Lcom/android/internal/telephony/ITelephony$Stub$Proxy;->mRemote:Landroid/os/IBinder; -Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_call:I -Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_endCall:I -Lcom/android/internal/telephony/ITelephony$Stub;->TRANSACTION_getDeviceId:I -Lcom/android/internal/telephony/ITelephony$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephony; -Lcom/android/internal/telephony/ITelephony;->answerRingingCall()V -Lcom/android/internal/telephony/ITelephony;->call(Ljava/lang/String;Ljava/lang/String;)V -Lcom/android/internal/telephony/ITelephony;->dial(Ljava/lang/String;)V -Lcom/android/internal/telephony/ITelephony;->disableDataConnectivity()Z -Lcom/android/internal/telephony/ITelephony;->enableDataConnectivity()Z -Lcom/android/internal/telephony/ITelephony;->endCall()Z -Lcom/android/internal/telephony/ITelephony;->endCallForSubscriber(I)Z -Lcom/android/internal/telephony/ITelephony;->getCallState()I -Lcom/android/internal/telephony/ITelephony;->getDataEnabled(I)Z -Lcom/android/internal/telephony/ITelephony;->getDataState()I -Lcom/android/internal/telephony/ITelephony;->isIdle(Ljava/lang/String;)Z -Lcom/android/internal/telephony/ITelephony;->setRadio(Z)Z -Lcom/android/internal/telephony/ITelephony;->silenceRinger()V -Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephonyRegistry; -Lcom/android/internal/telephony/ITelephonyRegistry;->notifyCallState(ILjava/lang/String;)V -Lcom/android/internal/telephony/OperatorInfo$State;->CURRENT:Lcom/android/internal/telephony/OperatorInfo$State; -Lcom/android/internal/telephony/OperatorInfo$State;->FORBIDDEN:Lcom/android/internal/telephony/OperatorInfo$State; -Lcom/android/internal/telephony/OperatorInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -Lcom/android/internal/telephony/OperatorInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Lcom/android/internal/telephony/OperatorInfo;->getOperatorAlphaLong()Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->getOperatorAlphaShort()Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->getOperatorNumeric()Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->getState()Lcom/android/internal/telephony/OperatorInfo$State; -Lcom/android/internal/telephony/SmsHeader$ConcatRef;->msgCount:I -Lcom/android/internal/telephony/SmsHeader$ConcatRef;->refNumber:I -Lcom/android/internal/telephony/SmsHeader$ConcatRef;->seqNumber:I -Lcom/android/internal/telephony/SmsHeader;->concatRef:Lcom/android/internal/telephony/SmsHeader$ConcatRef; -Lcom/android/internal/telephony/SmsMessageBase;->mUserDataHeader:Lcom/android/internal/telephony/SmsHeader; -Lcom/android/internal/telephony/SmsRawData;-><init>([B)V -Lcom/android/internal/telephony/SmsRawData;->CREATOR:Landroid/os/Parcelable$Creator; -Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/util/AsyncChannel;-><init>()V -Lcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)V -Lcom/android/internal/util/AsyncChannel;->sendMessage(III)V -Lcom/android/internal/util/AsyncChannel;->sendMessage(Landroid/os/Message;)V -Lcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;)V -Lcom/android/internal/util/IndentingPrintWriter;-><init>(Ljava/io/Writer;Ljava/lang/String;)V -Lcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter; -Lcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter; -Lcom/android/internal/util/XmlUtils;->beginDocument(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V -Lcom/android/internal/util/XmlUtils;->nextElement(Lorg/xmlpull/v1/XmlPullParser;)V -Lcom/android/internal/util/XmlUtils;->readMapXml(Ljava/io/InputStream;)Ljava/util/HashMap; -Lcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V -Lcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/io/OutputStream;)V -Lcom/android/internal/view/IInputConnectionWrapper;->mInputConnection:Landroid/view/inputmethod/InputConnection; -Lcom/android/internal/view/IInputConnectionWrapper;->mLock:Ljava/lang/Object; -Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V -Lcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList()Ljava/util/List; -Lcom/android/internal/view/IInputMethodManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodManager; -Lcom/android/internal/view/InputBindResult;->CREATOR:Landroid/os/Parcelable$Creator; -Lcom/android/internal/view/menu/MenuBuilder;-><init>(Landroid/content/Context;)V -Lcom/android/internal/view/menu/MenuBuilder;->mContext:Landroid/content/Context; -Lcom/android/internal/view/menu/MenuBuilder;->setCurrentMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V -Lcom/android/internal/view/menu/MenuBuilder;->setOptionalIconsVisible(Z)V -Lcom/android/internal/view/menu/MenuItemImpl;->mIconResId:I -Lcom/android/internal/view/menu/MenuItemImpl;->setMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V -Lcom/android/internal/view/menu/MenuPopupHelper;->mForceShowIcon:Z -Lcom/android/internal/view/menu/MenuPopupHelper;->setForceShowIcon(Z)V -Lcom/android/internal/view/menu/MenuView$ItemView;->getItemData()Lcom/android/internal/view/menu/MenuItemImpl; -Lcom/android/okhttp/ConnectionPool;->keepAliveDurationNs:J -Lcom/android/okhttp/ConnectionPool;->maxIdleConnections:I -Lcom/android/okhttp/ConnectionPool;->systemDefault:Lcom/android/okhttp/ConnectionPool; -Lcom/android/okhttp/HttpUrl;->encodedPath()Ljava/lang/String; -Lcom/android/okhttp/HttpUrl;->query()Ljava/lang/String; -Lcom/android/okhttp/OkHttpClient;->DEFAULT_PROTOCOLS:Ljava/util/List; -Lcom/android/okhttp/OkHttpClient;->connectionPool:Lcom/android/okhttp/ConnectionPool; -Lcom/android/okhttp/OkHttpClient;->dns:Lcom/android/okhttp/Dns; -Lcom/android/okhttp/OkHttpClient;->setProtocols(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient; -Lcom/android/okhttp/OkHttpClient;->setRetryOnConnectionFailure(Z)V -Lcom/android/okhttp/Request;->headers:Lcom/android/okhttp/Headers; -Lcom/android/okhttp/Request;->method:Ljava/lang/String; -Lcom/android/okhttp/Request;->url:Lcom/android/okhttp/HttpUrl; -Lcom/android/okhttp/Response;->code:I -Lcom/android/okhttp/Response;->headers:Lcom/android/okhttp/Headers; -Lcom/android/okhttp/Response;->message:Ljava/lang/String; -Lcom/android/okhttp/Response;->networkResponse:Lcom/android/okhttp/Response; -Lcom/android/okhttp/Response;->protocol:Lcom/android/okhttp/Protocol; -Lcom/android/okhttp/internal/http/HttpEngine;->httpStream:Lcom/android/okhttp/internal/http/HttpStream; -Lcom/android/okhttp/internal/http/HttpEngine;->networkRequest(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Request; -Lcom/android/okhttp/internal/http/HttpEngine;->networkRequest:Lcom/android/okhttp/Request; -Lcom/android/okhttp/internal/http/HttpEngine;->priorResponse:Lcom/android/okhttp/Response; -Lcom/android/okhttp/internal/http/HttpEngine;->userResponse:Lcom/android/okhttp/Response; -Lcom/android/okhttp/okio/ByteString;->readObject(Ljava/io/ObjectInputStream;)V -Lcom/android/okhttp/okio/ByteString;->serialVersionUID:J -Lcom/android/okhttp/okio/ByteString;->writeObject(Ljava/io/ObjectOutputStream;)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getAlpnSelectedProtocol()[B -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getApplicationProtocol()Ljava/lang/String; -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getApplicationProtocols()[Ljava/lang/String; -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getChannelId()[B -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getHandshakeApplicationProtocol()Ljava/lang/String; -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getHostname()Ljava/lang/String; -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getHostnameOrIP()Ljava/lang/String; -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getNpnSelectedProtocol()[B -Lcom/android/org/conscrypt/AbstractConscryptSocket;->getSoWriteTimeout()I -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setAlpnProtocols([B)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setAlpnProtocols([Ljava/lang/String;)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setApplicationProtocols([Ljava/lang/String;)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setChannelIdEnabled(Z)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setHandshakeTimeout(I)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setHostname(Ljava/lang/String;)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setNpnProtocols([B)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setSoWriteTimeout(I)V -Lcom/android/org/conscrypt/AbstractConscryptSocket;->setUseSessionTickets(Z)V -Lcom/android/org/conscrypt/ConscryptSocketBase;->getHostname()Ljava/lang/String; -Lcom/android/org/conscrypt/ConscryptSocketBase;->getHostnameOrIP()Ljava/lang/String; -Lcom/android/org/conscrypt/ConscryptSocketBase;->getSoWriteTimeout()I -Lcom/android/org/conscrypt/ConscryptSocketBase;->setHandshakeTimeout(I)V -Lcom/android/org/conscrypt/ConscryptSocketBase;->setHostname(Ljava/lang/String;)V -Lcom/android/org/conscrypt/ConscryptSocketBase;->setSoWriteTimeout(I)V -Lcom/android/org/conscrypt/ConscryptSocketBase;->socket:Ljava/net/Socket; -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getChannelId()[B -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getHostname()Ljava/lang/String; -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getHostnameOrIP()Ljava/lang/String; -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getNpnSelectedProtocol()[B -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getSoWriteTimeout()I -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([B)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([Ljava/lang/String;)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setChannelIdEnabled(Z)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHandshakeTimeout(I)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHostname(Ljava/lang/String;)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setNpnProtocols([B)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setSoWriteTimeout(I)V -Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V -Lcom/android/org/conscrypt/OpenSSLX509Certificate;->mContext:J -Lcom/android/org/conscrypt/OpenSSLX509Certificate;->serialVersionUID:J -Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$ParsingException;->serialVersionUID:J -Lcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;)V -Ldalvik/system/BaseDexClassLoader;->addDexPath(Ljava/lang/String;)V -Ldalvik/system/BaseDexClassLoader;->getLdLibraryPath()Ljava/lang/String; -Ldalvik/system/BaseDexClassLoader;->pathList:Ldalvik/system/DexPathList; -Ldalvik/system/BlockGuard$Policy;->onNetwork()V -Ldalvik/system/BlockGuard$Policy;->onReadFromDisk()V -Ldalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy; -Ldalvik/system/CloseGuard;->close()V -Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; -Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V -Ldalvik/system/CloseGuard;->warnIfOpen()V -Ldalvik/system/DexFile$DFEnum;->mNameList:[Ljava/lang/String; -Ldalvik/system/DexFile;->getClassNameList(Ljava/lang/Object;)[Ljava/lang/String; -Ldalvik/system/DexFile;->isBackedByOatFile()Z -Ldalvik/system/DexFile;->loadClassBinaryName(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/Class; -Ldalvik/system/DexFile;->mCookie:Ljava/lang/Object; -Ldalvik/system/DexFile;->mFileName:Ljava/lang/String; -Ldalvik/system/DexFile;->mInternalCookie:Ljava/lang/Object; -Ldalvik/system/DexFile;->openDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ljava/lang/Object; -Ldalvik/system/DexPathList$Element;-><init>(Ldalvik/system/DexFile;Ljava/io/File;)V -Ldalvik/system/DexPathList$Element;-><init>(Ljava/io/File;ZLjava/io/File;Ldalvik/system/DexFile;)V -Ldalvik/system/DexPathList$Element;->dexFile:Ldalvik/system/DexFile; -Ldalvik/system/DexPathList$NativeLibraryElement;-><init>(Ljava/io/File;)V -Ldalvik/system/DexPathList$NativeLibraryElement;->path:Ljava/io/File; -Ldalvik/system/DexPathList;-><init>(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)V -Ldalvik/system/DexPathList;->addDexPath(Ljava/lang/String;Ljava/io/File;)V -Ldalvik/system/DexPathList;->definingContext:Ljava/lang/ClassLoader; -Ldalvik/system/DexPathList;->dexElements:[Ldalvik/system/DexPathList$Element; -Ldalvik/system/DexPathList;->loadDexFile(Ljava/io/File;Ljava/io/File;Ljava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ldalvik/system/DexFile; -Ldalvik/system/DexPathList;->makeDexElements(Ljava/util/List;Ljava/io/File;Ljava/util/List;Ljava/lang/ClassLoader;)[Ldalvik/system/DexPathList$Element; -Ldalvik/system/DexPathList;->makeInMemoryDexElements([Ljava/nio/ByteBuffer;Ljava/util/List;)[Ldalvik/system/DexPathList$Element; -Ldalvik/system/DexPathList;->makePathElements(Ljava/util/List;)[Ldalvik/system/DexPathList$NativeLibraryElement; -Ldalvik/system/DexPathList;->makePathElements(Ljava/util/List;Ljava/io/File;Ljava/util/List;)[Ldalvik/system/DexPathList$Element; -Ldalvik/system/DexPathList;->nativeLibraryDirectories:Ljava/util/List; -Ldalvik/system/DexPathList;->nativeLibraryPathElements:[Ldalvik/system/DexPathList$NativeLibraryElement; -Ldalvik/system/DexPathList;->splitPaths(Ljava/lang/String;Z)Ljava/util/List; -Ldalvik/system/DexPathList;->systemNativeLibraryDirectories:Ljava/util/List; -Ldalvik/system/VMDebug;->dumpReferenceTables()V -Ldalvik/system/VMDebug;->isDebuggerConnected()Z -Ldalvik/system/VMRuntime;->addressOf(Ljava/lang/Object;)J -Ldalvik/system/VMRuntime;->clearGrowthLimit()V -Ldalvik/system/VMRuntime;->gcSoftReferences()V -Ldalvik/system/VMRuntime;->getCurrentInstructionSet()Ljava/lang/String; -Ldalvik/system/VMRuntime;->getExternalBytesAllocated()J -Ldalvik/system/VMRuntime;->getInstructionSet(Ljava/lang/String;)Ljava/lang/String; -Ldalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime; -Ldalvik/system/VMRuntime;->is64Bit()Z -Ldalvik/system/VMRuntime;->is64BitAbi(Ljava/lang/String;)Z -Ldalvik/system/VMRuntime;->newNonMovableArray(Ljava/lang/Class;I)Ljava/lang/Object; -Ldalvik/system/VMRuntime;->registerNativeAllocation(I)V -Ldalvik/system/VMRuntime;->registerNativeFree(I)V -Ldalvik/system/VMRuntime;->runFinalization(J)V -Ldalvik/system/VMRuntime;->setMinimumHeapSize(J)J -Ldalvik/system/VMRuntime;->setTargetHeapUtilization(F)F -Ldalvik/system/VMRuntime;->setTargetSdkVersion(I)V -Ldalvik/system/VMRuntime;->trackExternalAllocation(J)Z -Ldalvik/system/VMRuntime;->trackExternalFree(J)V -Ldalvik/system/VMRuntime;->vmInstructionSet()Ljava/lang/String; -Ldalvik/system/VMRuntime;->vmLibrary()Ljava/lang/String; -Ldalvik/system/VMStack;->getCallingClassLoader()Ljava/lang/ClassLoader; -Ldalvik/system/VMStack;->getStackClass2()Ljava/lang/Class; -Ljava/awt/font/NumericShaper;->serialVersionUID:J -Ljava/awt/font/NumericShaper;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/awt/font/TextAttribute;->serialVersionUID:J -Ljava/beans/IndexedPropertyChangeEvent;->serialVersionUID:J -Ljava/beans/PropertyChangeEvent;->serialVersionUID:J -Ljava/beans/PropertyChangeSupport;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/beans/PropertyChangeSupport;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/beans/PropertyChangeSupport;->serialVersionUID:J -Ljava/beans/PropertyChangeSupport;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/io/CharConversionException;->serialVersionUID:J -Ljava/io/EOFException;->serialVersionUID:J -Ljava/io/File;->filePath:Ljava/nio/file/Path; -Ljava/io/File;->fs:Ljava/io/FileSystem; -Ljava/io/File;->path:Ljava/lang/String; -Ljava/io/File;->prefixLength:I -Ljava/io/File;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/io/File;->serialVersionUID:J -Ljava/io/File;->status:Ljava/io/File$PathStatus; -Ljava/io/File;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/io/FileDescriptor;->descriptor:I -Ljava/io/FileDescriptor;->getInt$()I -Ljava/io/FileDescriptor;->isSocket$()Z -Ljava/io/FileDescriptor;->setInt$(I)V -Ljava/io/FileInputStream;->fd:Ljava/io/FileDescriptor; -Ljava/io/FileNotFoundException;->serialVersionUID:J -Ljava/io/FileOutputStream;->fd:Ljava/io/FileDescriptor; -Ljava/io/IOError;->serialVersionUID:J -Ljava/io/IOException;->serialVersionUID:J -Ljava/io/InterruptedIOException;->serialVersionUID:J -Ljava/io/InvalidClassException;->serialVersionUID:J -Ljava/io/InvalidObjectException;->serialVersionUID:J -Ljava/io/NotActiveException;->serialVersionUID:J -Ljava/io/NotSerializableException;->serialVersionUID:J -Ljava/io/ObjectStreamClass;->getConstructorId(Ljava/lang/Class;)J -Ljava/io/ObjectStreamClass;->newInstance()Ljava/lang/Object; -Ljava/io/ObjectStreamClass;->newInstance(Ljava/lang/Class;J)Ljava/lang/Object; -Ljava/io/ObjectStreamClass;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/io/ObjectStreamClass;->serialVersionUID:J -Ljava/io/ObjectStreamException;->serialVersionUID:J -Ljava/io/OptionalDataException;->serialVersionUID:J -Ljava/io/StreamCorruptedException;->serialVersionUID:J -Ljava/io/SyncFailedException;->serialVersionUID:J -Ljava/io/UTFDataFormatException;->serialVersionUID:J -Ljava/io/UncheckedIOException;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/io/UncheckedIOException;->serialVersionUID:J -Ljava/io/UnsupportedEncodingException;->serialVersionUID:J -Ljava/io/WriteAbortedException;->serialVersionUID:J -Ljava/lang/AbstractMethodError;->serialVersionUID:J -Ljava/lang/AbstractStringBuilder;->value:[C -Ljava/lang/ArithmeticException;->serialVersionUID:J -Ljava/lang/ArrayIndexOutOfBoundsException;->serialVersionUID:J -Ljava/lang/ArrayStoreException;->serialVersionUID:J -Ljava/lang/AssertionError;->serialVersionUID:J -Ljava/lang/Boolean;->serialVersionUID:J -Ljava/lang/Boolean;->value:Z -Ljava/lang/BootstrapMethodError;->serialVersionUID:J -Ljava/lang/Byte;->serialVersionUID:J -Ljava/lang/Byte;->value:B -Ljava/lang/Character;->serialVersionUID:J -Ljava/lang/Character;->value:C -Ljava/lang/Class;->accessFlags:I -Ljava/lang/Class;->dexCache:Ljava/lang/Object; -Ljava/lang/Class;->dexClassDefIndex:I -Ljava/lang/Class;->ifTable:[Ljava/lang/Object; -Ljava/lang/Class;->serialVersionUID:J -Ljava/lang/ClassCastException;->serialVersionUID:J -Ljava/lang/ClassCircularityError;->serialVersionUID:J -Ljava/lang/ClassFormatError;->serialVersionUID:J -Ljava/lang/ClassLoader;->parent:Ljava/lang/ClassLoader; -Ljava/lang/ClassNotFoundException;->serialVersionUID:J -Ljava/lang/CloneNotSupportedException;->serialVersionUID:J -Ljava/lang/Daemons$Daemon;->isRunning()Z -Ljava/lang/Daemons$Daemon;->start()V -Ljava/lang/Daemons$Daemon;->stop()V -Ljava/lang/Daemons$Daemon;->thread:Ljava/lang/Thread; -Ljava/lang/Daemons$FinalizerDaemon;->INSTANCE:Ljava/lang/Daemons$FinalizerDaemon; -Ljava/lang/Daemons$FinalizerDaemon;->finalizingObject:Ljava/lang/Object; -Ljava/lang/Daemons$FinalizerWatchdogDaemon;->INSTANCE:Ljava/lang/Daemons$FinalizerWatchdogDaemon; -Ljava/lang/Daemons$ReferenceQueueDaemon;->INSTANCE:Ljava/lang/Daemons$ReferenceQueueDaemon; -Ljava/lang/Daemons;->MAX_FINALIZE_NANOS:J -Ljava/lang/Daemons;->requestHeapTrim()V -Ljava/lang/Daemons;->start()V -Ljava/lang/Daemons;->stop()V -Ljava/lang/Double;->serialVersionUID:J -Ljava/lang/Double;->value:D -Ljava/lang/Enum;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/lang/Enum;->readObjectNoData()V -Ljava/lang/EnumConstantNotPresentException;->serialVersionUID:J -Ljava/lang/Error;->serialVersionUID:J -Ljava/lang/Exception;->serialVersionUID:J -Ljava/lang/ExceptionInInitializerError;->serialVersionUID:J -Ljava/lang/Float;->serialVersionUID:J -Ljava/lang/Float;->value:F -Ljava/lang/IllegalAccessError;->serialVersionUID:J -Ljava/lang/IllegalAccessException;->serialVersionUID:J -Ljava/lang/IllegalArgumentException;->serialVersionUID:J -Ljava/lang/IllegalMonitorStateException;->serialVersionUID:J -Ljava/lang/IllegalStateException;->serialVersionUID:J -Ljava/lang/IllegalThreadStateException;->serialVersionUID:J -Ljava/lang/IncompatibleClassChangeError;->serialVersionUID:J -Ljava/lang/IndexOutOfBoundsException;->serialVersionUID:J -Ljava/lang/InstantiationError;->serialVersionUID:J -Ljava/lang/InstantiationException;->serialVersionUID:J -Ljava/lang/Integer;->serialVersionUID:J -Ljava/lang/Integer;->value:I -Ljava/lang/InternalError;->serialVersionUID:J -Ljava/lang/InterruptedException;->serialVersionUID:J -Ljava/lang/LinkageError;->serialVersionUID:J -Ljava/lang/Long;->serialVersionUID:J -Ljava/lang/Long;->value:J -Ljava/lang/NegativeArraySizeException;->serialVersionUID:J -Ljava/lang/NoClassDefFoundError;->serialVersionUID:J -Ljava/lang/NoSuchFieldError;->serialVersionUID:J -Ljava/lang/NoSuchFieldException;->serialVersionUID:J -Ljava/lang/NoSuchMethodError;->serialVersionUID:J -Ljava/lang/NoSuchMethodException;->serialVersionUID:J -Ljava/lang/NullPointerException;->serialVersionUID:J -Ljava/lang/Number;->serialVersionUID:J -Ljava/lang/NumberFormatException;->serialVersionUID:J -Ljava/lang/OutOfMemoryError;->serialVersionUID:J -Ljava/lang/ReflectiveOperationException;->serialVersionUID:J -Ljava/lang/Runtime;->load(Ljava/lang/String;Ljava/lang/ClassLoader;)V -Ljava/lang/Runtime;->loadLibrary(Ljava/lang/String;Ljava/lang/ClassLoader;)V -Ljava/lang/Runtime;->mLibPaths:[Ljava/lang/String; -Ljava/lang/Runtime;->nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/String; -Ljava/lang/RuntimeException;->serialVersionUID:J -Ljava/lang/RuntimePermission;->serialVersionUID:J -Ljava/lang/SecurityException;->serialVersionUID:J -Ljava/lang/Short;->serialVersionUID:J -Ljava/lang/Short;->value:S -Ljava/lang/StackOverflowError;->serialVersionUID:J -Ljava/lang/StackTraceElement;->serialVersionUID:J -Ljava/lang/String$CaseInsensitiveComparator;->readResolve()Ljava/lang/Object; -Ljava/lang/String$CaseInsensitiveComparator;->serialVersionUID:J -Ljava/lang/String;-><init>(II[C)V -Ljava/lang/String;->getCharsNoCheck(II[CI)V -Ljava/lang/String;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/lang/String;->serialVersionUID:J -Ljava/lang/StringBuffer;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/lang/StringBuffer;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/lang/StringBuffer;->serialVersionUID:J -Ljava/lang/StringBuffer;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/lang/StringBuilder;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/lang/StringBuilder;->serialVersionUID:J -Ljava/lang/StringBuilder;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/lang/StringIndexOutOfBoundsException;->serialVersionUID:J -Ljava/lang/System;-><init>()V -Ljava/lang/System;->arraycopy([BI[BII)V -Ljava/lang/System;->arraycopy([CI[CII)V -Ljava/lang/System;->arraycopy([II[III)V -Ljava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/String;IZ)V -Ljava/lang/Thread;->contextClassLoader:Ljava/lang/ClassLoader; -Ljava/lang/Thread;->daemon:Z -Ljava/lang/Thread;->dispatchUncaughtException(Ljava/lang/Throwable;)V -Ljava/lang/Thread;->group:Ljava/lang/ThreadGroup; -Ljava/lang/Thread;->inheritableThreadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap; -Ljava/lang/Thread;->lock:Ljava/lang/Object; -Ljava/lang/Thread;->name:Ljava/lang/String; -Ljava/lang/Thread;->nativePeer:J -Ljava/lang/Thread;->parkBlocker:Ljava/lang/Object; -Ljava/lang/Thread;->priority:I -Ljava/lang/Thread;->threadLocals:Ljava/lang/ThreadLocal$ThreadLocalMap; -Ljava/lang/ThreadDeath;->serialVersionUID:J -Ljava/lang/ThreadGroup;->add(Ljava/lang/Thread;)V -Ljava/lang/ThreadGroup;->groups:[Ljava/lang/ThreadGroup; -Ljava/lang/ThreadGroup;->mainThreadGroup:Ljava/lang/ThreadGroup; -Ljava/lang/ThreadGroup;->name:Ljava/lang/String; -Ljava/lang/ThreadGroup;->ngroups:I -Ljava/lang/ThreadGroup;->parent:Ljava/lang/ThreadGroup; -Ljava/lang/ThreadGroup;->systemThreadGroup:Ljava/lang/ThreadGroup; -Ljava/lang/ThreadGroup;->threadTerminated(Ljava/lang/Thread;)V -Ljava/lang/Throwable;->backtrace:Ljava/lang/Object; -Ljava/lang/Throwable;->cause:Ljava/lang/Throwable; -Ljava/lang/Throwable;->detailMessage:Ljava/lang/String; -Ljava/lang/Throwable;->nativeFillInStackTrace()Ljava/lang/Object; -Ljava/lang/Throwable;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/lang/Throwable;->serialVersionUID:J -Ljava/lang/Throwable;->stackTrace:[Ljava/lang/StackTraceElement; -Ljava/lang/Throwable;->suppressedExceptions:Ljava/util/List; -Ljava/lang/Throwable;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/lang/TypeNotPresentException;->serialVersionUID:J -Ljava/lang/UnknownError;->serialVersionUID:J -Ljava/lang/UnsatisfiedLinkError;->serialVersionUID:J -Ljava/lang/UnsupportedClassVersionError;->serialVersionUID:J -Ljava/lang/UnsupportedOperationException;->serialVersionUID:J -Ljava/lang/VerifyError;->serialVersionUID:J -Ljava/lang/VirtualMachineError;->serialVersionUID:J -Ljava/lang/Void;-><init>()V -Ljava/lang/annotation/AnnotationFormatError;->serialVersionUID:J -Ljava/lang/annotation/AnnotationTypeMismatchException;->serialVersionUID:J -Ljava/lang/annotation/IncompleteAnnotationException;->serialVersionUID:J -Ljava/lang/invoke/LambdaConversionException;->serialVersionUID:J -Ljava/lang/invoke/MethodHandles$Lookup;-><init>(Ljava/lang/Class;I)V -Ljava/lang/invoke/MethodType;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/lang/invoke/MethodType;->readResolve()Ljava/lang/Object; -Ljava/lang/invoke/MethodType;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/lang/invoke/MethodType;->serialVersionUID:J -Ljava/lang/invoke/MethodType;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/lang/invoke/WrongMethodTypeException;->serialVersionUID:J -Ljava/lang/ref/FinalizerReference;->add(Ljava/lang/Object;)V -Ljava/lang/ref/FinalizerReference;->head:Ljava/lang/ref/FinalizerReference; -Ljava/lang/ref/FinalizerReference;->next:Ljava/lang/ref/FinalizerReference; -Ljava/lang/ref/FinalizerReference;->queue:Ljava/lang/ref/ReferenceQueue; -Ljava/lang/ref/FinalizerReference;->remove(Ljava/lang/ref/FinalizerReference;)V -Ljava/lang/ref/Reference;->getReferent()Ljava/lang/Object; -Ljava/lang/ref/Reference;->referent:Ljava/lang/Object; -Ljava/lang/ref/ReferenceQueue;->add(Ljava/lang/ref/Reference;)V -Ljava/lang/reflect/Executable;->artMethod:J -Ljava/lang/reflect/Field;->accessFlags:I -Ljava/lang/reflect/GenericSignatureFormatError;->serialVersionUID:J -Ljava/lang/reflect/InvocationTargetException;->serialVersionUID:J -Ljava/lang/reflect/MalformedParameterizedTypeException;->serialVersionUID:J -Ljava/lang/reflect/MalformedParametersException;->serialVersionUID:J -Ljava/lang/reflect/Parameter;-><init>(Ljava/lang/String;ILjava/lang/reflect/Executable;I)V -Ljava/lang/reflect/Proxy;->invoke(Ljava/lang/reflect/Proxy;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; -Ljava/lang/reflect/Proxy;->serialVersionUID:J -Ljava/lang/reflect/UndeclaredThrowableException;->serialVersionUID:J -Ljava/math/BigDecimal;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/math/BigDecimal;->serialVersionUID:J -Ljava/math/BigDecimal;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/math/BigInteger;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/math/BigInteger;->serialVersionUID:J -Ljava/math/BigInteger;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/math/MathContext;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/math/MathContext;->serialVersionUID:J -Ljava/net/Authenticator;->theAuthenticator:Ljava/net/Authenticator; -Ljava/net/BindException;->serialVersionUID:J -Ljava/net/ConnectException;->serialVersionUID:J -Ljava/net/DatagramSocket;->impl:Ljava/net/DatagramSocketImpl; -Ljava/net/HttpCookie;->assignors:Ljava/util/Map; -Ljava/net/HttpCookie;->comment:Ljava/lang/String; -Ljava/net/HttpCookie;->commentURL:Ljava/lang/String; -Ljava/net/HttpCookie;->domain:Ljava/lang/String; -Ljava/net/HttpCookie;->header:Ljava/lang/String; -Ljava/net/HttpCookie;->httpOnly:Z -Ljava/net/HttpCookie;->maxAge:J -Ljava/net/HttpCookie;->name:Ljava/lang/String; -Ljava/net/HttpCookie;->path:Ljava/lang/String; -Ljava/net/HttpCookie;->portlist:Ljava/lang/String; -Ljava/net/HttpCookie;->secure:Z -Ljava/net/HttpCookie;->toDiscard:Z -Ljava/net/HttpCookie;->tspecials:Ljava/lang/String; -Ljava/net/HttpCookie;->value:Ljava/lang/String; -Ljava/net/HttpCookie;->version:I -Ljava/net/HttpCookie;->whenCreated:J -Ljava/net/HttpRetryException;->serialVersionUID:J -Ljava/net/Inet4Address;-><init>()V -Ljava/net/Inet4Address;->ALL:Ljava/net/InetAddress; -Ljava/net/Inet4Address;->ANY:Ljava/net/InetAddress; -Ljava/net/Inet4Address;->serialVersionUID:J -Ljava/net/Inet4Address;->writeReplace()Ljava/lang/Object; -Ljava/net/Inet6Address$Inet6AddressHolder;->ipaddress:[B -Ljava/net/Inet6Address$Inet6AddressHolder;->scope_id:I -Ljava/net/Inet6Address$Inet6AddressHolder;->scope_id_set:Z -Ljava/net/Inet6Address$Inet6AddressHolder;->scope_ifname:Ljava/net/NetworkInterface; -Ljava/net/Inet6Address;-><init>()V -Ljava/net/Inet6Address;->ANY:Ljava/net/InetAddress; -Ljava/net/Inet6Address;->holder6:Ljava/net/Inet6Address$Inet6AddressHolder; -Ljava/net/Inet6Address;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/net/Inet6Address;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/net/Inet6Address;->serialVersionUID:J -Ljava/net/Inet6Address;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/net/InetAddress$InetAddressHolder;->address:I -Ljava/net/InetAddress$InetAddressHolder;->family:I -Ljava/net/InetAddress$InetAddressHolder;->hostName:Ljava/lang/String; -Ljava/net/InetAddress$InetAddressHolder;->originalHostName:Ljava/lang/String; -Ljava/net/InetAddress;->clearDnsCache()V -Ljava/net/InetAddress;->holder()Ljava/net/InetAddress$InetAddressHolder; -Ljava/net/InetAddress;->holder:Ljava/net/InetAddress$InetAddressHolder; -Ljava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z -Ljava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress; -Ljava/net/InetAddress;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/net/InetAddress;->readResolve()Ljava/lang/Object; -Ljava/net/InetAddress;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/net/InetAddress;->serialVersionUID:J -Ljava/net/InetAddress;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/net/InetSocketAddress;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/net/InetSocketAddress;->readObjectNoData()V -Ljava/net/InetSocketAddress;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/net/InetSocketAddress;->serialVersionUID:J -Ljava/net/InetSocketAddress;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/net/MalformedURLException;->serialVersionUID:J -Ljava/net/NoRouteToHostException;->serialVersionUID:J -Ljava/net/PortUnreachableException;->serialVersionUID:J -Ljava/net/ProtocolException;->serialVersionUID:J -Ljava/net/Socket;->getFileDescriptor$()Ljava/io/FileDescriptor; -Ljava/net/Socket;->impl:Ljava/net/SocketImpl; -Ljava/net/SocketAddress;->serialVersionUID:J -Ljava/net/SocketException;->serialVersionUID:J -Ljava/net/SocketImpl;->serverSocket:Ljava/net/ServerSocket; -Ljava/net/SocketImpl;->socket:Ljava/net/Socket; -Ljava/net/SocketTimeoutException;->serialVersionUID:J -Ljava/net/URI;->fragment:Ljava/lang/String; -Ljava/net/URI;->host:Ljava/lang/String; -Ljava/net/URI;->port:I -Ljava/net/URI;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/net/URI;->serialVersionUID:J -Ljava/net/URI;->string:Ljava/lang/String; -Ljava/net/URI;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/net/URISyntaxException;->serialVersionUID:J -Ljava/net/URL;->handler:Ljava/net/URLStreamHandler; -Ljava/net/URL;->handlers:Ljava/util/Hashtable; -Ljava/net/URL;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/net/URL;->readResolve()Ljava/lang/Object; -Ljava/net/URL;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/net/URL;->serialVersionUID:J -Ljava/net/URL;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/net/UnknownHostException;->serialVersionUID:J -Ljava/net/UnknownServiceException;->serialVersionUID:J -Ljava/nio/Buffer;->_elementSizeShift:I -Ljava/nio/Buffer;->address:J -Ljava/nio/Buffer;->capacity:I -Ljava/nio/Buffer;->limit:I -Ljava/nio/Buffer;->position:I -Ljava/nio/BufferOverflowException;->serialVersionUID:J -Ljava/nio/BufferUnderflowException;->serialVersionUID:J -Ljava/nio/ByteBuffer;->hb:[B -Ljava/nio/ByteBuffer;->isReadOnly:Z -Ljava/nio/ByteBuffer;->offset:I -Ljava/nio/DirectByteBuffer;-><init>(JI)V -Ljava/nio/InvalidMarkException;->serialVersionUID:J -Ljava/nio/NIOAccess;->getBaseArray(Ljava/nio/Buffer;)Ljava/lang/Object; -Ljava/nio/NIOAccess;->getBaseArrayOffset(Ljava/nio/Buffer;)I -Ljava/nio/NIOAccess;->getBasePointer(Ljava/nio/Buffer;)J -Ljava/nio/ReadOnlyBufferException;->serialVersionUID:J -Ljava/nio/channels/AcceptPendingException;->serialVersionUID:J -Ljava/nio/channels/AlreadyBoundException;->serialVersionUID:J -Ljava/nio/channels/AlreadyConnectedException;->serialVersionUID:J -Ljava/nio/channels/AsynchronousCloseException;->serialVersionUID:J -Ljava/nio/channels/CancelledKeyException;->serialVersionUID:J -Ljava/nio/channels/ClosedByInterruptException;->serialVersionUID:J -Ljava/nio/channels/ClosedChannelException;->serialVersionUID:J -Ljava/nio/channels/ClosedSelectorException;->serialVersionUID:J -Ljava/nio/channels/ConnectionPendingException;->serialVersionUID:J -Ljava/nio/channels/FileLockInterruptionException;->serialVersionUID:J -Ljava/nio/channels/IllegalBlockingModeException;->serialVersionUID:J -Ljava/nio/channels/IllegalChannelGroupException;->serialVersionUID:J -Ljava/nio/channels/IllegalSelectorException;->serialVersionUID:J -Ljava/nio/channels/InterruptedByTimeoutException;->serialVersionUID:J -Ljava/nio/channels/NoConnectionPendingException;->serialVersionUID:J -Ljava/nio/channels/NonReadableChannelException;->serialVersionUID:J -Ljava/nio/channels/NonWritableChannelException;->serialVersionUID:J -Ljava/nio/channels/NotYetBoundException;->serialVersionUID:J -Ljava/nio/channels/NotYetConnectedException;->serialVersionUID:J -Ljava/nio/channels/OverlappingFileLockException;->serialVersionUID:J -Ljava/nio/channels/ReadPendingException;->serialVersionUID:J -Ljava/nio/channels/ShutdownChannelGroupException;->serialVersionUID:J -Ljava/nio/channels/UnresolvedAddressException;->serialVersionUID:J -Ljava/nio/channels/UnsupportedAddressTypeException;->serialVersionUID:J -Ljava/nio/channels/WritePendingException;->serialVersionUID:J -Ljava/nio/charset/CharacterCodingException;->serialVersionUID:J -Ljava/nio/charset/CharsetEncoder;->canEncode(Ljava/nio/CharBuffer;)Z -Ljava/nio/charset/CoderMalfunctionError;->serialVersionUID:J -Ljava/nio/charset/IllegalCharsetNameException;->serialVersionUID:J -Ljava/nio/charset/MalformedInputException;->serialVersionUID:J -Ljava/nio/charset/UnmappableCharacterException;->serialVersionUID:J -Ljava/nio/charset/UnsupportedCharsetException;->serialVersionUID:J -Ljava/nio/file/AccessDeniedException;->serialVersionUID:J -Ljava/nio/file/AtomicMoveNotSupportedException;->serialVersionUID:J -Ljava/nio/file/ClosedDirectoryStreamException;->serialVersionUID:J -Ljava/nio/file/ClosedFileSystemException;->serialVersionUID:J -Ljava/nio/file/ClosedWatchServiceException;->serialVersionUID:J -Ljava/nio/file/DirectoryIteratorException;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/nio/file/DirectoryIteratorException;->serialVersionUID:J -Ljava/nio/file/DirectoryNotEmptyException;->serialVersionUID:J -Ljava/nio/file/FileAlreadyExistsException;->serialVersionUID:J -Ljava/nio/file/FileSystemAlreadyExistsException;->serialVersionUID:J -Ljava/nio/file/FileSystemException;->serialVersionUID:J -Ljava/nio/file/FileSystemLoopException;->serialVersionUID:J -Ljava/nio/file/FileSystemNotFoundException;->serialVersionUID:J -Ljava/nio/file/InvalidPathException;->serialVersionUID:J -Ljava/nio/file/LinkPermission;->serialVersionUID:J -Ljava/nio/file/NoSuchFileException;->serialVersionUID:J -Ljava/nio/file/NotDirectoryException;->serialVersionUID:J -Ljava/nio/file/NotLinkException;->serialVersionUID:J -Ljava/nio/file/ProviderMismatchException;->serialVersionUID:J -Ljava/nio/file/ProviderNotFoundException;->serialVersionUID:J -Ljava/nio/file/ReadOnlyFileSystemException;->serialVersionUID:J -Ljava/nio/file/attribute/UserPrincipalNotFoundException;->serialVersionUID:J -Ljava/security/AccessControlException;->serialVersionUID:J -Ljava/security/CodeSigner;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/security/CodeSigner;->serialVersionUID:J -Ljava/security/DigestException;->serialVersionUID:J -Ljava/security/GeneralSecurityException;->serialVersionUID:J -Ljava/security/GuardedObject;->serialVersionUID:J -Ljava/security/GuardedObject;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/security/Identity;->serialVersionUID:J -Ljava/security/IdentityScope;->serialVersionUID:J -Ljava/security/InvalidAlgorithmParameterException;->serialVersionUID:J -Ljava/security/InvalidKeyException;->serialVersionUID:J -Ljava/security/InvalidParameterException;->serialVersionUID:J -Ljava/security/KeyException;->serialVersionUID:J -Ljava/security/KeyManagementException;->serialVersionUID:J -Ljava/security/KeyPair;->serialVersionUID:J -Ljava/security/KeyRep;->serialVersionUID:J -Ljava/security/KeyStoreException;->serialVersionUID:J -Ljava/security/NoSuchAlgorithmException;->serialVersionUID:J -Ljava/security/NoSuchProviderException;->serialVersionUID:J -Ljava/security/PrivilegedActionException;->serialVersionUID:J -Ljava/security/Provider;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/security/Provider;->serialVersionUID:J -Ljava/security/ProviderException;->serialVersionUID:J -Ljava/security/SecureRandom;->serialVersionUID:J -Ljava/security/SecureRandomSpi;->serialVersionUID:J -Ljava/security/SignatureException;->serialVersionUID:J -Ljava/security/SignedObject;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/security/SignedObject;->serialVersionUID:J -Ljava/security/Signer;->serialVersionUID:J -Ljava/security/Timestamp;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/security/Timestamp;->serialVersionUID:J -Ljava/security/UnrecoverableEntryException;->serialVersionUID:J -Ljava/security/UnrecoverableKeyException;->serialVersionUID:J -Ljava/security/acl/AclNotFoundException;->serialVersionUID:J -Ljava/security/acl/LastOwnerException;->serialVersionUID:J -Ljava/security/acl/NotOwnerException;->serialVersionUID:J -Ljava/security/cert/CRLException;->serialVersionUID:J -Ljava/security/cert/CertPath$CertPathRep;->serialVersionUID:J -Ljava/security/cert/CertPath;->serialVersionUID:J -Ljava/security/cert/CertPathBuilderException;->serialVersionUID:J -Ljava/security/cert/CertPathValidatorException;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/security/cert/CertPathValidatorException;->serialVersionUID:J -Ljava/security/cert/CertStoreException;->serialVersionUID:J -Ljava/security/cert/Certificate$CertificateRep;->serialVersionUID:J -Ljava/security/cert/Certificate;->serialVersionUID:J -Ljava/security/cert/CertificateEncodingException;->serialVersionUID:J -Ljava/security/cert/CertificateException;->serialVersionUID:J -Ljava/security/cert/CertificateExpiredException;->serialVersionUID:J -Ljava/security/cert/CertificateNotYetValidException;->serialVersionUID:J -Ljava/security/cert/CertificateParsingException;->serialVersionUID:J -Ljava/security/cert/CertificateRevokedException;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/security/cert/CertificateRevokedException;->serialVersionUID:J -Ljava/security/cert/CertificateRevokedException;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/security/cert/X509Certificate;->serialVersionUID:J -Ljava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String; -Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V -Ljava/security/spec/InvalidKeySpecException;->serialVersionUID:J -Ljava/security/spec/InvalidParameterSpecException;->serialVersionUID:J -Ljava/sql/BatchUpdateException;->serialVersionUID:J -Ljava/sql/DataTruncation;->serialVersionUID:J -Ljava/sql/Date;->serialVersionUID:J -Ljava/sql/SQLClientInfoException;->serialVersionUID:J -Ljava/sql/SQLDataException;->serialVersionUID:J -Ljava/sql/SQLException;->serialVersionUID:J -Ljava/sql/SQLFeatureNotSupportedException;->serialVersionUID:J -Ljava/sql/SQLIntegrityConstraintViolationException;->serialVersionUID:J -Ljava/sql/SQLInvalidAuthorizationSpecException;->serialVersionUID:J -Ljava/sql/SQLNonTransientConnectionException;->serialVersionUID:J -Ljava/sql/SQLNonTransientException;->serialVersionUID:J -Ljava/sql/SQLRecoverableException;->serialVersionUID:J -Ljava/sql/SQLSyntaxErrorException;->serialVersionUID:J -Ljava/sql/SQLTimeoutException;->serialVersionUID:J -Ljava/sql/SQLTransactionRollbackException;->serialVersionUID:J -Ljava/sql/SQLTransientConnectionException;->serialVersionUID:J -Ljava/sql/SQLTransientException;->serialVersionUID:J -Ljava/sql/SQLWarning;->serialVersionUID:J -Ljava/sql/Time;->serialVersionUID:J -Ljava/sql/Timestamp;->serialVersionUID:J -Ljava/text/AttributedCharacterIterator$Attribute;->serialVersionUID:J -Ljava/text/ChoiceFormat;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/text/ChoiceFormat;->serialVersionUID:J -Ljava/text/DateFormat$Field;->serialVersionUID:J -Ljava/text/DateFormat;->is24Hour:Ljava/lang/Boolean; -Ljava/text/DateFormat;->serialVersionUID:J -Ljava/text/DateFormatSymbols;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/text/DateFormatSymbols;->serialVersionUID:J -Ljava/text/DateFormatSymbols;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/text/DecimalFormat;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/text/DecimalFormat;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/text/DecimalFormat;->serialVersionUID:J -Ljava/text/DecimalFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/text/DecimalFormatSymbols;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/text/DecimalFormatSymbols;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/text/DecimalFormatSymbols;->serialVersionUID:J -Ljava/text/DecimalFormatSymbols;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/text/Format$Field;->serialVersionUID:J -Ljava/text/Format;->serialVersionUID:J -Ljava/text/MessageFormat$Field;->serialVersionUID:J -Ljava/text/MessageFormat;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/text/MessageFormat;->serialVersionUID:J -Ljava/text/NumberFormat$Field;->serialVersionUID:J -Ljava/text/NumberFormat;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/text/NumberFormat;->serialVersionUID:J -Ljava/text/NumberFormat;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/text/ParseException;->serialVersionUID:J -Ljava/text/SimpleDateFormat;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/text/SimpleDateFormat;->serialVersionUID:J -Ljava/time/Clock$FixedClock;->serialVersionUID:J -Ljava/time/Clock$OffsetClock;->serialVersionUID:J -Ljava/time/Clock$SystemClock;->serialVersionUID:J -Ljava/time/Clock$TickClock;->serialVersionUID:J -Ljava/time/DateTimeException;->serialVersionUID:J -Ljava/time/Duration;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/Duration;->serialVersionUID:J -Ljava/time/Duration;->toSeconds()Ljava/math/BigDecimal; -Ljava/time/Duration;->writeReplace()Ljava/lang/Object; -Ljava/time/Instant;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/Instant;->serialVersionUID:J -Ljava/time/Instant;->writeReplace()Ljava/lang/Object; -Ljava/time/LocalDate;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/LocalDate;->serialVersionUID:J -Ljava/time/LocalDate;->writeReplace()Ljava/lang/Object; -Ljava/time/LocalDateTime;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/LocalDateTime;->serialVersionUID:J -Ljava/time/LocalDateTime;->writeReplace()Ljava/lang/Object; -Ljava/time/LocalTime;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/LocalTime;->serialVersionUID:J -Ljava/time/LocalTime;->writeReplace()Ljava/lang/Object; -Ljava/time/MonthDay;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/MonthDay;->serialVersionUID:J -Ljava/time/MonthDay;->writeReplace()Ljava/lang/Object; -Ljava/time/OffsetDateTime;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)V -Ljava/time/OffsetDateTime;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/OffsetDateTime;->serialVersionUID:J -Ljava/time/OffsetDateTime;->writeReplace()Ljava/lang/Object; -Ljava/time/OffsetTime;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/OffsetTime;->serialVersionUID:J -Ljava/time/OffsetTime;->writeReplace()Ljava/lang/Object; -Ljava/time/Period;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/Period;->serialVersionUID:J -Ljava/time/Period;->writeReplace()Ljava/lang/Object; -Ljava/time/Year;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/Year;->serialVersionUID:J -Ljava/time/Year;->writeReplace()Ljava/lang/Object; -Ljava/time/YearMonth;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/YearMonth;->serialVersionUID:J -Ljava/time/YearMonth;->writeReplace()Ljava/lang/Object; -Ljava/time/ZoneId;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/ZoneId;->serialVersionUID:J -Ljava/time/ZoneId;->writeReplace()Ljava/lang/Object; -Ljava/time/ZoneOffset;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/ZoneOffset;->serialVersionUID:J -Ljava/time/ZoneOffset;->writeReplace()Ljava/lang/Object; -Ljava/time/ZonedDateTime;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/ZonedDateTime;->serialVersionUID:J -Ljava/time/ZonedDateTime;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/AbstractChronology;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/AbstractChronology;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/ChronoLocalDateImpl;->serialVersionUID:J -Ljava/time/chrono/HijrahChronology;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/HijrahChronology;->serialVersionUID:J -Ljava/time/chrono/HijrahChronology;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/HijrahDate;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/HijrahDate;->serialVersionUID:J -Ljava/time/chrono/HijrahDate;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/IsoChronology;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/IsoChronology;->serialVersionUID:J -Ljava/time/chrono/IsoChronology;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/JapaneseChronology;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/JapaneseChronology;->serialVersionUID:J -Ljava/time/chrono/JapaneseChronology;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/JapaneseDate;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/JapaneseDate;->serialVersionUID:J -Ljava/time/chrono/JapaneseDate;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/JapaneseEra;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/JapaneseEra;->serialVersionUID:J -Ljava/time/chrono/JapaneseEra;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/MinguoChronology;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/MinguoChronology;->serialVersionUID:J -Ljava/time/chrono/MinguoChronology;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/MinguoDate;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/MinguoDate;->serialVersionUID:J -Ljava/time/chrono/MinguoDate;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/ThaiBuddhistChronology;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/ThaiBuddhistChronology;->serialVersionUID:J -Ljava/time/chrono/ThaiBuddhistChronology;->writeReplace()Ljava/lang/Object; -Ljava/time/chrono/ThaiBuddhistDate;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/chrono/ThaiBuddhistDate;->serialVersionUID:J -Ljava/time/chrono/ThaiBuddhistDate;->writeReplace()Ljava/lang/Object; -Ljava/time/format/DateTimeParseException;->serialVersionUID:J -Ljava/time/temporal/JulianFields$Field;->serialVersionUID:J -Ljava/time/temporal/UnsupportedTemporalTypeException;->serialVersionUID:J -Ljava/time/temporal/ValueRange;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/temporal/ValueRange;->serialVersionUID:J -Ljava/time/temporal/WeekFields;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/temporal/WeekFields;->readResolve()Ljava/lang/Object; -Ljava/time/temporal/WeekFields;->serialVersionUID:J -Ljava/time/zone/ZoneOffsetTransition;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/zone/ZoneOffsetTransition;->serialVersionUID:J -Ljava/time/zone/ZoneOffsetTransition;->writeReplace()Ljava/lang/Object; -Ljava/time/zone/ZoneOffsetTransitionRule;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/zone/ZoneOffsetTransitionRule;->serialVersionUID:J -Ljava/time/zone/ZoneOffsetTransitionRule;->writeReplace()Ljava/lang/Object; -Ljava/time/zone/ZoneRules;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/time/zone/ZoneRules;->serialVersionUID:J -Ljava/time/zone/ZoneRules;->writeReplace()Ljava/lang/Object; -Ljava/time/zone/ZoneRulesException;->serialVersionUID:J -Ljava/util/AbstractMap$SimpleEntry;->serialVersionUID:J -Ljava/util/AbstractMap$SimpleImmutableEntry;->serialVersionUID:J -Ljava/util/ArrayDeque;->elements:[Ljava/lang/Object; -Ljava/util/ArrayDeque;->head:I -Ljava/util/ArrayDeque;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/ArrayDeque;->serialVersionUID:J -Ljava/util/ArrayDeque;->tail:I -Ljava/util/ArrayDeque;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/ArrayList$SubList;->parent:Ljava/util/AbstractList; -Ljava/util/ArrayList$SubList;->parentOffset:I -Ljava/util/ArrayList$SubList;->size:I -Ljava/util/ArrayList;->elementData:[Ljava/lang/Object; -Ljava/util/ArrayList;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/ArrayList;->serialVersionUID:J -Ljava/util/ArrayList;->size:I -Ljava/util/ArrayList;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Arrays$ArrayList;->a:[Ljava/lang/Object; -Ljava/util/Arrays$ArrayList;->serialVersionUID:J -Ljava/util/BitSet;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/BitSet;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/util/BitSet;->serialVersionUID:J -Ljava/util/BitSet;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Calendar;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/Calendar;->serialVersionUID:J -Ljava/util/Calendar;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Calendar;->zone:Ljava/util/TimeZone; -Ljava/util/Collections$AsLIFOQueue;->serialVersionUID:J -Ljava/util/Collections$CheckedCollection;->serialVersionUID:J -Ljava/util/Collections$CheckedList;->serialVersionUID:J -Ljava/util/Collections$CheckedMap;->serialVersionUID:J -Ljava/util/Collections$CheckedNavigableMap;->serialVersionUID:J -Ljava/util/Collections$CheckedNavigableSet;->serialVersionUID:J -Ljava/util/Collections$CheckedQueue;->serialVersionUID:J -Ljava/util/Collections$CheckedRandomAccessList;->serialVersionUID:J -Ljava/util/Collections$CheckedSet;->serialVersionUID:J -Ljava/util/Collections$CheckedSortedMap;->serialVersionUID:J -Ljava/util/Collections$CheckedSortedSet;->serialVersionUID:J -Ljava/util/Collections$CopiesList;->serialVersionUID:J -Ljava/util/Collections$EmptyList;-><init>()V -Ljava/util/Collections$EmptyList;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$EmptyList;->serialVersionUID:J -Ljava/util/Collections$EmptyMap;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$EmptyMap;->serialVersionUID:J -Ljava/util/Collections$EmptySet;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$EmptySet;->serialVersionUID:J -Ljava/util/Collections$ReverseComparator2;->serialVersionUID:J -Ljava/util/Collections$ReverseComparator;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$ReverseComparator;->serialVersionUID:J -Ljava/util/Collections$SetFromMap;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/Collections$SetFromMap;->serialVersionUID:J -Ljava/util/Collections$SingletonList;->serialVersionUID:J -Ljava/util/Collections$SingletonMap;->serialVersionUID:J -Ljava/util/Collections$SingletonSet;->serialVersionUID:J -Ljava/util/Collections$SynchronizedCollection;->c:Ljava/util/Collection; -Ljava/util/Collections$SynchronizedCollection;->serialVersionUID:J -Ljava/util/Collections$SynchronizedCollection;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Collections$SynchronizedList;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$SynchronizedList;->serialVersionUID:J -Ljava/util/Collections$SynchronizedMap;->m:Ljava/util/Map; -Ljava/util/Collections$SynchronizedMap;->serialVersionUID:J -Ljava/util/Collections$SynchronizedMap;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Collections$SynchronizedNavigableMap;->serialVersionUID:J -Ljava/util/Collections$SynchronizedNavigableSet;->serialVersionUID:J -Ljava/util/Collections$SynchronizedRandomAccessList;->serialVersionUID:J -Ljava/util/Collections$SynchronizedRandomAccessList;->writeReplace()Ljava/lang/Object; -Ljava/util/Collections$SynchronizedSet;->serialVersionUID:J -Ljava/util/Collections$SynchronizedSortedMap;->serialVersionUID:J -Ljava/util/Collections$SynchronizedSortedSet;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableCollection;->c:Ljava/util/Collection; -Ljava/util/Collections$UnmodifiableCollection;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableList;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$UnmodifiableList;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableMap;->m:Ljava/util/Map; -Ljava/util/Collections$UnmodifiableMap;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$UnmodifiableNavigableMap$EmptyNavigableMap;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableNavigableMap;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableNavigableSet$EmptyNavigableSet;->readResolve()Ljava/lang/Object; -Ljava/util/Collections$UnmodifiableNavigableSet$EmptyNavigableSet;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableNavigableSet;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableRandomAccessList;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableRandomAccessList;->writeReplace()Ljava/lang/Object; -Ljava/util/Collections$UnmodifiableSet;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableSortedMap;->serialVersionUID:J -Ljava/util/Collections$UnmodifiableSortedSet;->serialVersionUID:J -Ljava/util/ConcurrentModificationException;->serialVersionUID:J -Ljava/util/Currency;->readResolve()Ljava/lang/Object; -Ljava/util/Currency;->serialVersionUID:J -Ljava/util/Date;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/Date;->serialVersionUID:J -Ljava/util/Date;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/DuplicateFormatFlagsException;->serialVersionUID:J -Ljava/util/EmptyStackException;->serialVersionUID:J -Ljava/util/EnumMap;->keyType:Ljava/lang/Class; -Ljava/util/EnumMap;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/EnumMap;->serialVersionUID:J -Ljava/util/EnumMap;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/EnumSet$SerializationProxy;->readResolve()Ljava/lang/Object; -Ljava/util/EnumSet$SerializationProxy;->serialVersionUID:J -Ljava/util/EnumSet;->elementType:Ljava/lang/Class; -Ljava/util/EnumSet;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/EnumSet;->writeReplace()Ljava/lang/Object; -Ljava/util/EventObject;->serialVersionUID:J -Ljava/util/FormatFlagsConversionMismatchException;->serialVersionUID:J -Ljava/util/FormatterClosedException;->serialVersionUID:J -Ljava/util/GregorianCalendar;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/GregorianCalendar;->serialVersionUID:J -Ljava/util/HashMap$HashIterator;->hasNext()Z -Ljava/util/HashMap;->modCount:I -Ljava/util/HashMap;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/HashMap;->serialVersionUID:J -Ljava/util/HashMap;->table:[Ljava/util/HashMap$Node; -Ljava/util/HashMap;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/HashSet;->map:Ljava/util/HashMap; -Ljava/util/HashSet;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/HashSet;->serialVersionUID:J -Ljava/util/HashSet;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Hashtable;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/Hashtable;->serialVersionUID:J -Ljava/util/Hashtable;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/IdentityHashMap;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/IdentityHashMap;->serialVersionUID:J -Ljava/util/IdentityHashMap;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/IllegalFormatCodePointException;->serialVersionUID:J -Ljava/util/IllegalFormatConversionException;->serialVersionUID:J -Ljava/util/IllegalFormatException;->serialVersionUID:J -Ljava/util/IllegalFormatFlagsException;->serialVersionUID:J -Ljava/util/IllegalFormatPrecisionException;->serialVersionUID:J -Ljava/util/IllegalFormatWidthException;->serialVersionUID:J -Ljava/util/IllformedLocaleException;->serialVersionUID:J -Ljava/util/InputMismatchException;->serialVersionUID:J -Ljava/util/InvalidPropertiesFormatException;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/InvalidPropertiesFormatException;->serialVersionUID:J -Ljava/util/InvalidPropertiesFormatException;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/LinkedHashMap$LinkedHashIterator;->hasNext()Z -Ljava/util/LinkedHashMap;->eldest()Ljava/util/Map$Entry; -Ljava/util/LinkedHashMap;->serialVersionUID:J -Ljava/util/LinkedHashSet;->serialVersionUID:J -Ljava/util/LinkedList;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/LinkedList;->serialVersionUID:J -Ljava/util/LinkedList;->size:I -Ljava/util/LinkedList;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Locale;->createConstant(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale; -Ljava/util/Locale;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/Locale;->readResolve()Ljava/lang/Object; -Ljava/util/Locale;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/util/Locale;->serialVersionUID:J -Ljava/util/Locale;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/MissingFormatArgumentException;->serialVersionUID:J -Ljava/util/MissingFormatWidthException;->serialVersionUID:J -Ljava/util/MissingResourceException;->serialVersionUID:J -Ljava/util/NoSuchElementException;->serialVersionUID:J -Ljava/util/PriorityQueue;->modCount:I -Ljava/util/PriorityQueue;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/PriorityQueue;->serialVersionUID:J -Ljava/util/PriorityQueue;->size:I -Ljava/util/PriorityQueue;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Properties;->serialVersionUID:J -Ljava/util/Random;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/Random;->seedUniquifier()J -Ljava/util/Random;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/util/Random;->serialVersionUID:J -Ljava/util/Random;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/ServiceConfigurationError;->serialVersionUID:J -Ljava/util/SimpleTimeZone;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/SimpleTimeZone;->serialVersionUID:J -Ljava/util/SimpleTimeZone;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/Stack;->serialVersionUID:J -Ljava/util/TimeZone;->serialVersionUID:J -Ljava/util/TooManyListenersException;->serialVersionUID:J -Ljava/util/TreeMap$AscendingSubMap;->serialVersionUID:J -Ljava/util/TreeMap$DescendingSubMap;->serialVersionUID:J -Ljava/util/TreeMap$NavigableSubMap;->serialVersionUID:J -Ljava/util/TreeMap$SubMap;->readResolve()Ljava/lang/Object; -Ljava/util/TreeMap$SubMap;->serialVersionUID:J -Ljava/util/TreeMap;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/TreeMap;->serialVersionUID:J -Ljava/util/TreeMap;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/TreeSet;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/TreeSet;->serialVersionUID:J -Ljava/util/TreeSet;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/UUID;->leastSigBits:J -Ljava/util/UUID;->mostSigBits:J -Ljava/util/UUID;->serialVersionUID:J -Ljava/util/UnknownFormatConversionException;->serialVersionUID:J -Ljava/util/UnknownFormatFlagsException;->serialVersionUID:J -Ljava/util/Vector;->elementData(I)Ljava/lang/Object; -Ljava/util/Vector;->serialVersionUID:J -Ljava/util/Vector;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/ArrayBlockingQueue;->serialVersionUID:J -Ljava/util/concurrent/BrokenBarrierException;->serialVersionUID:J -Ljava/util/concurrent/CancellationException;->serialVersionUID:J -Ljava/util/concurrent/CompletionException;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasMoreElements()Z -Ljava/util/concurrent/ConcurrentHashMap$CollectionView;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentHashMap$EntrySetView;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentHashMap$KeySetView;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentHashMap$Segment;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentHashMap$ValuesView;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentHashMap;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/ConcurrentHashMap;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/util/concurrent/ConcurrentHashMap;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentHashMap;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/ConcurrentLinkedDeque;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/ConcurrentLinkedDeque;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentLinkedDeque;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/ConcurrentLinkedQueue;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/ConcurrentLinkedQueue;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentLinkedQueue;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/ConcurrentSkipListMap$SubMap;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentSkipListMap;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/ConcurrentSkipListMap;->serialVersionUID:J -Ljava/util/concurrent/ConcurrentSkipListMap;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/ConcurrentSkipListSet;->serialVersionUID:J -Ljava/util/concurrent/CopyOnWriteArrayList;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/CopyOnWriteArrayList;->serialVersionUID:J -Ljava/util/concurrent/CopyOnWriteArrayList;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/CopyOnWriteArraySet;->al:Ljava/util/concurrent/CopyOnWriteArrayList; -Ljava/util/concurrent/CopyOnWriteArraySet;->serialVersionUID:J -Ljava/util/concurrent/CountDownLatch$Sync;->serialVersionUID:J -Ljava/util/concurrent/CountedCompleter;->serialVersionUID:J -Ljava/util/concurrent/ExecutionException;->serialVersionUID:J -Ljava/util/concurrent/Executors$RunnableAdapter;->task:Ljava/lang/Runnable; -Ljava/util/concurrent/ForkJoinPool$AuxState;->serialVersionUID:J -Ljava/util/concurrent/ForkJoinPool$EmptyTask;->serialVersionUID:J -Ljava/util/concurrent/ForkJoinTask$AdaptedCallable;->serialVersionUID:J -Ljava/util/concurrent/ForkJoinTask$AdaptedRunnable;->serialVersionUID:J -Ljava/util/concurrent/ForkJoinTask$AdaptedRunnableAction;->serialVersionUID:J -Ljava/util/concurrent/ForkJoinTask$RunnableExecuteAction;->serialVersionUID:J -Ljava/util/concurrent/ForkJoinTask;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/ForkJoinTask;->serialVersionUID:J -Ljava/util/concurrent/ForkJoinTask;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/FutureTask;->EXCEPTIONAL:I -Ljava/util/concurrent/FutureTask;->callable:Ljava/util/concurrent/Callable; -Ljava/util/concurrent/FutureTask;->outcome:Ljava/lang/Object; -Ljava/util/concurrent/FutureTask;->state:I -Ljava/util/concurrent/LinkedBlockingDeque;->first:Ljava/util/concurrent/LinkedBlockingDeque$Node; -Ljava/util/concurrent/LinkedBlockingDeque;->lock:Ljava/util/concurrent/locks/ReentrantLock; -Ljava/util/concurrent/LinkedBlockingDeque;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/LinkedBlockingDeque;->serialVersionUID:J -Ljava/util/concurrent/LinkedBlockingDeque;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/LinkedBlockingQueue;->capacity:I -Ljava/util/concurrent/LinkedBlockingQueue;->head:Ljava/util/concurrent/LinkedBlockingQueue$Node; -Ljava/util/concurrent/LinkedBlockingQueue;->putLock:Ljava/util/concurrent/locks/ReentrantLock; -Ljava/util/concurrent/LinkedBlockingQueue;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/LinkedBlockingQueue;->serialVersionUID:J -Ljava/util/concurrent/LinkedBlockingQueue;->takeLock:Ljava/util/concurrent/locks/ReentrantLock; -Ljava/util/concurrent/LinkedBlockingQueue;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/LinkedTransferQueue$Node;->serialVersionUID:J -Ljava/util/concurrent/LinkedTransferQueue;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/LinkedTransferQueue;->serialVersionUID:J -Ljava/util/concurrent/LinkedTransferQueue;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/PriorityBlockingQueue;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/PriorityBlockingQueue;->serialVersionUID:J -Ljava/util/concurrent/PriorityBlockingQueue;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/RecursiveAction;->serialVersionUID:J -Ljava/util/concurrent/RecursiveTask;->serialVersionUID:J -Ljava/util/concurrent/RejectedExecutionException;->serialVersionUID:J -Ljava/util/concurrent/Semaphore$FairSync;->serialVersionUID:J -Ljava/util/concurrent/Semaphore$NonfairSync;->serialVersionUID:J -Ljava/util/concurrent/Semaphore$Sync;->serialVersionUID:J -Ljava/util/concurrent/Semaphore;->serialVersionUID:J -Ljava/util/concurrent/SynchronousQueue$FifoWaitQueue;->serialVersionUID:J -Ljava/util/concurrent/SynchronousQueue$LifoWaitQueue;->serialVersionUID:J -Ljava/util/concurrent/SynchronousQueue;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/SynchronousQueue;->serialVersionUID:J -Ljava/util/concurrent/SynchronousQueue;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/ThreadLocalRandom;->readResolve()Ljava/lang/Object; -Ljava/util/concurrent/ThreadLocalRandom;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljava/util/concurrent/ThreadLocalRandom;->serialVersionUID:J -Ljava/util/concurrent/ThreadLocalRandom;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/concurrent/ThreadPoolExecutor$Worker;->serialVersionUID:J -Ljava/util/concurrent/ThreadPoolExecutor;->allowCoreThreadTimeOut:Z -Ljava/util/concurrent/TimeoutException;->serialVersionUID:J -Ljava/util/concurrent/atomic/AtomicBoolean;->serialVersionUID:J -Ljava/util/concurrent/atomic/AtomicInteger;->serialVersionUID:J -Ljava/util/concurrent/atomic/AtomicInteger;->value:I -Ljava/util/concurrent/atomic/AtomicIntegerArray;->serialVersionUID:J -Ljava/util/concurrent/atomic/AtomicLong;->serialVersionUID:J -Ljava/util/concurrent/atomic/AtomicLongArray;->serialVersionUID:J -Ljava/util/concurrent/atomic/AtomicReference;->serialVersionUID:J -Ljava/util/concurrent/atomic/AtomicReferenceArray;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/atomic/AtomicReferenceArray;->serialVersionUID:J -Ljava/util/concurrent/atomic/DoubleAccumulator$SerializationProxy;->readResolve()Ljava/lang/Object; -Ljava/util/concurrent/atomic/DoubleAccumulator$SerializationProxy;->serialVersionUID:J -Ljava/util/concurrent/atomic/DoubleAccumulator;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/atomic/DoubleAccumulator;->serialVersionUID:J -Ljava/util/concurrent/atomic/DoubleAccumulator;->writeReplace()Ljava/lang/Object; -Ljava/util/concurrent/atomic/DoubleAdder$SerializationProxy;->readResolve()Ljava/lang/Object; -Ljava/util/concurrent/atomic/DoubleAdder$SerializationProxy;->serialVersionUID:J -Ljava/util/concurrent/atomic/DoubleAdder;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/atomic/DoubleAdder;->serialVersionUID:J -Ljava/util/concurrent/atomic/DoubleAdder;->writeReplace()Ljava/lang/Object; -Ljava/util/concurrent/atomic/LongAccumulator$SerializationProxy;->readResolve()Ljava/lang/Object; -Ljava/util/concurrent/atomic/LongAccumulator$SerializationProxy;->serialVersionUID:J -Ljava/util/concurrent/atomic/LongAccumulator;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/atomic/LongAccumulator;->serialVersionUID:J -Ljava/util/concurrent/atomic/LongAccumulator;->writeReplace()Ljava/lang/Object; -Ljava/util/concurrent/atomic/LongAdder$SerializationProxy;->readResolve()Ljava/lang/Object; -Ljava/util/concurrent/atomic/LongAdder$SerializationProxy;->serialVersionUID:J -Ljava/util/concurrent/atomic/LongAdder;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/atomic/LongAdder;->serialVersionUID:J -Ljava/util/concurrent/atomic/LongAdder;->writeReplace()Ljava/lang/Object; -Ljava/util/concurrent/locks/AbstractOwnableSynchronizer;->serialVersionUID:J -Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;->serialVersionUID:J -Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;->serialVersionUID:J -Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->serialVersionUID:J -Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantLock$FairSync;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantLock$NonfairSync;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantLock$Sync;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/locks/ReentrantLock$Sync;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantLock;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->serialVersionUID:J -Ljava/util/concurrent/locks/ReentrantReadWriteLock;->serialVersionUID:J -Ljava/util/concurrent/locks/StampedLock;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/concurrent/locks/StampedLock;->serialVersionUID:J -Ljava/util/jar/JarException;->serialVersionUID:J -Ljava/util/jar/JarFile;->manifest:Ljava/util/jar/Manifest; -Ljava/util/jar/JarVerifier$VerifierCodeSource;->serialVersionUID:J -Ljava/util/logging/Level;->readResolve()Ljava/lang/Object; -Ljava/util/logging/Level;->serialVersionUID:J -Ljava/util/logging/LogRecord;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/logging/LogRecord;->serialVersionUID:J -Ljava/util/logging/LogRecord;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/prefs/AbstractPreferences$NodeAddedEvent;->serialVersionUID:J -Ljava/util/prefs/AbstractPreferences$NodeRemovedEvent;->serialVersionUID:J -Ljava/util/prefs/BackingStoreException;->serialVersionUID:J -Ljava/util/prefs/InvalidPreferencesFormatException;->serialVersionUID:J -Ljava/util/prefs/NodeChangeEvent;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/prefs/NodeChangeEvent;->serialVersionUID:J -Ljava/util/prefs/NodeChangeEvent;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/prefs/PreferenceChangeEvent;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/prefs/PreferenceChangeEvent;->serialVersionUID:J -Ljava/util/prefs/PreferenceChangeEvent;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljava/util/regex/Matcher;->appendPos:I -Ljava/util/regex/Pattern;->readObject(Ljava/io/ObjectInputStream;)V -Ljava/util/regex/Pattern;->serialVersionUID:J -Ljava/util/regex/PatternSyntaxException;->serialVersionUID:J -Ljava/util/zip/DataFormatException;->serialVersionUID:J -Ljava/util/zip/Deflater;->buf:[B -Ljava/util/zip/Deflater;->finish:Z -Ljava/util/zip/Deflater;->finished:Z -Ljava/util/zip/Deflater;->len:I -Ljava/util/zip/Deflater;->level:I -Ljava/util/zip/Deflater;->off:I -Ljava/util/zip/Deflater;->setParams:Z -Ljava/util/zip/Deflater;->strategy:I -Ljava/util/zip/Inflater;->buf:[B -Ljava/util/zip/Inflater;->finished:Z -Ljava/util/zip/Inflater;->len:I -Ljava/util/zip/Inflater;->needDict:Z -Ljava/util/zip/Inflater;->off:I -Ljava/util/zip/ZipEntry;-><init>(Ljava/lang/String;Ljava/lang/String;JJJII[BJ)V -Ljava/util/zip/ZipError;->serialVersionUID:J -Ljava/util/zip/ZipException;->serialVersionUID:J -Ljava/util/zip/ZipFile;->jzfile:J -Ljavax/crypto/AEADBadTagException;->serialVersionUID:J -Ljavax/crypto/BadPaddingException;->serialVersionUID:J -Ljavax/crypto/ExemptionMechanismException;->serialVersionUID:J -Ljavax/crypto/IllegalBlockSizeException;->serialVersionUID:J -Ljavax/crypto/NoSuchPaddingException;->serialVersionUID:J -Ljavax/crypto/SealedObject;->readObject(Ljava/io/ObjectInputStream;)V -Ljavax/crypto/SealedObject;->serialVersionUID:J -Ljavax/crypto/ShortBufferException;->serialVersionUID:J -Ljavax/crypto/spec/SecretKeySpec;->serialVersionUID:J -Ljavax/net/ssl/HandshakeCompletedEvent;->serialVersionUID:J -Ljavax/net/ssl/SSLException;->serialVersionUID:J -Ljavax/net/ssl/SSLHandshakeException;->serialVersionUID:J -Ljavax/net/ssl/SSLKeyException;->serialVersionUID:J -Ljavax/net/ssl/SSLPeerUnverifiedException;->serialVersionUID:J -Ljavax/net/ssl/SSLProtocolException;->serialVersionUID:J -Ljavax/net/ssl/SSLServerSocketFactory;->defaultServerSocketFactory:Ljavax/net/ssl/SSLServerSocketFactory; -Ljavax/net/ssl/SSLSessionBindingEvent;->serialVersionUID:J -Ljavax/net/ssl/SSLSocketFactory;->defaultSocketFactory:Ljavax/net/ssl/SSLSocketFactory; -Ljavax/security/auth/DestroyFailedException;->serialVersionUID:J -Ljavax/security/auth/Subject$SecureSet;->readObject(Ljava/io/ObjectInputStream;)V -Ljavax/security/auth/Subject$SecureSet;->serialPersistentFields:[Ljava/io/ObjectStreamField; -Ljavax/security/auth/Subject$SecureSet;->serialVersionUID:J -Ljavax/security/auth/Subject$SecureSet;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljavax/security/auth/Subject;->readObject(Ljava/io/ObjectInputStream;)V -Ljavax/security/auth/Subject;->serialVersionUID:J -Ljavax/security/auth/Subject;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljavax/security/auth/callback/PasswordCallback;->serialVersionUID:J -Ljavax/security/auth/callback/UnsupportedCallbackException;->serialVersionUID:J -Ljavax/security/auth/login/LoginException;->serialVersionUID:J -Ljavax/security/auth/x500/X500Principal;->readObject(Ljava/io/ObjectInputStream;)V -Ljavax/security/auth/x500/X500Principal;->serialVersionUID:J -Ljavax/security/auth/x500/X500Principal;->writeObject(Ljava/io/ObjectOutputStream;)V -Ljavax/security/cert/CertificateEncodingException;->serialVersionUID:J -Ljavax/security/cert/CertificateException;->serialVersionUID:J -Ljavax/security/cert/CertificateExpiredException;->serialVersionUID:J -Ljavax/security/cert/CertificateNotYetValidException;->serialVersionUID:J -Ljavax/security/cert/CertificateParsingException;->serialVersionUID:J -Ljavax/sql/ConnectionEvent;->serialVersionUID:J -Ljavax/sql/RowSetEvent;->serialVersionUID:J -Ljavax/xml/datatype/DatatypeConfigurationException;->readObject(Ljava/io/ObjectInputStream;)V -Ljavax/xml/datatype/DatatypeConfigurationException;->serialVersionUID:J -Ljavax/xml/namespace/QName;->readObject(Ljava/io/ObjectInputStream;)V -Ljavax/xml/namespace/QName;->serialVersionUID:J -Ljavax/xml/transform/TransformerException;->serialVersionUID:J -Ljavax/xml/xpath/XPathException;->serialVersionUID:J -Ljavax/xml/xpath/XPathExpressionException;->serialVersionUID:J -Ljavax/xml/xpath/XPathFactoryConfigurationException;->serialVersionUID:J -Ljavax/xml/xpath/XPathFunctionException;->serialVersionUID:J -Llibcore/util/BasicLruCache;->map:Ljava/util/LinkedHashMap; -Llibcore/util/ZoneInfo;->mTransitions:[J -Llibcore/util/ZoneInfo;->readObject(Ljava/io/ObjectInputStream;)V -Llibcore/util/ZoneInfo;->serialVersionUID:J -Lorg/apache/http/conn/ConnectTimeoutException;->serialVersionUID:J -Lorg/apache/http/conn/ssl/SSLSocketFactory;-><init>()V -Lorg/apache/http/conn/ssl/SSLSocketFactory;-><init>(Ljavax/net/ssl/SSLSocketFactory;)V -Lorg/ccil/cowan/tagsoup/AttributesImpl;->data:[Ljava/lang/String; -Lorg/ccil/cowan/tagsoup/AttributesImpl;->length:I -Lorg/json/JSONArray;->values:Ljava/util/List; -Lorg/json/JSONObject;->append(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject; -Lorg/json/JSONObject;->keySet()Ljava/util/Set; -Lorg/json/JSONObject;->writeTo(Lorg/json/JSONStringer;)V -Lorg/w3c/dom/traversal/NodeIterator;->nextNode()Lorg/w3c/dom/Node; -Lsun/misc/Unsafe;->theUnsafe:Lsun/misc/Unsafe; -Lsun/security/pkcs/ParsingException;->serialVersionUID:J -Lsun/security/util/ObjectIdentifier$HugeOidNotSupportedByOldJDK;->serialVersionUID:J -Lsun/security/util/ObjectIdentifier;->readObject(Ljava/io/ObjectInputStream;)V -Lsun/security/util/ObjectIdentifier;->serialVersionUID:J -Lsun/security/util/ObjectIdentifier;->writeObject(Ljava/io/ObjectOutputStream;)V -Lsun/security/x509/AlgorithmId;->serialVersionUID:J -Lsun/util/locale/LocaleSyntaxException;->serialVersionUID:J diff --git a/config/hiddenapi-vendor-list.txt b/config/hiddenapi-vendor-list.txt index 266e79387ad0..f808bcbfd18e 100644 --- a/config/hiddenapi-vendor-list.txt +++ b/config/hiddenapi-vendor-list.txt @@ -114,14 +114,7 @@ Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V Landroid/os/RegistrantList;->removeCleared()V Landroid/os/RemoteException;->rethrowFromSystemServer()Ljava/lang/RuntimeException; Landroid/os/ServiceSpecificException;->errorCode:I -Landroid/os/storage/DiskInfo;->getId()Ljava/lang/String; Landroid/os/storage/StorageEventListener;-><init>()V -Landroid/os/storage/StorageManager;->findVolumeById(Ljava/lang/String;)Landroid/os/storage/VolumeInfo; -Landroid/os/storage/StorageManager;->from(Landroid/content/Context;)Landroid/os/storage/StorageManager; -Landroid/os/storage/StorageManager;->registerListener(Landroid/os/storage/StorageEventListener;)V -Landroid/os/storage/StorageManager;->unregisterListener(Landroid/os/storage/StorageEventListener;)V -Landroid/os/storage/StorageVolume;->getId()Ljava/lang/String; -Landroid/os/storage/VolumeInfo;->getId()Ljava/lang/String; Landroid/os/SystemProperties;->reportSyspropChanged()V Landroid/os/SystemService;->start(Ljava/lang/String;)V Landroid/os/SystemService;->stop(Ljava/lang/String;)V @@ -261,17 +254,7 @@ Lcom/android/internal/location/ILocationProvider;->sendExtraCommand(Ljava/lang/S Lcom/android/internal/location/ILocationProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V Lcom/android/internal/R$styleable;->NumberPicker:[I Lcom/android/internal/R$styleable;->TwoLineListItem:[I -Lcom/android/internal/telephony/GsmAlphabet;->gsm7BitPackedToString([BII)Ljava/lang/String; -Lcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPacked(Ljava/lang/String;)[B Lcom/android/internal/telephony/ITelephony;->getDataEnabled(I)Z -Lcom/android/internal/telephony/OperatorInfo$State;->CURRENT:Lcom/android/internal/telephony/OperatorInfo$State; -Lcom/android/internal/telephony/OperatorInfo$State;->FORBIDDEN:Lcom/android/internal/telephony/OperatorInfo$State; -Lcom/android/internal/telephony/OperatorInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V -Lcom/android/internal/telephony/OperatorInfo;->CREATOR:Landroid/os/Parcelable$Creator; -Lcom/android/internal/telephony/OperatorInfo;->getOperatorAlphaLong()Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->getOperatorAlphaShort()Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->getOperatorNumeric()Ljava/lang/String; -Lcom/android/internal/telephony/OperatorInfo;->getState()Lcom/android/internal/telephony/OperatorInfo$State; Ljava/lang/System;->arraycopy([BI[BII)V Ljava/net/Inet4Address;->ALL:Ljava/net/InetAddress; Ljava/net/Inet4Address;->ANY:Ljava/net/InetAddress; diff --git a/core/java/android/app/servertransaction/ActivityResultItem.java b/core/java/android/app/servertransaction/ActivityResultItem.java index e57f585d2022..bab17dc6b80f 100644 --- a/core/java/android/app/servertransaction/ActivityResultItem.java +++ b/core/java/android/app/servertransaction/ActivityResultItem.java @@ -18,6 +18,7 @@ package android.app.servertransaction; import static android.os.Trace.TRACE_TAG_ACTIVITY_MANAGER; +import android.annotation.UnsupportedAppUsage; import android.app.ClientTransactionHandler; import android.app.ResultInfo; import android.os.IBinder; @@ -34,6 +35,7 @@ import java.util.Objects; */ public class ActivityResultItem extends ClientTransactionItem { + @UnsupportedAppUsage private List<ResultInfo> mResultInfoList; /* TODO(b/78294732) diff --git a/core/java/android/app/servertransaction/ClientTransaction.java b/core/java/android/app/servertransaction/ClientTransaction.java index 08ad2f055774..c38a133b239d 100644 --- a/core/java/android/app/servertransaction/ClientTransaction.java +++ b/core/java/android/app/servertransaction/ClientTransaction.java @@ -17,6 +17,7 @@ package android.app.servertransaction; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.app.ClientTransactionHandler; import android.app.IApplicationThread; import android.os.IBinder; @@ -42,6 +43,7 @@ import java.util.Objects; public class ClientTransaction implements Parcelable, ObjectPoolItem { /** A list of individual callbacks to a client. */ + @UnsupportedAppUsage private List<ClientTransactionItem> mActivityCallbacks; /** @@ -74,18 +76,21 @@ public class ClientTransaction implements Parcelable, ObjectPoolItem { /** Get the list of callbacks. */ @Nullable + @UnsupportedAppUsage List<ClientTransactionItem> getCallbacks() { return mActivityCallbacks; } /** Get the target activity. */ @Nullable + @UnsupportedAppUsage public IBinder getActivityToken() { return mActivityToken; } /** Get the target state lifecycle request. */ @VisibleForTesting + @UnsupportedAppUsage public ActivityLifecycleItem getLifecycleStateRequest() { return mLifecycleStateRequest; } diff --git a/core/java/android/app/servertransaction/LaunchActivityItem.java b/core/java/android/app/servertransaction/LaunchActivityItem.java index 6bae3595be4d..ed793bfae41a 100644 --- a/core/java/android/app/servertransaction/LaunchActivityItem.java +++ b/core/java/android/app/servertransaction/LaunchActivityItem.java @@ -18,6 +18,7 @@ package android.app.servertransaction; import static android.os.Trace.TRACE_TAG_ACTIVITY_MANAGER; +import android.annotation.UnsupportedAppUsage; import android.app.ActivityThread.ActivityClientRecord; import android.app.ClientTransactionHandler; import android.app.ProfilerInfo; @@ -45,8 +46,10 @@ import java.util.Objects; */ public class LaunchActivityItem extends ClientTransactionItem { + @UnsupportedAppUsage private Intent mIntent; private int mIdent; + @UnsupportedAppUsage private ActivityInfo mInfo; private Configuration mCurConfig; private Configuration mOverrideConfig; diff --git a/core/java/android/app/servertransaction/NewIntentItem.java b/core/java/android/app/servertransaction/NewIntentItem.java index e5ce3b00c0fd..4f28cd2d58d7 100644 --- a/core/java/android/app/servertransaction/NewIntentItem.java +++ b/core/java/android/app/servertransaction/NewIntentItem.java @@ -16,6 +16,7 @@ package android.app.servertransaction; +import android.annotation.UnsupportedAppUsage; import android.app.ClientTransactionHandler; import android.os.IBinder; import android.os.Parcel; @@ -33,6 +34,7 @@ import java.util.Objects; */ public class NewIntentItem extends ClientTransactionItem { + @UnsupportedAppUsage private List<ReferrerIntent> mIntents; private boolean mPause; diff --git a/core/java/android/bluetooth/le/ScanFilter.java b/core/java/android/bluetooth/le/ScanFilter.java index c3fae7d470a3..c5d435b76139 100644 --- a/core/java/android/bluetooth/le/ScanFilter.java +++ b/core/java/android/bluetooth/le/ScanFilter.java @@ -58,6 +58,11 @@ public final class ScanFilter implements Parcelable { private final ParcelUuid mServiceUuidMask; @Nullable + private final ParcelUuid mServiceSolicitationUuid; + @Nullable + private final ParcelUuid mServiceSolicitationUuidMask; + + @Nullable private final ParcelUuid mServiceDataUuid; @Nullable private final byte[] mServiceData; @@ -75,12 +80,15 @@ public final class ScanFilter implements Parcelable { private ScanFilter(String name, String deviceAddress, ParcelUuid uuid, - ParcelUuid uuidMask, ParcelUuid serviceDataUuid, + ParcelUuid uuidMask, ParcelUuid solicitationUuid, + ParcelUuid solicitationUuidMask, ParcelUuid serviceDataUuid, byte[] serviceData, byte[] serviceDataMask, int manufacturerId, byte[] manufacturerData, byte[] manufacturerDataMask) { mDeviceName = name; mServiceUuid = uuid; mServiceUuidMask = uuidMask; + mServiceSolicitationUuid = solicitationUuid; + mServiceSolicitationUuidMask = solicitationUuidMask; mDeviceAddress = deviceAddress; mServiceDataUuid = serviceDataUuid; mServiceData = serviceData; @@ -113,6 +121,14 @@ public final class ScanFilter implements Parcelable { dest.writeParcelable(mServiceUuidMask, flags); } } + dest.writeInt(mServiceSolicitationUuid == null ? 0 : 1); + if (mServiceSolicitationUuid != null) { + dest.writeParcelable(mServiceSolicitationUuid, flags); + dest.writeInt(mServiceSolicitationUuidMask == null ? 0 : 1); + if (mServiceSolicitationUuidMask != null) { + dest.writeParcelable(mServiceSolicitationUuidMask, flags); + } + } dest.writeInt(mServiceDataUuid == null ? 0 : 1); if (mServiceDataUuid != null) { dest.writeParcelable(mServiceDataUuid, flags); @@ -172,6 +188,17 @@ public final class ScanFilter implements Parcelable { } } if (in.readInt() == 1) { + ParcelUuid solicitationUuid = in.readParcelable( + ParcelUuid.class.getClassLoader()); + builder.setServiceSolicitationUuid(solicitationUuid); + if (in.readInt() == 1) { + ParcelUuid solicitationUuidMask = in.readParcelable( + ParcelUuid.class.getClassLoader()); + builder.setServiceSolicitationUuid(solicitationUuid, + solicitationUuidMask); + } + } + if (in.readInt() == 1) { ParcelUuid servcieDataUuid = in.readParcelable(ParcelUuid.class.getClassLoader()); if (in.readInt() == 1) { @@ -231,6 +258,22 @@ public final class ScanFilter implements Parcelable { return mServiceUuidMask; } + /** + * Returns the filter set on the service Solicitation uuid. + */ + @Nullable + public ParcelUuid getServiceSolicitationUuid() { + return mServiceSolicitationUuid; + } + + /** + * Returns the filter set on the service Solicitation uuid mask. + */ + @Nullable + public ParcelUuid getServiceSolicitationUuidMask() { + return mServiceSolicitationUuidMask; + } + @Nullable public String getDeviceAddress() { return mDeviceAddress; @@ -288,7 +331,7 @@ public final class ScanFilter implements Parcelable { // Scan record is null but there exist filters on it. if (scanRecord == null && (mDeviceName != null || mServiceUuid != null || mManufacturerData != null - || mServiceData != null)) { + || mServiceData != null || mServiceSolicitationUuid != null)) { return false; } @@ -303,6 +346,13 @@ public final class ScanFilter implements Parcelable { return false; } + // solicitation UUID match. + if (mServiceSolicitationUuid != null && !matchesServiceSolicitationUuids( + mServiceSolicitationUuid, mServiceSolicitationUuidMask, + scanRecord.getServiceSolicitationUuids())) { + return false; + } + // Service data match if (mServiceDataUuid != null) { if (!matchesPartialData(mServiceData, mServiceDataMask, @@ -350,6 +400,36 @@ public final class ScanFilter implements Parcelable { return BitUtils.maskedEquals(data, uuid, mask); } + /** + * Check if the solicitation uuid pattern is contained in a list of parcel uuids. + * + */ + private static boolean matchesServiceSolicitationUuids(ParcelUuid solicitationUuid, + ParcelUuid parcelSolicitationUuidMask, List<ParcelUuid> solicitationUuids) { + if (solicitationUuid == null) { + return true; + } + if (solicitationUuids == null) { + return false; + } + + for (ParcelUuid parcelSolicitationUuid : solicitationUuids) { + UUID solicitationUuidMask = parcelSolicitationUuidMask == null + ? null : parcelSolicitationUuidMask.getUuid(); + if (matchesServiceUuid(solicitationUuid.getUuid(), solicitationUuidMask, + parcelSolicitationUuid.getUuid())) { + return true; + } + } + return false; + } + + // Check if the solicitation uuid pattern matches the particular service solicitation uuid. + private static boolean matchesServiceSolicitationUuid(UUID solicitationUuid, + UUID solicitationUuidMask, UUID data) { + return BitUtils.maskedEquals(data, solicitationUuid, solicitationUuidMask); + } + // Check whether the data pattern matches the parsed data. private boolean matchesPartialData(byte[] data, byte[] dataMask, byte[] parsedData) { if (parsedData == null || parsedData.length < data.length) { @@ -376,6 +456,8 @@ public final class ScanFilter implements Parcelable { return "BluetoothLeScanFilter [mDeviceName=" + mDeviceName + ", mDeviceAddress=" + mDeviceAddress + ", mUuid=" + mServiceUuid + ", mUuidMask=" + mServiceUuidMask + + ", mServiceSolicitationUuid=" + mServiceSolicitationUuid + + ", mServiceSolicitationUuidMask=" + mServiceSolicitationUuidMask + ", mServiceDataUuid=" + Objects.toString(mServiceDataUuid) + ", mServiceData=" + Arrays.toString(mServiceData) + ", mServiceDataMask=" + Arrays.toString(mServiceDataMask) + ", mManufacturerId=" + mManufacturerId @@ -391,7 +473,8 @@ public final class ScanFilter implements Parcelable { mServiceDataUuid, Arrays.hashCode(mServiceData), Arrays.hashCode(mServiceDataMask), - mServiceUuid, mServiceUuidMask); + mServiceUuid, mServiceUuidMask, + mServiceSolicitationUuid, mServiceSolicitationUuidMask); } @Override @@ -412,7 +495,10 @@ public final class ScanFilter implements Parcelable { && Objects.deepEquals(mServiceData, other.mServiceData) && Objects.deepEquals(mServiceDataMask, other.mServiceDataMask) && Objects.equals(mServiceUuid, other.mServiceUuid) - && Objects.equals(mServiceUuidMask, other.mServiceUuidMask); + && Objects.equals(mServiceUuidMask, other.mServiceUuidMask) + && Objects.equals(mServiceSolicitationUuid, other.mServiceSolicitationUuid) + && Objects.equals(mServiceSolicitationUuidMask, + other.mServiceSolicitationUuidMask); } /** @@ -435,6 +521,9 @@ public final class ScanFilter implements Parcelable { private ParcelUuid mServiceUuid; private ParcelUuid mUuidMask; + private ParcelUuid mServiceSolicitationUuid; + private ParcelUuid mServiceSolicitationUuidMask; + private ParcelUuid mServiceDataUuid; private byte[] mServiceData; private byte[] mServiceDataMask; @@ -493,6 +582,36 @@ public final class ScanFilter implements Parcelable { return this; } + + /** + * Set filter on service solicitation uuid. + */ + public Builder setServiceSolicitationUuid(ParcelUuid serviceSolicitationUuid) { + mServiceSolicitationUuid = serviceSolicitationUuid; + return this; + } + + + /** + * Set filter on partial service Solicitation uuid. The {@code SolicitationUuidMask} is the + * bit mask for the {@code serviceSolicitationUuid}. Set any bit in the mask to 1 to + * indicate a match is needed for the bit in {@code serviceSolicitationUuid}, and 0 to + * ignore that bit. + * + * @throws IllegalArgumentException If {@code serviceSolicitationUuid} is {@code null} but + * {@code serviceSolicitationUuidMask} is not {@code null}. + */ + public Builder setServiceSolicitationUuid(ParcelUuid serviceSolicitationUuid, + ParcelUuid solicitationUuidMask) { + if (mServiceSolicitationUuidMask != null && mServiceSolicitationUuid == null) { + throw new IllegalArgumentException( + "SolicitationUuid is null while SolicitationUuidMask is not null!"); + } + mServiceSolicitationUuid = serviceSolicitationUuid; + mServiceSolicitationUuidMask = solicitationUuidMask; + return this; + } + /** * Set filtering on service data. * @@ -598,7 +717,8 @@ public final class ScanFilter implements Parcelable { */ public ScanFilter build() { return new ScanFilter(mDeviceName, mDeviceAddress, - mServiceUuid, mUuidMask, + mServiceUuid, mUuidMask, mServiceSolicitationUuid, + mServiceSolicitationUuidMask, mServiceDataUuid, mServiceData, mServiceDataMask, mManufacturerId, mManufacturerData, mManufacturerDataMask); } diff --git a/core/java/android/bluetooth/le/ScanRecord.java b/core/java/android/bluetooth/le/ScanRecord.java index 07ed18d90ee6..7988008f03c0 100644 --- a/core/java/android/bluetooth/le/ScanRecord.java +++ b/core/java/android/bluetooth/le/ScanRecord.java @@ -51,6 +51,9 @@ public final class ScanRecord { private static final int DATA_TYPE_SERVICE_DATA_16_BIT = 0x16; private static final int DATA_TYPE_SERVICE_DATA_32_BIT = 0x20; private static final int DATA_TYPE_SERVICE_DATA_128_BIT = 0x21; + private static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT = 0x14; + private static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT = 0x1F; + private static final int DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT = 0x15; private static final int DATA_TYPE_MANUFACTURER_SPECIFIC_DATA = 0xFF; // Flags of the advertising data. @@ -58,6 +61,8 @@ public final class ScanRecord { @Nullable private final List<ParcelUuid> mServiceUuids; + @Nullable + private final List<ParcelUuid> mServiceSolicitationUuids; private final SparseArray<byte[]> mManufacturerSpecificData; @@ -89,6 +94,15 @@ public final class ScanRecord { } /** + * Returns a list of service solicitation UUIDs within the advertisement that are used to + * identify the Bluetooth GATT services. + */ + @Nullable + public List<ParcelUuid> getServiceSolicitationUuids() { + return mServiceSolicitationUuids; + } + + /** * Returns a sparse array of manufacturer identifier and its corresponding manufacturer specific * data. */ @@ -151,10 +165,12 @@ public final class ScanRecord { } private ScanRecord(List<ParcelUuid> serviceUuids, + List<ParcelUuid> serviceSolicitationUuids, SparseArray<byte[]> manufacturerData, Map<ParcelUuid, byte[]> serviceData, int advertiseFlags, int txPowerLevel, String localName, byte[] bytes) { + mServiceSolicitationUuids = serviceSolicitationUuids; mServiceUuids = serviceUuids; mManufacturerSpecificData = manufacturerData; mServiceData = serviceData; @@ -184,6 +200,7 @@ public final class ScanRecord { int currentPos = 0; int advertiseFlag = -1; List<ParcelUuid> serviceUuids = new ArrayList<ParcelUuid>(); + List<ParcelUuid> serviceSolicitationUuids = new ArrayList<ParcelUuid>(); String localName = null; int txPowerLevel = Integer.MIN_VALUE; @@ -220,6 +237,18 @@ public final class ScanRecord { parseServiceUuid(scanRecord, currentPos, dataLength, BluetoothUuid.UUID_BYTES_128_BIT, serviceUuids); break; + case DATA_TYPE_SERVICE_SOLICITATION_UUIDS_16_BIT: + parseServiceSolicitationUuid(scanRecord, currentPos, dataLength, + BluetoothUuid.UUID_BYTES_16_BIT, serviceSolicitationUuids); + break; + case DATA_TYPE_SERVICE_SOLICITATION_UUIDS_32_BIT: + parseServiceSolicitationUuid(scanRecord, currentPos, dataLength, + BluetoothUuid.UUID_BYTES_32_BIT, serviceSolicitationUuids); + break; + case DATA_TYPE_SERVICE_SOLICITATION_UUIDS_128_BIT: + parseServiceSolicitationUuid(scanRecord, currentPos, dataLength, + BluetoothUuid.UUID_BYTES_128_BIT, serviceSolicitationUuids); + break; case DATA_TYPE_LOCAL_NAME_SHORT: case DATA_TYPE_LOCAL_NAME_COMPLETE: localName = new String( @@ -265,19 +294,23 @@ public final class ScanRecord { if (serviceUuids.isEmpty()) { serviceUuids = null; } - return new ScanRecord(serviceUuids, manufacturerData, serviceData, - advertiseFlag, txPowerLevel, localName, scanRecord); + if (serviceSolicitationUuids.isEmpty()) { + serviceSolicitationUuids = null; + } + return new ScanRecord(serviceUuids, serviceSolicitationUuids, manufacturerData, + serviceData, advertiseFlag, txPowerLevel, localName, scanRecord); } catch (Exception e) { Log.e(TAG, "unable to parse scan record: " + Arrays.toString(scanRecord)); // As the record is invalid, ignore all the parsed results for this packet // and return an empty record with raw scanRecord bytes in results - return new ScanRecord(null, null, null, -1, Integer.MIN_VALUE, null, scanRecord); + return new ScanRecord(null, null, null, null, -1, Integer.MIN_VALUE, null, scanRecord); } } @Override public String toString() { return "ScanRecord [mAdvertiseFlags=" + mAdvertiseFlags + ", mServiceUuids=" + mServiceUuids + + ", mServiceSolicitationUuids=" + mServiceSolicitationUuids + ", mManufacturerSpecificData=" + BluetoothLeUtils.toString( mManufacturerSpecificData) + ", mServiceData=" + BluetoothLeUtils.toString(mServiceData) @@ -297,6 +330,20 @@ public final class ScanRecord { return currentPos; } + /** + * Parse service Solicitation UUIDs. + */ + private static int parseServiceSolicitationUuid(byte[] scanRecord, int currentPos, + int dataLength, int uuidLength, List<ParcelUuid> serviceSolicitationUuids) { + while (dataLength > 0) { + byte[] uuidBytes = extractBytes(scanRecord, currentPos, uuidLength); + serviceSolicitationUuids.add(BluetoothUuid.parseUuidFrom(uuidBytes)); + dataLength -= uuidLength; + currentPos += uuidLength; + } + return currentPos; + } + // Helper method to extract bytes from byte array. private static byte[] extractBytes(byte[] scanRecord, int start, int length) { byte[] bytes = new byte[length]; diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index d2611563d0aa..243d7d8121c0 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -1001,6 +1001,13 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { public String appComponentFactory; /** + * Indicates whether this package requires access to non-SDK APIs. Only system apps + * and tests are allowed to use this property. + * @hide + */ + public boolean usesNonSdkApi; + + /** * The category of this app. Categories are used to cluster multiple apps * together into meaningful groups, such as when summarizing battery, * network, or disk usage. Apps should only define this value when they fit @@ -1698,8 +1705,13 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { } private boolean isAllowedToUseHiddenApis() { - return isSignedWithPlatformKey() - || (isPackageWhitelistedForHiddenApis() && (isSystemApp() || isUpdatedSystemApp())); + if (isSignedWithPlatformKey()) { + return true; + } else if (isSystemApp() || isUpdatedSystemApp()) { + return usesNonSdkApi || isPackageWhitelistedForHiddenApis(); + } else { + return false; + } } /** diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java index 89a72c96ec64..b7be5a7ced2d 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -3580,6 +3580,9 @@ public class PackageParser { ai.appComponentFactory = buildClassName(ai.packageName, factory, outError); } + ai.usesNonSdkApi = sa.getBoolean( + com.android.internal.R.styleable.AndroidManifestApplication_usesNonSdkApi, false); + if (outError[0] == null) { CharSequence pname; if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.FROYO) { diff --git a/core/java/android/hardware/OWNERS b/core/java/android/hardware/OWNERS index b8fea556e4c5..29a339a7d286 100644 --- a/core/java/android/hardware/OWNERS +++ b/core/java/android/hardware/OWNERS @@ -1,7 +1,2 @@ # Camera -per-file *Camera* = cychen@google.com -per-file *Camera* = epeev@google.com -per-file *Camera* = etalvala@google.com -per-file *Camera* = shuzhenwang@google.com -per-file *Camera* = yinchiayeh@google.com -per-file *Camera* = zhijunhe@google.com +per-file *Camera* = cychen@google.com,epeev@google.com,etalvala@google.com,shuzhenwang@google.com,yinchiayeh@google.com,zhijunhe@google.com diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index fb916d38f3ba..ce1879620ce3 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -3840,7 +3840,7 @@ public class ConnectivityManager { @UnsupportedAppUsage public static boolean setProcessDefaultNetworkForHostResolution(Network network) { return NetworkUtils.bindProcessToNetworkForHostResolution( - network == null ? NETID_UNSET : network.netId); + (network == null) ? NETID_UNSET : network.getNetIdForResolv()); } /** diff --git a/core/java/android/net/Network.java b/core/java/android/net/Network.java index 142023d40c0e..bf2344d4a9f6 100644 --- a/core/java/android/net/Network.java +++ b/core/java/android/net/Network.java @@ -100,21 +100,29 @@ public class Network implements Parcelable { // anytime and (b) receivers should be explicit about attempts to bypass // Private DNS so that the intent of the code is easily determined and // code search audits are possible. - private boolean mPrivateDnsBypass = false; + private final transient boolean mPrivateDnsBypass; /** * @hide */ @UnsupportedAppUsage public Network(int netId) { + this(netId, false); + } + + /** + * @hide + */ + public Network(int netId, boolean privateDnsBypass) { this.netId = netId; + this.mPrivateDnsBypass = privateDnsBypass; } /** * @hide */ public Network(Network that) { - this.netId = that.netId; + this(that.netId, that.mPrivateDnsBypass); } /** @@ -133,8 +141,7 @@ public class Network implements Parcelable { * Operates the same as {@code InetAddress.getByName} except that host * resolution is done on this network. * - * @param host - * the hostName to be resolved to an address or {@code null}. + * @param host the hostname to be resolved to an address or {@code null}. * @return the {@code InetAddress} instance representing the host. * @throws UnknownHostException * if the address lookup fails. @@ -144,14 +151,14 @@ public class Network implements Parcelable { } /** - * Specify whether or not Private DNS should be bypassed when attempting + * Obtain a Network object for which Private DNS is to be bypassed when attempting * to use {@link #getAllByName(String)}/{@link #getByName(String)} methods on the given * instance for hostname resolution. * * @hide */ - public void setPrivateDnsBypass(boolean bypass) { - mPrivateDnsBypass = bypass; + public Network getPrivateDnsBypassingCopy() { + return new Network(netId, true); } /** diff --git a/core/java/android/net/SntpClient.java b/core/java/android/net/SntpClient.java index 10c0ce25e97b..b8d7cf167ca8 100644 --- a/core/java/android/net/SntpClient.java +++ b/core/java/android/net/SntpClient.java @@ -85,19 +85,16 @@ public class SntpClient { * @return true if the transaction was successful. */ public boolean requestTime(String host, int timeout, Network network) { - // This flag only affects DNS resolution and not other socket semantics, - // therefore it's safe to set unilaterally rather than take more - // defensive measures like making a copy. - network.setPrivateDnsBypass(true); + final Network networkForResolv = network.getPrivateDnsBypassingCopy(); InetAddress address = null; try { - address = network.getByName(host); + address = networkForResolv.getByName(host); } catch (Exception e) { EventLogTags.writeNtpFailure(host, e.toString()); if (DBG) Log.d(TAG, "request time failed: " + e); return false; } - return requestTime(address, NTP_PORT, timeout, network); + return requestTime(address, NTP_PORT, timeout, networkForResolv); } public boolean requestTime(InetAddress address, int port, int timeout, Network network) { diff --git a/core/java/android/net/TrafficStats.java b/core/java/android/net/TrafficStats.java index 44f7e48edabc..1b22911f0cdc 100644 --- a/core/java/android/net/TrafficStats.java +++ b/core/java/android/net/TrafficStats.java @@ -139,6 +139,8 @@ public class TrafficStats { public static final int TAG_SYSTEM_GPS = 0xFFFFFF44; /** @hide */ public static final int TAG_SYSTEM_PAC = 0xFFFFFF45; + /** @hide */ + public static final int TAG_SYSTEM_DHCP_SERVER = 0xFFFFFF46; private static INetworkStatsService sStatsService; diff --git a/core/java/android/os/health/HealthKeys.java b/core/java/android/os/health/HealthKeys.java index 842def3d256b..8c22eff01699 100644 --- a/core/java/android/os/health/HealthKeys.java +++ b/core/java/android/os/health/HealthKeys.java @@ -16,6 +16,7 @@ package android.os.health; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -89,6 +90,7 @@ public class HealthKeys { * Pass in a class to gather the public static final int fields that are * tagged with the @Constant annotation. */ + @UnsupportedAppUsage public Constants(Class clazz) { // Save the class name for debugging mDataType = clazz.getSimpleName(); diff --git a/core/java/android/os/health/HealthStats.java b/core/java/android/os/health/HealthStats.java index 90d89c5ced8c..5939812b7501 100644 --- a/core/java/android/os/health/HealthStats.java +++ b/core/java/android/os/health/HealthStats.java @@ -16,6 +16,7 @@ package android.os.health; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.ArrayMap; @@ -126,6 +127,7 @@ public class HealthStats { * * @hide */ + @UnsupportedAppUsage public HealthStats(Parcel in) { int count; diff --git a/core/java/android/os/health/HealthStatsParceler.java b/core/java/android/os/health/HealthStatsParceler.java index 28b36940fb2e..c8ba8e13aa8d 100644 --- a/core/java/android/os/health/HealthStatsParceler.java +++ b/core/java/android/os/health/HealthStatsParceler.java @@ -16,6 +16,7 @@ package android.os.health; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.ArrayMap; @@ -50,10 +51,12 @@ public class HealthStatsParceler implements Parcelable { } }; + @UnsupportedAppUsage public HealthStatsParceler(HealthStatsWriter writer) { mWriter = writer; } + @UnsupportedAppUsage public HealthStatsParceler(Parcel in) { mHealthStats = new HealthStats(in); } @@ -72,6 +75,7 @@ public class HealthStatsParceler implements Parcelable { } } + @UnsupportedAppUsage public HealthStats getHealthStats() { if (mWriter != null) { final Parcel parcel = Parcel.obtain(); diff --git a/core/java/android/os/health/HealthStatsWriter.java b/core/java/android/os/health/HealthStatsWriter.java index 351836bad7c9..0bd4f60fd361 100644 --- a/core/java/android/os/health/HealthStatsWriter.java +++ b/core/java/android/os/health/HealthStatsWriter.java @@ -16,6 +16,7 @@ package android.os.health; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.ArrayMap; @@ -59,6 +60,7 @@ public class HealthStatsWriter { * short name of the java class that the Constants object was initalized * with. */ + @UnsupportedAppUsage public HealthStatsWriter(HealthKeys.Constants constants) { mConstants = constants; @@ -89,6 +91,7 @@ public class HealthStatsWriter { /** * Add a timer for the given key. */ + @UnsupportedAppUsage public void addTimer(int timerId, int count, long time) { final int index = mConstants.getIndex(HealthKeys.TYPE_TIMER, timerId); @@ -100,6 +103,7 @@ public class HealthStatsWriter { /** * Add a measurement for the given key. */ + @UnsupportedAppUsage public void addMeasurement(int measurementId, long value) { final int index = mConstants.getIndex(HealthKeys.TYPE_MEASUREMENT, measurementId); @@ -114,6 +118,7 @@ public class HealthStatsWriter { * * The value field should not be null. */ + @UnsupportedAppUsage public void addStats(int key, String name, HealthStatsWriter value) { final int index = mConstants.getIndex(HealthKeys.TYPE_STATS, key); @@ -129,6 +134,7 @@ public class HealthStatsWriter { * * The value field should not be null. */ + @UnsupportedAppUsage public void addTimers(int key, String name, TimerStat value) { final int index = mConstants.getIndex(HealthKeys.TYPE_TIMERS, key); @@ -142,6 +148,7 @@ public class HealthStatsWriter { /** * Add a measurement for the given key and string name. */ + @UnsupportedAppUsage public void addMeasurements(int key, String name, long value) { final int index = mConstants.getIndex(HealthKeys.TYPE_MEASUREMENTS, key); @@ -160,6 +167,7 @@ public class HealthStatsWriter { * not parcelable and we don't flatten all the business about the * HealthKeys.Constants, only the values that were actually supplied) */ + @UnsupportedAppUsage public void flattenToParcel(Parcel out) { int[] keys; diff --git a/core/java/android/os/health/SystemHealthManager.java b/core/java/android/os/health/SystemHealthManager.java index bba4cd1fb8e4..f303674ce055 100644 --- a/core/java/android/os/health/SystemHealthManager.java +++ b/core/java/android/os/health/SystemHealthManager.java @@ -17,6 +17,7 @@ package android.os.health; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.os.BatteryStats; import android.os.Process; @@ -49,6 +50,7 @@ public class SystemHealthManager { * Construct a new SystemHealthManager object. * @hide */ + @UnsupportedAppUsage public SystemHealthManager() { this(IBatteryStats.Stub.asInterface(ServiceManager.getService(BatteryStats.SERVICE_NAME))); } @@ -63,6 +65,7 @@ public class SystemHealthManager { * * @hide */ + @UnsupportedAppUsage public static SystemHealthManager from(Context context) { return (SystemHealthManager)context.getSystemService(Context.SYSTEM_HEALTH_SERVICE); } diff --git a/core/java/android/os/storage/DiskInfo.java b/core/java/android/os/storage/DiskInfo.java index d493ccebf531..7b6c97132b5c 100644 --- a/core/java/android/os/storage/DiskInfo.java +++ b/core/java/android/os/storage/DiskInfo.java @@ -18,6 +18,7 @@ package android.os.storage; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.res.Resources; import android.os.Parcel; import android.os.Parcelable; @@ -50,8 +51,11 @@ public class DiskInfo implements Parcelable { public static final int FLAG_USB = 1 << 3; public final String id; + @UnsupportedAppUsage public final int flags; + @UnsupportedAppUsage public long size; + @UnsupportedAppUsage public String label; /** Hacky; don't rely on this count */ public int volumeCount; @@ -62,6 +66,7 @@ public class DiskInfo implements Parcelable { this.flags = flags; } + @UnsupportedAppUsage public DiskInfo(Parcel parcel) { id = parcel.readString(); flags = parcel.readInt(); @@ -71,6 +76,7 @@ public class DiskInfo implements Parcelable { sysPath = parcel.readString(); } + @UnsupportedAppUsage public @NonNull String getId() { return id; } @@ -94,6 +100,7 @@ public class DiskInfo implements Parcelable { return true; } + @UnsupportedAppUsage public @Nullable String getDescription() { final Resources res = Resources.getSystem(); if ((flags & FLAG_SD) != 0) { @@ -124,18 +131,22 @@ public class DiskInfo implements Parcelable { } } + @UnsupportedAppUsage public boolean isAdoptable() { return (flags & FLAG_ADOPTABLE) != 0; } + @UnsupportedAppUsage public boolean isDefaultPrimary() { return (flags & FLAG_DEFAULT_PRIMARY) != 0; } + @UnsupportedAppUsage public boolean isSd() { return (flags & FLAG_SD) != 0; } + @UnsupportedAppUsage public boolean isUsb() { return (flags & FLAG_USB) != 0; } @@ -185,6 +196,7 @@ public class DiskInfo implements Parcelable { return id.hashCode(); } + @UnsupportedAppUsage public static final Creator<DiskInfo> CREATOR = new Creator<DiskInfo>() { @Override public DiskInfo createFromParcel(Parcel in) { diff --git a/core/java/android/os/storage/StorageEventListener.java b/core/java/android/os/storage/StorageEventListener.java index 4cf83fda4e39..4aa0b08ae358 100644 --- a/core/java/android/os/storage/StorageEventListener.java +++ b/core/java/android/os/storage/StorageEventListener.java @@ -16,6 +16,8 @@ package android.os.storage; +import android.annotation.UnsupportedAppUsage; + /** * Used for receiving notifications from the StorageManager * @@ -26,6 +28,7 @@ public class StorageEventListener { * Called when the detection state of a USB Mass Storage host has changed. * @param connected true if the USB mass storage is connected. */ + @UnsupportedAppUsage public void onUsbMassStorageConnectionChanged(boolean connected) { } @@ -35,21 +38,27 @@ public class StorageEventListener { * @param oldState the old state as returned by {@link android.os.Environment#getExternalStorageState()}. * @param newState the old state as returned by {@link android.os.Environment#getExternalStorageState()}. */ + @UnsupportedAppUsage public void onStorageStateChanged(String path, String oldState, String newState) { } + @UnsupportedAppUsage public void onVolumeStateChanged(VolumeInfo vol, int oldState, int newState) { } + @UnsupportedAppUsage public void onVolumeRecordChanged(VolumeRecord rec) { } + @UnsupportedAppUsage public void onVolumeForgotten(String fsUuid) { } + @UnsupportedAppUsage public void onDiskScanned(DiskInfo disk, int volumeCount) { } + @UnsupportedAppUsage public void onDiskDestroyed(DiskInfo disk) { } } diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 2d1bb2f25d88..d9eb7754ef7b 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -25,6 +25,7 @@ import android.annotation.SdkConstant; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.UnsupportedAppUsage; import android.annotation.WorkerThread; import android.app.Activity; import android.app.ActivityThread; @@ -226,6 +227,7 @@ public class StorageManager { public static final int FSTRIM_FLAG_DEEP = IVold.FSTRIM_FLAG_DEEP_TRIM; /** @hide The volume is not encrypted. */ + @UnsupportedAppUsage public static final int ENCRYPTION_STATE_NONE = IVold.ENCRYPTION_STATE_NONE; @@ -442,6 +444,7 @@ public class StorageManager { /** {@hide} */ @Deprecated + @UnsupportedAppUsage public static StorageManager from(Context context) { return context.getSystemService(StorageManager.class); } @@ -458,6 +461,7 @@ public class StorageManager { * * @hide */ + @UnsupportedAppUsage public StorageManager(Context context, Looper looper) throws ServiceNotFoundException { mContext = context; mResolver = context.getContentResolver(); @@ -472,6 +476,7 @@ public class StorageManager { * * @hide */ + @UnsupportedAppUsage public void registerListener(StorageEventListener listener) { synchronized (mDelegates) { final StorageEventListenerDelegate delegate = new StorageEventListenerDelegate(listener, @@ -492,6 +497,7 @@ public class StorageManager { * * @hide */ + @UnsupportedAppUsage public void unregisterListener(StorageEventListener listener) { synchronized (mDelegates) { for (Iterator<StorageEventListenerDelegate> i = mDelegates.iterator(); i.hasNext();) { @@ -514,6 +520,7 @@ public class StorageManager { * @hide */ @Deprecated + @UnsupportedAppUsage public void enableUsbMassStorage() { } @@ -523,6 +530,7 @@ public class StorageManager { * @hide */ @Deprecated + @UnsupportedAppUsage public void disableUsbMassStorage() { } @@ -533,6 +541,7 @@ public class StorageManager { * @hide */ @Deprecated + @UnsupportedAppUsage public boolean isUsbMassStorageConnected() { return false; } @@ -544,6 +553,7 @@ public class StorageManager { * @hide */ @Deprecated + @UnsupportedAppUsage public boolean isUsbMassStorageEnabled() { return false; } @@ -654,6 +664,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @NonNull List<DiskInfo> getDisks() { try { return Arrays.asList(mStorageManager.getDisks()); @@ -663,6 +674,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @Nullable DiskInfo findDiskById(String id) { Preconditions.checkNotNull(id); // TODO; go directly to service to make this faster @@ -675,6 +687,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @Nullable VolumeInfo findVolumeById(String id) { Preconditions.checkNotNull(id); // TODO; go directly to service to make this faster @@ -687,6 +700,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @Nullable VolumeInfo findVolumeByUuid(String fsUuid) { Preconditions.checkNotNull(fsUuid); // TODO; go directly to service to make this faster @@ -720,6 +734,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @Nullable VolumeInfo findEmulatedForPrivate(VolumeInfo privateVol) { if (privateVol != null) { return findVolumeById(privateVol.getId().replace("private", "emulated")); @@ -798,6 +813,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @NonNull List<VolumeInfo> getVolumes() { try { return Arrays.asList(mStorageManager.getVolumes(0)); @@ -831,6 +847,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @Nullable String getBestVolumeDescription(VolumeInfo vol) { if (vol == null) return null; @@ -854,6 +871,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public @Nullable VolumeInfo getPrimaryPhysicalVolume() { final List<VolumeInfo> vols = getVolumes(); for (VolumeInfo vol : vols) { @@ -874,6 +892,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public void unmount(String volId) { try { mStorageManager.unmount(volId); @@ -883,6 +902,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public void format(String volId) { try { mStorageManager.format(volId); @@ -924,6 +944,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public void partitionPublic(String diskId) { try { mStorageManager.partitionPublic(diskId); @@ -1053,6 +1074,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage private static @Nullable StorageVolume getStorageVolume(StorageVolume[] volumes, File file) { if (file == null) { return null; @@ -1082,6 +1104,7 @@ public class StorageManager { * @hide */ @Deprecated + @UnsupportedAppUsage public @NonNull String getVolumeState(String mountPoint) { final StorageVolume vol = getStorageVolume(new File(mountPoint)); if (vol != null) { @@ -1144,6 +1167,7 @@ public class StorageManager { } /** {@hide} */ + @UnsupportedAppUsage public static @NonNull StorageVolume[] getVolumeList(int userId, int flags) { final IStorageManager storageManager = IStorageManager.Stub.asInterface( ServiceManager.getService("mount")); @@ -1177,6 +1201,7 @@ public class StorageManager { * @hide */ @Deprecated + @UnsupportedAppUsage public @NonNull String[] getVolumePaths() { StorageVolume[] volumes = getVolumeList(); int count = volumes.length; @@ -1216,6 +1241,7 @@ public class StorageManager { * * @hide */ + @UnsupportedAppUsage public long getStorageBytesUntilLow(File path) { return path.getUsableSpace() - getStorageFullBytes(path); } @@ -1226,6 +1252,7 @@ public class StorageManager { * * @hide */ + @UnsupportedAppUsage public long getStorageLowBytes(File path) { final long lowPercent = Settings.Global.getInt(mResolver, Settings.Global.SYS_STORAGE_THRESHOLD_PERCENTAGE, DEFAULT_THRESHOLD_PERCENTAGE); @@ -1269,6 +1296,7 @@ public class StorageManager { * * @hide */ + @UnsupportedAppUsage public long getStorageFullBytes(File path) { return Settings.Global.getLong(mResolver, Settings.Global.SYS_STORAGE_FULL_THRESHOLD_BYTES, DEFAULT_FULL_THRESHOLD_BYTES); @@ -1385,6 +1413,7 @@ public class StorageManager { * @return true for file encrypted. (Implies isEncrypted() == true) * false not encrypted or block encrypted */ + @UnsupportedAppUsage public static boolean isFileEncryptedNativeOnly() { if (!isEncrypted()) { return false; @@ -2016,8 +2045,10 @@ public class StorageManager { /// Consts to match the password types in cryptfs.h /** @hide */ + @UnsupportedAppUsage public static final int CRYPT_TYPE_PASSWORD = IVold.PASSWORD_TYPE_PASSWORD; /** @hide */ + @UnsupportedAppUsage public static final int CRYPT_TYPE_DEFAULT = IVold.PASSWORD_TYPE_DEFAULT; /** @hide */ public static final int CRYPT_TYPE_PATTERN = IVold.PASSWORD_TYPE_PATTERN; diff --git a/core/java/android/os/storage/StorageVolume.java b/core/java/android/os/storage/StorageVolume.java index fd5a22a9c551..5ef1d232ebe4 100644 --- a/core/java/android/os/storage/StorageVolume.java +++ b/core/java/android/os/storage/StorageVolume.java @@ -17,6 +17,7 @@ package android.os.storage; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -76,11 +77,16 @@ import java.io.File; // user, but is now part of the public API. public final class StorageVolume implements Parcelable { + @UnsupportedAppUsage private final String mId; + @UnsupportedAppUsage private final File mPath; private final File mInternalPath; + @UnsupportedAppUsage private final String mDescription; + @UnsupportedAppUsage private final boolean mPrimary; + @UnsupportedAppUsage private final boolean mRemovable; private final boolean mEmulated; private final boolean mAllowMassStorage; @@ -152,6 +158,7 @@ public final class StorageVolume implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public String getId() { return mId; } @@ -162,6 +169,7 @@ public final class StorageVolume implements Parcelable { * @return the mount path * @hide */ + @UnsupportedAppUsage public String getPath() { return mPath.toString(); } @@ -177,6 +185,7 @@ public final class StorageVolume implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public File getPathFile() { return mPath; } @@ -222,6 +231,7 @@ public final class StorageVolume implements Parcelable { * @return whether mass storage is allowed * @hide */ + @UnsupportedAppUsage public boolean allowMassStorage() { return mAllowMassStorage; } @@ -232,11 +242,13 @@ public final class StorageVolume implements Parcelable { * @return maximum file size * @hide */ + @UnsupportedAppUsage public long getMaxFileSize() { return mMaxFileSize; } /** {@hide} */ + @UnsupportedAppUsage public UserHandle getOwner() { return mOwner; } @@ -253,6 +265,7 @@ public final class StorageVolume implements Parcelable { * parse or UUID is unknown. * @hide */ + @UnsupportedAppUsage public int getFatVolumeId() { if (mFsUuid == null || mFsUuid.length() != 9) { return -1; @@ -265,6 +278,7 @@ public final class StorageVolume implements Parcelable { } /** {@hide} */ + @UnsupportedAppUsage public String getUserLabel() { return mDescription; } diff --git a/core/java/android/os/storage/VolumeInfo.java b/core/java/android/os/storage/VolumeInfo.java index 8c7750242ef3..afd383691300 100644 --- a/core/java/android/os/storage/VolumeInfo.java +++ b/core/java/android/os/storage/VolumeInfo.java @@ -18,6 +18,7 @@ package android.os.storage; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.Intent; import android.content.res.Resources; @@ -76,8 +77,10 @@ public class VolumeInfo implements Parcelable { /** Real volume representing internal emulated storage */ public static final String ID_EMULATED_INTERNAL = "emulated"; + @UnsupportedAppUsage public static final int TYPE_PUBLIC = IVold.VOLUME_TYPE_PUBLIC; public static final int TYPE_PRIVATE = IVold.VOLUME_TYPE_PRIVATE; + @UnsupportedAppUsage public static final int TYPE_EMULATED = IVold.VOLUME_TYPE_EMULATED; public static final int TYPE_ASEC = IVold.VOLUME_TYPE_ASEC; public static final int TYPE_OBB = IVold.VOLUME_TYPE_OBB; @@ -148,16 +151,23 @@ public class VolumeInfo implements Parcelable { /** vold state */ public final String id; + @UnsupportedAppUsage public final int type; + @UnsupportedAppUsage public final DiskInfo disk; public final String partGuid; public int mountFlags = 0; public int mountUserId = -1; + @UnsupportedAppUsage public int state = STATE_UNMOUNTED; public String fsType; + @UnsupportedAppUsage public String fsUuid; + @UnsupportedAppUsage public String fsLabel; + @UnsupportedAppUsage public String path; + @UnsupportedAppUsage public String internalPath; public VolumeInfo(String id, int type, DiskInfo disk, String partGuid) { @@ -167,6 +177,7 @@ public class VolumeInfo implements Parcelable { this.partGuid = partGuid; } + @UnsupportedAppUsage public VolumeInfo(Parcel parcel) { id = parcel.readString(); type = parcel.readInt(); @@ -186,6 +197,7 @@ public class VolumeInfo implements Parcelable { internalPath = parcel.readString(); } + @UnsupportedAppUsage public static @NonNull String getEnvironmentForState(int state) { final String envState = sStateToEnvironment.get(state); if (envState != null) { @@ -207,22 +219,27 @@ public class VolumeInfo implements Parcelable { return sDescriptionComparator; } + @UnsupportedAppUsage public @NonNull String getId() { return id; } + @UnsupportedAppUsage public @Nullable DiskInfo getDisk() { return disk; } + @UnsupportedAppUsage public @Nullable String getDiskId() { return (disk != null) ? disk.id : null; } + @UnsupportedAppUsage public int getType() { return type; } + @UnsupportedAppUsage public int getState() { return state; } @@ -231,14 +248,17 @@ public class VolumeInfo implements Parcelable { return sStateToDescrip.get(state, 0); } + @UnsupportedAppUsage public @Nullable String getFsUuid() { return fsUuid; } + @UnsupportedAppUsage public int getMountUserId() { return mountUserId; } + @UnsupportedAppUsage public @Nullable String getDescription() { if (ID_PRIVATE_INTERNAL.equals(id) || ID_EMULATED_INTERNAL.equals(id)) { return Resources.getSystem().getString(com.android.internal.R.string.storage_internal); @@ -249,22 +269,27 @@ public class VolumeInfo implements Parcelable { } } + @UnsupportedAppUsage public boolean isMountedReadable() { return state == STATE_MOUNTED || state == STATE_MOUNTED_READ_ONLY; } + @UnsupportedAppUsage public boolean isMountedWritable() { return state == STATE_MOUNTED; } + @UnsupportedAppUsage public boolean isPrimary() { return (mountFlags & MOUNT_FLAG_PRIMARY) != 0; } + @UnsupportedAppUsage public boolean isPrimaryPhysical() { return isPrimary() && (getType() == TYPE_PUBLIC); } + @UnsupportedAppUsage public boolean isVisible() { return (mountFlags & MOUNT_FLAG_VISIBLE) != 0; } @@ -283,18 +308,22 @@ public class VolumeInfo implements Parcelable { return isVisibleForUser(userId); } + @UnsupportedAppUsage public boolean isVisibleForWrite(int userId) { return isVisibleForUser(userId); } + @UnsupportedAppUsage public File getPath() { return (path != null) ? new File(path) : null; } + @UnsupportedAppUsage public File getInternalPath() { return (internalPath != null) ? new File(internalPath) : null; } + @UnsupportedAppUsage public File getPathForUser(int userId) { if (path == null) { return null; @@ -311,6 +340,7 @@ public class VolumeInfo implements Parcelable { * Path which is accessible to apps holding * {@link android.Manifest.permission#WRITE_MEDIA_STORAGE}. */ + @UnsupportedAppUsage public File getInternalPathForUser(int userId) { if (path == null) { return null; @@ -322,6 +352,7 @@ public class VolumeInfo implements Parcelable { } } + @UnsupportedAppUsage public StorageVolume buildStorageVolume(Context context, int userId, boolean reportUnmounted) { final StorageManager storage = context.getSystemService(StorageManager.class); @@ -382,6 +413,7 @@ public class VolumeInfo implements Parcelable { derivedFsUuid, envState); } + @UnsupportedAppUsage public static int buildStableMtpStorageId(String fsUuid) { if (TextUtils.isEmpty(fsUuid)) { return StorageVolume.STORAGE_ID_INVALID; @@ -408,6 +440,7 @@ public class VolumeInfo implements Parcelable { * Build an intent to browse the contents of this volume. Only valid for * {@link #TYPE_EMULATED} or {@link #TYPE_PUBLIC}. */ + @UnsupportedAppUsage public @Nullable Intent buildBrowseIntent() { return buildBrowseIntentForUser(UserHandle.myUserId()); } @@ -486,6 +519,7 @@ public class VolumeInfo implements Parcelable { return id.hashCode(); } + @UnsupportedAppUsage public static final Creator<VolumeInfo> CREATOR = new Creator<VolumeInfo>() { @Override public VolumeInfo createFromParcel(Parcel in) { diff --git a/core/java/android/os/storage/VolumeRecord.java b/core/java/android/os/storage/VolumeRecord.java index 7b2022385f0e..bc2d55a92b90 100644 --- a/core/java/android/os/storage/VolumeRecord.java +++ b/core/java/android/os/storage/VolumeRecord.java @@ -16,6 +16,7 @@ package android.os.storage; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; import android.util.DebugUtils; @@ -52,6 +53,7 @@ public class VolumeRecord implements Parcelable { this.fsUuid = Preconditions.checkNotNull(fsUuid); } + @UnsupportedAppUsage public VolumeRecord(Parcel parcel) { type = parcel.readInt(); fsUuid = parcel.readString(); @@ -127,6 +129,7 @@ public class VolumeRecord implements Parcelable { return fsUuid.hashCode(); } + @UnsupportedAppUsage public static final Creator<VolumeRecord> CREATOR = new Creator<VolumeRecord>() { @Override public VolumeRecord createFromParcel(Parcel in) { diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 88d09af6e511..7a4ef5d6bb37 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -9466,6 +9466,17 @@ public final class Settings { public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled"; /** + * Use the old dnsmasq DHCP server for tethering instead of the framework implementation. + * + * Integer values are interpreted as boolean, and the absence of an explicit setting + * is interpreted as |true|. + * TODO: make the default |false| + * @hide + */ + public static final String TETHER_ENABLE_LEGACY_DHCP_SERVER = + "tether_enable_legacy_dhcp_server"; + + /** * List of certificate (hex string representation of the application's certificate - SHA-1 * or SHA-256) and carrier app package pairs which are whitelisted to prompt the user for * install when a sim card with matching UICC carrier privilege rules is inserted. The diff --git a/core/java/android/transition/ChangeBounds.java b/core/java/android/transition/ChangeBounds.java index 56af3ac0f3c9..c8228326b8e4 100644 --- a/core/java/android/transition/ChangeBounds.java +++ b/core/java/android/transition/ChangeBounds.java @@ -22,6 +22,7 @@ import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.animation.RectEvaluator; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Bitmap; @@ -108,6 +109,7 @@ public class ChangeBounds extends Transition { } }; + @UnsupportedAppUsage private static final Property<View, PointF> BOTTOM_RIGHT_ONLY_PROPERTY = new Property<View, PointF>(PointF.class, "bottomRight") { @Override @@ -142,6 +144,7 @@ public class ChangeBounds extends Transition { } }; + @UnsupportedAppUsage private static final Property<View, PointF> POSITION_PROPERTY = new Property<View, PointF>(PointF.class, "position") { @Override diff --git a/core/java/android/transition/Scene.java b/core/java/android/transition/Scene.java index 44b6e1f3269c..fb0a4b4ccb39 100644 --- a/core/java/android/transition/Scene.java +++ b/core/java/android/transition/Scene.java @@ -16,6 +16,7 @@ package android.transition; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.util.SparseArray; import android.view.LayoutInflater; @@ -35,7 +36,9 @@ public final class Scene { private int mLayoutId = -1; private ViewGroup mSceneRoot; private View mLayout; // alternative to layoutId + @UnsupportedAppUsage Runnable mEnterAction; + @UnsupportedAppUsage Runnable mExitAction; /** @@ -195,6 +198,7 @@ public final class Scene { * * @param view The view on which the current scene is being set */ + @UnsupportedAppUsage static void setCurrentScene(View view, Scene scene) { view.setTagInternal(com.android.internal.R.id.current_scene, scene); } diff --git a/core/java/android/transition/Transition.java b/core/java/android/transition/Transition.java index 255a02938c32..b79228d45a92 100644 --- a/core/java/android/transition/Transition.java +++ b/core/java/android/transition/Transition.java @@ -20,6 +20,7 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.TimeInterpolator; import android.annotation.Nullable; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Path; @@ -848,6 +849,7 @@ public abstract class Transition implements Cloneable { return false; } + @UnsupportedAppUsage private static ArrayMap<Animator, AnimationInfo> getRunningAnimators() { ArrayMap<Animator, AnimationInfo> runningAnimators = sRunningAnimators.get(); if (runningAnimators == null) { @@ -1915,6 +1917,7 @@ public abstract class Transition implements Cloneable { * * @hide */ + @UnsupportedAppUsage protected void end() { --mNumInstances; if (mNumInstances == 0) { @@ -1967,6 +1970,7 @@ public abstract class Transition implements Cloneable { * * @hide */ + @UnsupportedAppUsage protected void cancel() { int numAnimators = mCurrentAnimators.size(); for (int i = numAnimators - 1; i >= 0; i--) { diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java index 325ff38e7d40..7e82132f566f 100644 --- a/core/java/android/transition/TransitionManager.java +++ b/core/java/android/transition/TransitionManager.java @@ -17,6 +17,7 @@ package android.transition; import android.annotation.TestApi; +import android.annotation.UnsupportedAppUsage; import android.content.Context; import android.util.ArrayMap; import android.util.Log; @@ -73,9 +74,11 @@ public class TransitionManager { ArrayMap<Scene, Transition> mSceneTransitions = new ArrayMap<Scene, Transition>(); ArrayMap<Scene, ArrayMap<Scene, Transition>> mScenePairTransitions = new ArrayMap<Scene, ArrayMap<Scene, Transition>>(); + @UnsupportedAppUsage private static ThreadLocal<WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>>> sRunningTransitions = new ThreadLocal<WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>>>(); + @UnsupportedAppUsage private static ArrayList<ViewGroup> sPendingTransitions = new ArrayList<ViewGroup>(); @@ -207,6 +210,7 @@ public class TransitionManager { } } + @UnsupportedAppUsage private static ArrayMap<ViewGroup, ArrayList<Transition>> getRunningTransitions() { WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>> runningTransitions = sRunningTransitions.get(); diff --git a/core/java/android/util/DisplayMetrics.java b/core/java/android/util/DisplayMetrics.java index b092fcf4fc50..f2747cf426fa 100644..100755 --- a/core/java/android/util/DisplayMetrics.java +++ b/core/java/android/util/DisplayMetrics.java @@ -142,6 +142,14 @@ public class DisplayMetrics { public static final int DENSITY_560 = 560; /** + * Intermediate density for screens that sit somewhere between + * {@link #DENSITY_XXHIGH} (480 dpi) and {@link #DENSITY_XXXHIGH} (640 dpi). + * This is not a density that applications should target, instead relying + * on the system to scale their {@link #DENSITY_XXXHIGH} assets for them. + */ + public static final int DENSITY_600 = 600; + + /** * Standard quantized DPI for extra-extra-extra-high-density screens. Applications * should not generally worry about this density; relying on XHIGH graphics * being scaled up to it should be sufficient for almost all cases. A typical diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp index 638b3ea71d83..8df028a6af65 100644 --- a/core/jni/android_os_Debug.cpp +++ b/core/jni/android_os_Debug.cpp @@ -343,51 +343,47 @@ static void read_mapinfo(FILE *fp, stats_t* stats, bool* foundSwapPss) } is_swappable = true; } else if (strncmp(name, "/dev/", 5) == 0) { + whichHeap = HEAP_UNKNOWN_DEV; if (strncmp(name, "/dev/kgsl-3d0", 13) == 0) { whichHeap = HEAP_GL_DEV; - } else if (strncmp(name, "/dev/ashmem", 11) == 0) { - if (strncmp(name, "/dev/ashmem/dalvik-", 19) == 0) { - whichHeap = HEAP_DALVIK_OTHER; - if (strstr(name, "/dev/ashmem/dalvik-LinearAlloc") == name) { - subHeap = HEAP_DALVIK_OTHER_LINEARALLOC; - } else if ((strstr(name, "/dev/ashmem/dalvik-alloc space") == name) || - (strstr(name, "/dev/ashmem/dalvik-main space") == name)) { - // This is the regular Dalvik heap. - whichHeap = HEAP_DALVIK; - subHeap = HEAP_DALVIK_NORMAL; - } else if (strstr(name, "/dev/ashmem/dalvik-large object space") == name || - strstr(name, "/dev/ashmem/dalvik-free list large object space") - == name) { - whichHeap = HEAP_DALVIK; - subHeap = HEAP_DALVIK_LARGE; - } else if (strstr(name, "/dev/ashmem/dalvik-non moving space") == name) { - whichHeap = HEAP_DALVIK; - subHeap = HEAP_DALVIK_NON_MOVING; - } else if (strstr(name, "/dev/ashmem/dalvik-zygote space") == name) { - whichHeap = HEAP_DALVIK; - subHeap = HEAP_DALVIK_ZYGOTE; - } else if (strstr(name, "/dev/ashmem/dalvik-indirect ref") == name) { - subHeap = HEAP_DALVIK_OTHER_INDIRECT_REFERENCE_TABLE; - } else if (strstr(name, "/dev/ashmem/dalvik-jit-code-cache") == name || - strstr(name, "/dev/ashmem/dalvik-data-code-cache") == name) { - subHeap = HEAP_DALVIK_OTHER_CODE_CACHE; - } else if (strstr(name, "/dev/ashmem/dalvik-CompilerMetadata") == name) { - subHeap = HEAP_DALVIK_OTHER_COMPILER_METADATA; - } else { - subHeap = HEAP_DALVIK_OTHER_ACCOUNTING; // Default to accounting. - } - } else if (strncmp(name, "/dev/ashmem/CursorWindow", 24) == 0) { - whichHeap = HEAP_CURSOR; - } else if (strncmp(name, "/dev/ashmem/libc malloc", 23) == 0) { - whichHeap = HEAP_NATIVE; - } else { - whichHeap = HEAP_ASHMEM; - } - } else { - whichHeap = HEAP_UNKNOWN_DEV; + } else if (strncmp(name, "/dev/ashmem/CursorWindow", 24) == 0) { + whichHeap = HEAP_CURSOR; + } else if (strncmp(name, "/dev/ashmem", 11)) { + whichHeap = HEAP_ASHMEM; } } else if (strncmp(name, "[anon:", 6) == 0) { whichHeap = HEAP_UNKNOWN; + if (strncmp(name, "[anon:dalvik-", 13) == 0) { + whichHeap = HEAP_DALVIK_OTHER; + if (strstr(name, "[anon:dalvik-LinearAlloc") == name) { + subHeap = HEAP_DALVIK_OTHER_LINEARALLOC; + } else if ((strstr(name, "[anon:dalvik-alloc space") == name) || + (strstr(name, "[anon:dalvik-main space") == name)) { + // This is the regular Dalvik heap. + whichHeap = HEAP_DALVIK; + subHeap = HEAP_DALVIK_NORMAL; + } else if (strstr(name, "[anon:dalvik-large object space") == name || + strstr(name, "[anon:dalvik-free list large object space") + == name) { + whichHeap = HEAP_DALVIK; + subHeap = HEAP_DALVIK_LARGE; + } else if (strstr(name, "[anon:dalvik-non moving space") == name) { + whichHeap = HEAP_DALVIK; + subHeap = HEAP_DALVIK_NON_MOVING; + } else if (strstr(name, "[anon:dalvik-zygote space") == name) { + whichHeap = HEAP_DALVIK; + subHeap = HEAP_DALVIK_ZYGOTE; + } else if (strstr(name, "[anon:dalvik-indirect ref") == name) { + subHeap = HEAP_DALVIK_OTHER_INDIRECT_REFERENCE_TABLE; + } else if (strstr(name, "[anon:dalvik-jit-code-cache") == name || + strstr(name, "[anon:dalvik-data-code-cache") == name) { + subHeap = HEAP_DALVIK_OTHER_CODE_CACHE; + } else if (strstr(name, "[anon:dalvik-CompilerMetadata") == name) { + subHeap = HEAP_DALVIK_OTHER_COMPILER_METADATA; + } else { + subHeap = HEAP_DALVIK_OTHER_ACCOUNTING; // Default to accounting. + } + } } else if (nameLen > 0) { whichHeap = HEAP_UNKNOWN_MAP; } else if (start == prevEnd && prevHeap == HEAP_SO) { diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml index c4fa190b228d..9e0cff3c4728 100644 --- a/core/res/res/values/attrs_manifest.xml +++ b/core/res/res/values/attrs_manifest.xml @@ -1385,6 +1385,8 @@ instantiates items without it.--> <attr name="appComponentFactory" format="string" /> + <attr name="usesNonSdkApi" format="boolean" /> + <!-- The <code>manifest</code> tag is the root of an <code>AndroidManifest.xml</code> file, describing the contents of an Android package (.apk) file. One @@ -1558,6 +1560,9 @@ <attr name="appComponentFactory" /> + <!-- Declares that this application should be invoked without non-SDK API enforcement --> + <attr name="usesNonSdkApi" /> + </declare-styleable> <!-- The <code>permission</code> tag declares a security permission that can be used to control access from other packages to specific components or diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index 997575fc4743..48ba0676c753 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -2905,6 +2905,11 @@ <public-group type="attr" first-id="0x01010587"> </public-group> + <public-group type="attr" first-id="0x0101058d"> + <!-- @hide For use by platform and tools only. Developers should not specify this value. --> + <public name="usesNonSdkApi" /> + </public-group> + <public-group type="style" first-id="0x010302e2"> </public-group> diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java index 815294c0c98d..02e0d02a1a0e 100644 --- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java +++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java @@ -423,6 +423,7 @@ public class SettingsBackupTest { Settings.Global.TETHER_DUN_REQUIRED, Settings.Global.TETHER_OFFLOAD_DISABLED, Settings.Global.TETHER_SUPPORTED, + Settings.Global.TETHER_ENABLE_LEGACY_DHCP_SERVER, Settings.Global.TEXT_CLASSIFIER_CONSTANTS, Settings.Global.THEATER_MODE_ON, Settings.Global.TIME_ONLY_MODE_CONSTANTS, diff --git a/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java b/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java index 15dbbc8de150..c98e6460c189 100644 --- a/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java +++ b/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java @@ -20,6 +20,7 @@ import android.platform.test.annotations.Presubmit; import android.support.test.InstrumentationRegistry; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; +import android.test.suitebuilder.annotation.Suppress; import android.text.InputType; import android.util.KeyUtils; import android.view.KeyEvent; @@ -238,6 +239,7 @@ public class ForwardDeleteTest { } @Test + @Suppress public void testEmojiModifier() { EditorState state = new EditorState(); @@ -267,6 +269,7 @@ public class ForwardDeleteTest { } @Test + @Suppress public void testMixedEdgeCases() { EditorState state = new EditorState(); diff --git a/graphics/java/android/graphics/ColorMatrixColorFilter.java b/graphics/java/android/graphics/ColorMatrixColorFilter.java index 01911359a1e3..0f7980cc32e4 100644 --- a/graphics/java/android/graphics/ColorMatrixColorFilter.java +++ b/graphics/java/android/graphics/ColorMatrixColorFilter.java @@ -107,6 +107,7 @@ public class ColorMatrixColorFilter extends ColorFilter { * * @hide */ + @UnsupportedAppUsage public void setColorMatrixArray(@Nullable float[] array) { // called '...Array' so that passing null isn't ambiguous discardNativeInstance(); diff --git a/graphics/java/android/graphics/FontFamily.java b/graphics/java/android/graphics/FontFamily.java index 640e7b1e2f35..06469153c3ac 100644 --- a/graphics/java/android/graphics/FontFamily.java +++ b/graphics/java/android/graphics/FontFamily.java @@ -52,6 +52,7 @@ public class FontFamily { /** * @hide */ + @UnsupportedAppUsage public long mNativePtr; // Points native font family builder. Must be zero after freezing this family. diff --git a/graphics/java/android/graphics/FontListParser.java b/graphics/java/android/graphics/FontListParser.java index 431d0e0eb7b4..e3e8380716f3 100644 --- a/graphics/java/android/graphics/FontListParser.java +++ b/graphics/java/android/graphics/FontListParser.java @@ -16,6 +16,7 @@ package android.graphics; +import android.annotation.UnsupportedAppUsage; import android.graphics.fonts.FontVariationAxis; import android.text.FontConfig; import android.util.Xml; @@ -37,6 +38,7 @@ import java.util.regex.Pattern; public class FontListParser { /* Parse fallback list (no names) */ + @UnsupportedAppUsage public static FontConfig parse(InputStream in) throws XmlPullParserException, IOException { try { XmlPullParser parser = Xml.newPullParser(); diff --git a/libs/hwui/pipeline/skia/LayerDrawable.cpp b/libs/hwui/pipeline/skia/LayerDrawable.cpp index 4f16ddb9881b..6e7511da07ff 100644 --- a/libs/hwui/pipeline/skia/LayerDrawable.cpp +++ b/libs/hwui/pipeline/skia/LayerDrawable.cpp @@ -82,7 +82,14 @@ bool LayerDrawable::DrawLayer(GrContext* context, SkCanvas* canvas, Layer* layer textureMatrix = textureMatrixInv; } - SkMatrix matrix = SkMatrix::Concat(layerTransform, textureMatrix); + SkMatrix matrix; + if (dstRect) { + // Destination rectangle is set only when we are trying to read back the content + // of the layer. In this case we don't want to apply layer transform. + matrix = textureMatrix; + } else { + matrix = SkMatrix::Concat(layerTransform, textureMatrix); + } SkPaint paint; paint.setAlpha(layer->getAlpha()); diff --git a/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp b/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp index 107890e57a19..0760f1610891 100644 --- a/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp +++ b/libs/hwui/pipeline/skia/SkiaOpenGLReadback.cpp @@ -26,6 +26,7 @@ #include "DeviceInfo.h" #include "Matrix.h" #include "Properties.h" +#include "utils/MathUtils.h" using namespace android::uirenderer::renderthread; @@ -116,9 +117,9 @@ CopyResult SkiaOpenGLReadback::copyImageInto(EGLImageKHR eglImage, const Matrix4 paint.setBlendMode(SkBlendMode::kSrc); // Apply a filter, which is matching OpenGL pipeline readback behaviour. Filter usage // is codified by tests using golden images like DecodeAccuracyTest. - if (skiaSrcRect.width() != bitmap->width() || - skiaSrcRect.height() != bitmap->height()) { - // TODO: apply filter always, but check if tests will be fine + bool disableFilter = MathUtils::areEqual(skiaSrcRect.width(), skiaDestRect.width()) + && MathUtils::areEqual(skiaSrcRect.height(), skiaDestRect.height()); + if (!disableFilter) { paint.setFilterQuality(kLow_SkFilterQuality); } scaledSurface->getCanvas()->concat(textureMatrix); diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java index 3630005416be..fd1212af3cfa 100644 --- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java +++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java @@ -33,7 +33,6 @@ import android.net.NetworkRequest; import android.net.Proxy; import android.net.Uri; import android.net.captiveportal.CaptivePortalProbeSpec; -import android.net.dns.ResolvUtil; import android.net.http.SslError; import android.net.wifi.WifiInfo; import android.os.Build; @@ -132,9 +131,9 @@ public class CaptivePortalLoginActivity extends Activity { } // Also initializes proxy system properties. + mNetwork = mNetwork.getPrivateDnsBypassingCopy(); mCm.bindProcessToNetwork(mNetwork); - mCm.setProcessDefaultNetworkForHostResolution( - ResolvUtil.getNetworkWithUseLocalNameserversFlag(mNetwork)); + mCm.setProcessDefaultNetworkForHostResolution(mNetwork); // Proxy system properties must be initialized before setContentView is called because // setContentView initializes the WebView logic which in turn reads the system properties. @@ -334,7 +333,6 @@ public class CaptivePortalLoginActivity extends Activity { // TODO: reuse NetworkMonitor facilities for consistent captive portal detection. new Thread(new Runnable() { public void run() { - final Network network = ResolvUtil.makeNetworkWithPrivateDnsBypass(mNetwork); // Give time for captive portal to open. try { Thread.sleep(1000); @@ -344,7 +342,7 @@ public class CaptivePortalLoginActivity extends Activity { int httpResponseCode = 500; String locationHeader = null; try { - urlConnection = (HttpURLConnection) network.openConnection(mUrl); + urlConnection = (HttpURLConnection) mNetwork.openConnection(mUrl); urlConnection.setInstanceFollowRedirects(false); urlConnection.setConnectTimeout(SOCKET_TIMEOUT_MS); urlConnection.setReadTimeout(SOCKET_TIMEOUT_MS); diff --git a/packages/SettingsLib/Android.mk b/packages/SettingsLib/Android.mk index 7b89fb243d38..96012c1f2a34 100644 --- a/packages/SettingsLib/Android.mk +++ b/packages/SettingsLib/Android.mk @@ -8,17 +8,17 @@ LOCAL_AAPT2_ONLY := true LOCAL_MODULE := SettingsLib LOCAL_JAVA_LIBRARIES := \ - android-support-annotations + androidx.annotation_annotation LOCAL_SHARED_ANDROID_LIBRARIES := \ - android-support-v4 \ - android-support-v7-recyclerview \ - android-support-v7-preference \ - android-support-v7-appcompat \ - android-arch-lifecycle-runtime + androidx.legacy_legacy-support-v4 \ + androidx.recyclerview_recyclerview \ + androidx.preference_preference \ + androidx.appcompat_appcompat \ + androidx.lifecycle_lifecycle-runtime LOCAL_SHARED_JAVA_LIBRARIES := \ - android-arch-lifecycle-common + androidx.lifecycle_lifecycle-common LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res diff --git a/packages/SettingsLib/common.mk b/packages/SettingsLib/common.mk index 5de3a6e99440..834b83b49ada 100644 --- a/packages/SettingsLib/common.mk +++ b/packages/SettingsLib/common.mk @@ -14,15 +14,15 @@ # LOCAL_STATIC_JAVA_LIBRARIES += \ - android-support-annotations \ - android-arch-lifecycle-common + androidx.annotation_annotation \ + androidx.lifecycle_lifecycle-common LOCAL_STATIC_ANDROID_LIBRARIES += \ - android-support-v4 \ - android-arch-lifecycle-runtime \ - android-support-v7-recyclerview \ - android-support-v7-preference \ - android-support-v7-appcompat \ - android-support-v14-preference \ + androidx.legacy_legacy-support-v4 \ + androidx.lifecycle_lifecycle-runtime \ + androidx.recyclerview_recyclerview \ + androidx.preference_preference \ + androidx.appcompat_appcompat \ + androidx.legacy_legacy-preference-v14 \ SettingsLib diff --git a/packages/SettingsLib/res/layout/preference_access_point.xml b/packages/SettingsLib/res/layout/preference_access_point.xml index 62173da5b7eb..472a6e3d0dd4 100644 --- a/packages/SettingsLib/res/layout/preference_access_point.xml +++ b/packages/SettingsLib/res/layout/preference_access_point.xml @@ -45,7 +45,7 @@ android:clipToPadding="false" android:paddingTop="4dp" android:paddingBottom="4dp"> - <android.support.v7.internal.widget.PreferenceImageView + <androidx.preference.internal.PreferenceImageView android:id="@android:id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/packages/SettingsLib/res/layout/preference_two_target.xml b/packages/SettingsLib/res/layout/preference_two_target.xml index 4658924477a0..ff6a22d5523c 100644 --- a/packages/SettingsLib/res/layout/preference_two_target.xml +++ b/packages/SettingsLib/res/layout/preference_two_target.xml @@ -46,7 +46,7 @@ android:clipToPadding="false" android:paddingTop="4dp" android:paddingBottom="4dp"> - <android.support.v7.internal.widget.PreferenceImageView + <androidx.preference.internal.PreferenceImageView android:id="@android:id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java b/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java index 95a8f1d9782e..cf1c2c348367 100644 --- a/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/CustomDialogPreference.java @@ -20,8 +20,8 @@ import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; -import android.support.v14.preference.PreferenceDialogFragment; -import android.support.v7.preference.DialogPreference; +import androidx.preference.PreferenceDialogFragment; +import androidx.preference.DialogPreference; import android.util.AttributeSet; import android.view.View; diff --git a/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java b/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java index d39ec4b43151..04c39540cf27 100644 --- a/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/CustomEditTextPreference.java @@ -23,9 +23,9 @@ import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.CallSuper; -import android.support.v14.preference.EditTextPreferenceDialogFragment; -import android.support.v7.preference.EditTextPreference; +import androidx.annotation.CallSuper; +import androidx.preference.EditTextPreferenceDialogFragment; +import androidx.preference.EditTextPreference; import android.util.AttributeSet; import android.view.View; import android.widget.EditText; diff --git a/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java b/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java index f2cd1033cd38..c98bc39fe574 100644 --- a/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/DeviceInfoUtils.java @@ -30,7 +30,7 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import android.text.format.DateFormat; import android.util.Log; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import java.io.BufferedReader; import java.io.FileReader; diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java index 8bab3ca05dd6..7f518c1d71d3 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedLockUtils.java @@ -35,7 +35,7 @@ import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.SpannableStringBuilder; import android.text.Spanned; import android.text.style.ForegroundColorSpan; diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreference.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreference.java index b4a3b51809ce..79e011c6e7ed 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreference.java @@ -18,9 +18,9 @@ package com.android.settingslib; import android.content.Context; import android.os.UserHandle; -import android.support.v4.content.res.TypedArrayUtils; -import android.support.v7.preference.PreferenceManager; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.core.content.res.TypedArrayUtils; +import androidx.preference.PreferenceManager; +import androidx.preference.PreferenceViewHolder; import android.util.AttributeSet; import android.view.View; diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java index 8e3a6c51ddda..a930bb8373ba 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedPreferenceHelper.java @@ -20,8 +20,8 @@ import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; import android.os.UserHandle; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.Preference; +import androidx.preference.PreferenceViewHolder; import android.text.TextUtils; import android.util.AttributeSet; import android.util.TypedValue; diff --git a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java index 42b3156559e0..fe6d9fe77b73 100644 --- a/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/RestrictedSwitchPreference.java @@ -21,10 +21,10 @@ import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import android.content.Context; import android.content.res.TypedArray; import android.os.UserHandle; -import android.support.v14.preference.SwitchPreference; -import android.support.v4.content.res.TypedArrayUtils; -import android.support.v7.preference.PreferenceManager; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.SwitchPreference; +import androidx.core.content.res.TypedArrayUtils; +import androidx.preference.PreferenceManager; +import androidx.preference.PreferenceViewHolder; import android.util.AttributeSet; import android.util.TypedValue; import android.view.View; diff --git a/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java b/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java index abbef702bd9f..535b2929563a 100644 --- a/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java +++ b/packages/SettingsLib/src/com/android/settingslib/TetherUtil.java @@ -17,7 +17,7 @@ package com.android.settingslib; import android.content.Context; import android.os.SystemProperties; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.telephony.CarrierConfigManager; public class TetherUtil { diff --git a/packages/SettingsLib/src/com/android/settingslib/TwoTargetPreference.java b/packages/SettingsLib/src/com/android/settingslib/TwoTargetPreference.java index 02b68d8ccbc5..3a26f4649b64 100644 --- a/packages/SettingsLib/src/com/android/settingslib/TwoTargetPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/TwoTargetPreference.java @@ -18,8 +18,8 @@ package com.android.settingslib; import android.annotation.IntDef; import android.content.Context; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.Preference; +import androidx.preference.PreferenceViewHolder; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java index 093b1bd2b8f8..a3c1fc6ff265 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java @@ -22,9 +22,9 @@ import android.app.AppGlobals; import android.app.Application; import android.app.usage.StorageStats; import android.app.usage.StorageStatsManager; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.LifecycleObserver; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.LifecycleObserver; +import androidx.lifecycle.OnLifecycleEvent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -49,7 +49,7 @@ import android.os.RemoteException; import android.os.SystemClock; import android.os.UserHandle; import android.os.UserManager; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.format.Formatter; import android.util.IconDrawableFactory; import android.util.Log; diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/StorageStatsSource.java b/packages/SettingsLib/src/com/android/settingslib/applications/StorageStatsSource.java index 9fbadee3075a..b15f35ddc240 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/StorageStatsSource.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/StorageStatsSource.java @@ -21,7 +21,7 @@ import android.app.usage.StorageStatsManager; import android.content.Context; import android.content.pm.PackageManager; import android.os.UserHandle; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import java.io.IOException; diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java index bb8fbe2da9c9..04a7afa61c50 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java @@ -29,7 +29,7 @@ import android.os.SystemClock; import android.text.TextUtils; import android.util.Log; import android.bluetooth.BluetoothAdapter; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import com.android.settingslib.R; diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java index f7518cd63c5c..7f838600c5ee 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HeadsetProfile.java @@ -36,7 +36,6 @@ import java.util.List; */ public class HeadsetProfile implements LocalBluetoothProfile { private static final String TAG = "HeadsetProfile"; - private static boolean V = true; private BluetoothHeadset mService; private boolean mIsProfileReady; @@ -60,7 +59,7 @@ public class HeadsetProfile implements LocalBluetoothProfile { implements BluetoothProfile.ServiceListener { public void onServiceConnected(int profile, BluetoothProfile proxy) { - if (V) Log.d(TAG,"Bluetooth service connected"); + Log.d(TAG,"Bluetooth service connected"); mService = (BluetoothHeadset) proxy; // We just bound to the service, so refresh the UI for any connected HFP devices. List<BluetoothDevice> deviceList = mService.getConnectedDevices(); @@ -82,7 +81,7 @@ public class HeadsetProfile implements LocalBluetoothProfile { } public void onServiceDisconnected(int profile) { - if (V) Log.d(TAG,"Bluetooth service disconnected"); + Log.d(TAG,"Bluetooth service disconnected"); mProfileManager.callServiceDisconnectedListeners(); mIsProfileReady=false; } @@ -116,80 +115,76 @@ public class HeadsetProfile implements LocalBluetoothProfile { } public boolean connect(BluetoothDevice device) { - if (mService == null) return false; - List<BluetoothDevice> sinks = mService.getConnectedDevices(); - if (sinks != null) { - for (BluetoothDevice sink : sinks) { - Log.d(TAG,"Not disconnecting device = " + sink); - } + if (mService == null) { + return false; } return mService.connect(device); } public boolean disconnect(BluetoothDevice device) { - if (mService == null) return false; - List<BluetoothDevice> deviceList = mService.getConnectedDevices(); - if (!deviceList.isEmpty()) { - for (BluetoothDevice dev : deviceList) { - if (dev.equals(device)) { - if (V) Log.d(TAG,"Downgrade priority as user" + - "is disconnecting the headset"); - // Downgrade priority as user is disconnecting the headset. - if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON) { - mService.setPriority(device, BluetoothProfile.PRIORITY_ON); - } - return mService.disconnect(device); - } - } + if (mService == null) { + return false; + } + // Downgrade priority as user is disconnecting the headset. + if (mService.getPriority(device) > BluetoothProfile.PRIORITY_ON) { + mService.setPriority(device, BluetoothProfile.PRIORITY_ON); } - return false; + return mService.disconnect(device); } public int getConnectionStatus(BluetoothDevice device) { - if (mService == null) return BluetoothProfile.STATE_DISCONNECTED; - List<BluetoothDevice> deviceList = mService.getConnectedDevices(); - if (!deviceList.isEmpty()){ - for (BluetoothDevice dev : deviceList) { - if (dev.equals(device)) { - return mService.getConnectionState(device); - } - } + if (mService == null) { + return BluetoothProfile.STATE_DISCONNECTED; } - return BluetoothProfile.STATE_DISCONNECTED; + return mService.getConnectionState(device); } public boolean setActiveDevice(BluetoothDevice device) { - if (mService == null) return false; + if (mService == null) { + return false; + } return mService.setActiveDevice(device); } public BluetoothDevice getActiveDevice() { - if (mService == null) return null; + if (mService == null) { + return null; + } return mService.getActiveDevice(); } public boolean isAudioOn() { - if (mService == null) return false; + if (mService == null) { + return false; + } return mService.isAudioOn(); } public int getAudioState(BluetoothDevice device) { - if (mService == null) return BluetoothHeadset.STATE_AUDIO_DISCONNECTED; + if (mService == null) { + return BluetoothHeadset.STATE_AUDIO_DISCONNECTED; + } return mService.getAudioState(device); } public boolean isPreferred(BluetoothDevice device) { - if (mService == null) return false; + if (mService == null) { + return false; + } return mService.getPriority(device) > BluetoothProfile.PRIORITY_OFF; } public int getPreferred(BluetoothDevice device) { - if (mService == null) return BluetoothProfile.PRIORITY_OFF; + if (mService == null) { + return BluetoothProfile.PRIORITY_OFF; + } return mService.getPriority(device); } public void setPreferred(BluetoothDevice device, boolean preferred) { - if (mService == null) return; + if (mService == null) { + return; + } if (preferred) { if (mService.getPriority(device) < BluetoothProfile.PRIORITY_ON) { mService.setPriority(device, BluetoothProfile.PRIORITY_ON); @@ -200,7 +195,9 @@ public class HeadsetProfile implements LocalBluetoothProfile { } public List<BluetoothDevice> getConnectedDevices() { - if (mService == null) return new ArrayList<BluetoothDevice>(0); + if (mService == null) { + return new ArrayList<BluetoothDevice>(0); + } return mService.getDevicesMatchingConnectionStates( new int[] {BluetoothProfile.STATE_CONNECTED, BluetoothProfile.STATE_CONNECTING, @@ -238,7 +235,7 @@ public class HeadsetProfile implements LocalBluetoothProfile { } protected void finalize() { - if (V) Log.d(TAG, "finalize()"); + Log.d(TAG, "finalize()"); if (mService != null) { try { BluetoothAdapter.getDefaultAdapter().closeProfileProxy(BluetoothProfile.HEADSET, diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java index 93e562179399..dc17e44cb08d 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HidProfile.java @@ -29,7 +29,7 @@ import com.android.settingslib.R; import java.util.List; /** - * HidProfile handles Bluetooth HID profile. + * HidProfile handles Bluetooth HID Host role. */ public class HidProfile implements LocalBluetoothProfile { private static final String TAG = "HidProfile"; @@ -117,11 +117,7 @@ public class HidProfile implements LocalBluetoothProfile { if (mService == null) { return BluetoothProfile.STATE_DISCONNECTED; } - List<BluetoothDevice> deviceList = mService.getConnectedDevices(); - - return !deviceList.isEmpty() && deviceList.get(0).equals(device) - ? mService.getConnectionState(device) - : BluetoothProfile.STATE_DISCONNECTED; + return mService.getConnectionState(device); } public boolean isPreferred(BluetoothDevice device) { diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java index 62f8724870e3..85c65cc4f398 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothProfileManager.java @@ -34,7 +34,7 @@ import android.bluetooth.BluetoothUuid; import android.content.Context; import android.content.Intent; import android.os.ParcelUuid; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.Log; import com.android.internal.R; import java.util.ArrayList; diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/Utils.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/Utils.java index 0ee1dad9d744..26f3ab69ba37 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/Utils.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/Utils.java @@ -5,7 +5,7 @@ import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothProfile; import android.content.Context; import android.graphics.drawable.Drawable; -import android.support.annotation.DrawableRes; +import androidx.annotation.DrawableRes; import android.util.Pair; import com.android.settingslib.R; diff --git a/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java index 573504a96141..f4d647d61005 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/AbstractPreferenceController.java @@ -1,9 +1,9 @@ package com.android.settingslib.core; import android.content.Context; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceGroup; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceGroup; +import androidx.preference.PreferenceScreen; /** * A controller that manages event for preference. diff --git a/packages/SettingsLib/src/com/android/settingslib/core/ConfirmationDialogController.java b/packages/SettingsLib/src/com/android/settingslib/core/ConfirmationDialogController.java index 72ab8c3848c5..1d3a909df55b 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/ConfirmationDialogController.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/ConfirmationDialogController.java @@ -16,8 +16,8 @@ package com.android.settingslib.core; -import android.support.annotation.Nullable; -import android.support.v7.preference.Preference; +import androidx.annotation.Nullable; +import androidx.preference.Preference; /** * Interface for {@link AbstractPreferenceController} objects which manage confirmation dialogs diff --git a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SharedPreferencesLogger.java b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SharedPreferencesLogger.java index facce4e0bcbb..a79f125d4c99 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SharedPreferencesLogger.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SharedPreferencesLogger.java @@ -20,7 +20,7 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.AsyncTask; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.TextUtils; import android.util.Log; import android.util.Pair; diff --git a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixin.java b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixin.java index c23f22648764..cb1ca59d2f43 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixin.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixin.java @@ -17,9 +17,9 @@ package com.android.settingslib.core.instrumentation; import android.app.Activity; -import android.arch.lifecycle.Lifecycle.Event; -import android.arch.lifecycle.LifecycleObserver; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle.Event; +import androidx.lifecycle.LifecycleObserver; +import androidx.lifecycle.OnLifecycleEvent; import android.content.Intent; import android.os.SystemClock; diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/Lifecycle.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/Lifecycle.java index 451e5611979a..7ec757a56217 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/Lifecycle.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/Lifecycle.java @@ -15,17 +15,17 @@ */ package com.android.settingslib.core.lifecycle; -import static android.arch.lifecycle.Lifecycle.Event.ON_ANY; +import static androidx.lifecycle.Lifecycle.Event.ON_ANY; import android.annotation.UiThread; -import android.arch.lifecycle.LifecycleOwner; -import android.arch.lifecycle.LifecycleRegistry; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleRegistry; +import androidx.lifecycle.OnLifecycleEvent; import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.preference.PreferenceScreen; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; @@ -75,7 +75,7 @@ public class Lifecycle extends LifecycleRegistry { */ @UiThread @Override - public void addObserver(android.arch.lifecycle.LifecycleObserver observer) { + public void addObserver(androidx.lifecycle.LifecycleObserver observer) { ThreadUtils.ensureMainThread(); super.addObserver(observer); if (observer instanceof LifecycleObserver) { @@ -85,7 +85,7 @@ public class Lifecycle extends LifecycleRegistry { @UiThread @Override - public void removeObserver(android.arch.lifecycle.LifecycleObserver observer) { + public void removeObserver(androidx.lifecycle.LifecycleObserver observer) { ThreadUtils.ensureMainThread(); super.removeObserver(observer); if (observer instanceof LifecycleObserver) { @@ -207,7 +207,7 @@ public class Lifecycle extends LifecycleRegistry { } private class LifecycleProxy - implements android.arch.lifecycle.LifecycleObserver { + implements androidx.lifecycle.LifecycleObserver { @OnLifecycleEvent(ON_ANY) public void onLifecycleEvent(LifecycleOwner owner, Event event) { switch (event) { diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/LifecycleObserver.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/LifecycleObserver.java index ec8a8b537f48..9eb25806263f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/LifecycleObserver.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/LifecycleObserver.java @@ -17,9 +17,9 @@ package com.android.settingslib.core.lifecycle; /** * Observer of lifecycle events. - * @deprecated use {@link android.arch.lifecycle.LifecycleObserver} instead + * @deprecated use {@link androidx.lifecycle.LifecycleObserver} instead */ @Deprecated public interface LifecycleObserver extends - android.arch.lifecycle.LifecycleObserver { + androidx.lifecycle.LifecycleObserver { } diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableActivity.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableActivity.java index 8b062f8447b0..f9aa062b64da 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableActivity.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableActivity.java @@ -15,16 +15,16 @@ */ package com.android.settingslib.core.lifecycle; -import static android.arch.lifecycle.Lifecycle.Event.ON_CREATE; -import static android.arch.lifecycle.Lifecycle.Event.ON_DESTROY; -import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE; -import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME; -import static android.arch.lifecycle.Lifecycle.Event.ON_START; -import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; +import static androidx.lifecycle.Lifecycle.Event.ON_CREATE; +import static androidx.lifecycle.Lifecycle.Event.ON_DESTROY; +import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE; +import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; +import static androidx.lifecycle.Lifecycle.Event.ON_START; +import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import android.annotation.Nullable; import android.app.Activity; -import android.arch.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleOwner; import android.os.Bundle; import android.os.PersistableBundle; import android.view.Menu; diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableDialogFragment.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableDialogFragment.java index dc95384b26a5..972e062bb396 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableDialogFragment.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableDialogFragment.java @@ -15,15 +15,15 @@ */ package com.android.settingslib.core.lifecycle; -import static android.arch.lifecycle.Lifecycle.Event.ON_CREATE; -import static android.arch.lifecycle.Lifecycle.Event.ON_DESTROY; -import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE; -import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME; -import static android.arch.lifecycle.Lifecycle.Event.ON_START; -import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; +import static androidx.lifecycle.Lifecycle.Event.ON_CREATE; +import static androidx.lifecycle.Lifecycle.Event.ON_DESTROY; +import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE; +import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; +import static androidx.lifecycle.Lifecycle.Event.ON_START; +import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import android.app.DialogFragment; -import android.arch.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleOwner; import android.content.Context; import android.os.Bundle; import android.view.Menu; diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableFragment.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableFragment.java index 925eda6ef9d5..55597cc1247a 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableFragment.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservableFragment.java @@ -16,16 +16,16 @@ package com.android.settingslib.core.lifecycle; -import static android.arch.lifecycle.Lifecycle.Event.ON_CREATE; -import static android.arch.lifecycle.Lifecycle.Event.ON_DESTROY; -import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE; -import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME; -import static android.arch.lifecycle.Lifecycle.Event.ON_START; -import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; +import static androidx.lifecycle.Lifecycle.Event.ON_CREATE; +import static androidx.lifecycle.Lifecycle.Event.ON_DESTROY; +import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE; +import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; +import static androidx.lifecycle.Lifecycle.Event.ON_START; +import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import android.annotation.CallSuper; import android.app.Fragment; -import android.arch.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleOwner; import android.content.Context; import android.os.Bundle; import android.view.Menu; diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservablePreferenceFragment.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservablePreferenceFragment.java index abd77559612e..904681c4aa3c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservablePreferenceFragment.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/ObservablePreferenceFragment.java @@ -16,19 +16,19 @@ package com.android.settingslib.core.lifecycle; -import static android.arch.lifecycle.Lifecycle.Event.ON_CREATE; -import static android.arch.lifecycle.Lifecycle.Event.ON_DESTROY; -import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE; -import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME; -import static android.arch.lifecycle.Lifecycle.Event.ON_START; -import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; +import static androidx.lifecycle.Lifecycle.Event.ON_CREATE; +import static androidx.lifecycle.Lifecycle.Event.ON_DESTROY; +import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE; +import static androidx.lifecycle.Lifecycle.Event.ON_RESUME; +import static androidx.lifecycle.Lifecycle.Event.ON_START; +import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import android.annotation.CallSuper; -import android.arch.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleOwner; import android.content.Context; import android.os.Bundle; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.PreferenceFragment; +import androidx.preference.PreferenceScreen; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnCreate.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnCreate.java index ad7068e2f9fb..ada1537250b6 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnCreate.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnCreate.java @@ -16,8 +16,8 @@ package com.android.settingslib.core.lifecycle.events; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.OnLifecycleEvent; import android.os.Bundle; /** diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnDestroy.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnDestroy.java index c37286e1efaa..938374832d38 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnDestroy.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnDestroy.java @@ -15,8 +15,8 @@ */ package com.android.settingslib.core.lifecycle.events; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.OnLifecycleEvent; /** * @deprecated use {@link OnLifecycleEvent(Lifecycle.Event) } diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnPause.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnPause.java index a5ab39c46ab1..b75d6d9d8438 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnPause.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnPause.java @@ -15,8 +15,8 @@ */ package com.android.settingslib.core.lifecycle.events; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.OnLifecycleEvent; /** * @deprecated use {@link OnLifecycleEvent(Lifecycle.Event) } diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnResume.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnResume.java index 1effba4a750d..5b0ff60b793d 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnResume.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnResume.java @@ -15,8 +15,8 @@ */ package com.android.settingslib.core.lifecycle.events; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.OnLifecycleEvent; /** * @deprecated use {@link OnLifecycleEvent(Lifecycle.Event)} diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStart.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStart.java index 07b8460367c1..7994dfd182f9 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStart.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStart.java @@ -15,8 +15,8 @@ */ package com.android.settingslib.core.lifecycle.events; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.OnLifecycleEvent; /** * @deprecated use {@link OnLifecycleEvent(Lifecycle.Event) } diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStop.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStop.java index d6a5967116be..52a13978d956 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStop.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/OnStop.java @@ -15,8 +15,8 @@ */ package com.android.settingslib.core.lifecycle.events; -import android.arch.lifecycle.Lifecycle; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.Lifecycle; +import androidx.lifecycle.OnLifecycleEvent; /** * @deprecated use {@link OnLifecycleEvent(Lifecycle.Event) } diff --git a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/SetPreferenceScreen.java b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/SetPreferenceScreen.java index cdd72fbc883f..87be3481eaa7 100644 --- a/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/SetPreferenceScreen.java +++ b/packages/SettingsLib/src/com/android/settingslib/core/lifecycle/events/SetPreferenceScreen.java @@ -16,7 +16,7 @@ package com.android.settingslib.core.lifecycle.events; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.PreferenceScreen; public interface SetPreferenceScreen { diff --git a/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java b/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java index 974b2a4389e2..955f64a357dc 100644 --- a/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java +++ b/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java @@ -20,9 +20,9 @@ import android.content.Context; import android.content.res.XmlResourceParser; import android.icu.text.TimeZoneFormat; import android.icu.text.TimeZoneNames; -import android.support.annotation.VisibleForTesting; -import android.support.v4.text.BidiFormatter; -import android.support.v4.text.TextDirectionHeuristicsCompat; +import androidx.annotation.VisibleForTesting; +import androidx.core.text.BidiFormatter; +import androidx.core.text.TextDirectionHeuristicsCompat; import android.text.SpannableString; import android.text.SpannableStringBuilder; import android.text.TextUtils; diff --git a/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java index 2d3dfe4511e0..a2ae9031d7b3 100644 --- a/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/development/AbstractEnableAdbPreferenceController.java @@ -22,12 +22,12 @@ import android.content.Context; import android.content.Intent; import android.os.UserManager; import android.provider.Settings; -import android.support.annotation.VisibleForTesting; -import android.support.v14.preference.SwitchPreference; -import android.support.v4.content.LocalBroadcastManager; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; -import android.support.v7.preference.TwoStatePreference; +import androidx.annotation.VisibleForTesting; +import androidx.preference.SwitchPreference; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; +import androidx.preference.TwoStatePreference; import android.text.TextUtils; import com.android.settingslib.core.ConfirmationDialogController; diff --git a/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogdSizePreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogdSizePreferenceController.java index f79be7eaddb1..e2f6b7b87560 100644 --- a/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogdSizePreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogdSizePreferenceController.java @@ -19,11 +19,11 @@ package com.android.settingslib.development; import android.content.Context; import android.content.Intent; import android.os.SystemProperties; -import android.support.annotation.VisibleForTesting; -import android.support.v4.content.LocalBroadcastManager; -import android.support.v7.preference.ListPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.preference.ListPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.R; diff --git a/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogpersistPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogpersistPreferenceController.java index 77b2d86c445f..f277c16a1e2c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogpersistPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/development/AbstractLogpersistPreferenceController.java @@ -22,11 +22,11 @@ import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.os.SystemProperties; -import android.support.annotation.VisibleForTesting; -import android.support.v4.content.LocalBroadcastManager; -import android.support.v7.preference.ListPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.preference.ListPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.text.TextUtils; import com.android.settingslib.R; diff --git a/packages/SettingsLib/src/com/android/settingslib/development/DeveloperOptionsPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/development/DeveloperOptionsPreferenceController.java index d3dc8aa13482..15d5522bbd7b 100644 --- a/packages/SettingsLib/src/com/android/settingslib/development/DeveloperOptionsPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/development/DeveloperOptionsPreferenceController.java @@ -17,8 +17,8 @@ package com.android.settingslib.development; import android.content.Context; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.core.AbstractPreferenceController; diff --git a/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java b/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java index d21da4e1cd0e..8d186032bfef 100644 --- a/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java +++ b/packages/SettingsLib/src/com/android/settingslib/development/DevelopmentSettingsEnabler.java @@ -21,7 +21,7 @@ import android.content.Intent; import android.os.Build; import android.os.UserManager; import android.provider.Settings; -import android.support.v4.content.LocalBroadcastManager; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; public class DevelopmentSettingsEnabler { diff --git a/packages/SettingsLib/src/com/android/settingslib/development/SystemPropPoker.java b/packages/SettingsLib/src/com/android/settingslib/development/SystemPropPoker.java index 628d0d08b526..dba22d0c6af3 100644 --- a/packages/SettingsLib/src/com/android/settingslib/development/SystemPropPoker.java +++ b/packages/SettingsLib/src/com/android/settingslib/development/SystemPropPoker.java @@ -21,8 +21,8 @@ import android.os.IBinder; import android.os.Parcel; import android.os.RemoteException; import android.os.ServiceManager; -import android.support.annotation.NonNull; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.NonNull; +import androidx.annotation.VisibleForTesting; import android.util.Log; public class SystemPropPoker { diff --git a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractBluetoothAddressPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractBluetoothAddressPreferenceController.java index ba358f83c9d5..821b4d5da049 100644 --- a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractBluetoothAddressPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractBluetoothAddressPreferenceController.java @@ -19,9 +19,9 @@ package com.android.settingslib.deviceinfo; import android.annotation.SuppressLint; import android.bluetooth.BluetoothAdapter; import android.content.Context; -import android.support.annotation.VisibleForTesting; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.text.TextUtils; import com.android.settingslib.R; diff --git a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractImsStatusPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractImsStatusPreferenceController.java index bb8404b0abd5..10260de289d3 100644 --- a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractImsStatusPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractImsStatusPreferenceController.java @@ -21,9 +21,9 @@ import android.content.Context; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; import android.os.PersistableBundle; -import android.support.annotation.VisibleForTesting; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; diff --git a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractIpAddressPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractIpAddressPreferenceController.java index ded30226e2ae..45cd86667f1e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractIpAddressPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractIpAddressPreferenceController.java @@ -20,9 +20,9 @@ import android.content.Context; import android.net.ConnectivityManager; import android.net.LinkProperties; import android.net.wifi.WifiManager; -import android.support.annotation.VisibleForTesting; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.R; import com.android.settingslib.core.lifecycle.Lifecycle; diff --git a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractSerialNumberPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractSerialNumberPreferenceController.java index 90f14ef4c32c..60b29fb8682f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractSerialNumberPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractSerialNumberPreferenceController.java @@ -18,9 +18,9 @@ package com.android.settingslib.deviceinfo; import android.content.Context; import android.os.Build; -import android.support.annotation.VisibleForTesting; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.text.TextUtils; import com.android.settingslib.core.AbstractPreferenceController; diff --git a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractUptimePreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractUptimePreferenceController.java index ac61ade19222..332a2a463b74 100644 --- a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractUptimePreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractUptimePreferenceController.java @@ -20,9 +20,9 @@ import android.content.Context; import android.os.Handler; import android.os.Message; import android.os.SystemClock; -import android.support.annotation.VisibleForTesting; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.text.format.DateUtils; import com.android.settingslib.core.AbstractPreferenceController; diff --git a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractWifiMacAddressPreferenceController.java b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractWifiMacAddressPreferenceController.java index 2a86993124f6..89d259507d8a 100644 --- a/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractWifiMacAddressPreferenceController.java +++ b/packages/SettingsLib/src/com/android/settingslib/deviceinfo/AbstractWifiMacAddressPreferenceController.java @@ -22,9 +22,9 @@ import android.net.ConnectivityManager; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.provider.Settings; -import android.support.annotation.VisibleForTesting; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.annotation.VisibleForTesting; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.text.TextUtils; import com.android.settingslib.R; diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryManager.java b/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryManager.java index 07033304653c..d9605367dc56 100644 --- a/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/drawer/CategoryManager.java @@ -17,7 +17,7 @@ package com.android.settingslib.drawer; import android.content.ComponentName; import android.content.Context; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; diff --git a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/PowerWhitelistBackend.java b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/PowerWhitelistBackend.java index 7234788b2e04..134b3cf57876 100644 --- a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/PowerWhitelistBackend.java +++ b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/PowerWhitelistBackend.java @@ -22,7 +22,7 @@ import android.content.pm.PackageManager; import android.os.IDeviceIdleController; import android.os.RemoteException; import android.os.ServiceManager; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.telecom.DefaultDialerManager; import android.text.TextUtils; import android.util.ArraySet; diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawable.java b/packages/SettingsLib/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawable.java index 3c5ac8dff0af..17523013a94f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawable.java +++ b/packages/SettingsLib/src/com/android/settingslib/graph/BluetoothDeviceLayerDrawable.java @@ -28,7 +28,7 @@ import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.LayerDrawable; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.view.Gravity; import android.view.View; diff --git a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeEnablerManager.java b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeEnablerManager.java index c9e3475eafd6..628e70af8318 100644 --- a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeEnablerManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeEnablerManager.java @@ -19,11 +19,11 @@ package com.android.settingslib.inputmethod; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Configuration; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceCategory; -import android.support.v7.preference.PreferenceScreen; -import android.support.v7.preference.TwoStatePreference; +import androidx.preference.PreferenceFragment; +import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; +import androidx.preference.PreferenceScreen; +import androidx.preference.TwoStatePreference; import android.text.TextUtils; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; diff --git a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtil.java b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtil.java index 55be13761a97..0a5c28c7b127 100644 --- a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtil.java +++ b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodAndSubtypeUtil.java @@ -25,10 +25,10 @@ import android.content.res.Configuration; import android.icu.text.ListFormatter; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; -import android.support.v7.preference.TwoStatePreference; +import androidx.preference.PreferenceFragment; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; +import androidx.preference.TwoStatePreference; import android.text.TextUtils; import android.util.Log; import android.view.inputmethod.InputMethodInfo; diff --git a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java index 5e25f519a130..2e34dc5cac83 100644 --- a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java @@ -24,9 +24,9 @@ import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.os.UserHandle; -import android.support.v7.preference.Preference; -import android.support.v7.preference.Preference.OnPreferenceChangeListener; -import android.support.v7.preference.Preference.OnPreferenceClickListener; +import androidx.preference.Preference; +import androidx.preference.Preference.OnPreferenceChangeListener; +import androidx.preference.Preference.OnPreferenceClickListener; import android.text.TextUtils; import android.util.Log; import android.view.inputmethod.InputMethodInfo; diff --git a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodSubtypePreference.java b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodSubtypePreference.java index f824ec75968b..a0b1df25baf6 100644 --- a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodSubtypePreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodSubtypePreference.java @@ -17,7 +17,7 @@ package com.android.settingslib.inputmethod; import android.content.Context; -import android.support.v7.preference.Preference; +import androidx.preference.Preference; import android.text.TextUtils; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodSubtype; diff --git a/packages/SettingsLib/src/com/android/settingslib/inputmethod/SwitchWithNoTextPreference.java b/packages/SettingsLib/src/com/android/settingslib/inputmethod/SwitchWithNoTextPreference.java index 798f8fe73b24..2b38697a65ce 100644 --- a/packages/SettingsLib/src/com/android/settingslib/inputmethod/SwitchWithNoTextPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/inputmethod/SwitchWithNoTextPreference.java @@ -17,7 +17,7 @@ package com.android.settingslib.inputmethod; import android.content.Context; -import android.support.v14.preference.SwitchPreference; +import androidx.preference.SwitchPreference; public class SwitchWithNoTextPreference extends SwitchPreference { private static final String EMPTY_TEXT = ""; diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java index e3e27ce17c9a..444c19c94c9f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java +++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlGeneratorFromXml.java @@ -16,7 +16,7 @@ package com.android.settingslib.license; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.TextUtils; import android.util.Log; import android.util.Xml; diff --git a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java index a9fb20ca9e17..307b025107d6 100644 --- a/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java +++ b/packages/SettingsLib/src/com/android/settingslib/license/LicenseHtmlLoader.java @@ -17,7 +17,7 @@ package com.android.settingslib.license; import android.content.Context; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.Log; import com.android.settingslib.utils.AsyncLoader; @@ -36,7 +36,9 @@ public class LicenseHtmlLoader extends AsyncLoader<File> { "/system/etc/NOTICE.xml.gz", "/vendor/etc/NOTICE.xml.gz", "/odm/etc/NOTICE.xml.gz", - "/oem/etc/NOTICE.xml.gz"}; + "/oem/etc/NOTICE.xml.gz", + "/product/etc/NOTICE.xml.gz", + "/product_services/etc/NOTICE.xml.gz"}; private static final String NOTICE_HTML_FILE_NAME = "NOTICE.html"; private Context mContext; diff --git a/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationApps.java b/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationApps.java index 13364aba00fd..96bed93165fb 100644 --- a/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationApps.java +++ b/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationApps.java @@ -25,7 +25,7 @@ import android.graphics.drawable.Drawable; import android.os.Process; import android.os.UserHandle; import android.os.UserManager; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.format.DateUtils; import android.util.IconDrawableFactory; import android.util.Log; diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java b/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java index adf49aaf4e68..6da486ab3aa8 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java +++ b/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java @@ -24,7 +24,7 @@ import android.content.DialogInterface; import android.provider.Settings; import android.service.notification.Condition; import android.service.notification.ZenModeConfig; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.view.LayoutInflater; import android.view.View; import android.widget.CompoundButton; diff --git a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionController.java b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionController.java index b0451b7ad2ea..6a8b01a23688 100644 --- a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionController.java +++ b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionController.java @@ -24,8 +24,8 @@ import android.os.IBinder; import android.os.RemoteException; import android.service.settings.suggestions.ISuggestionService; import android.service.settings.suggestions.Suggestion; -import android.support.annotation.Nullable; -import android.support.annotation.WorkerThread; +import androidx.annotation.Nullable; +import androidx.annotation.WorkerThread; import android.util.Log; import java.util.List; diff --git a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java index 46fc32fa43cc..ee8b6fe60478 100644 --- a/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java +++ b/packages/SettingsLib/src/com/android/settingslib/suggestions/SuggestionControllerMixin.java @@ -17,13 +17,13 @@ package com.android.settingslib.suggestions; import android.app.LoaderManager; -import android.arch.lifecycle.OnLifecycleEvent; +import androidx.lifecycle.OnLifecycleEvent; import android.content.ComponentName; import android.content.Context; import android.content.Loader; import android.os.Bundle; import android.service.settings.suggestions.Suggestion; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.Log; import com.android.settingslib.core.lifecycle.Lifecycle; @@ -34,7 +34,7 @@ import java.util.List; * Manages IPC communication to SettingsIntelligence for suggestion related services. */ public class SuggestionControllerMixin implements SuggestionController.ServiceConnectionListener, - android.arch.lifecycle.LifecycleObserver, LoaderManager.LoaderCallbacks<List<Suggestion>> { + androidx.lifecycle.LifecycleObserver, LoaderManager.LoaderCallbacks<List<Suggestion>> { public interface SuggestionControllerHost { /** diff --git a/packages/SettingsLib/src/com/android/settingslib/users/AppRestrictionsHelper.java b/packages/SettingsLib/src/com/android/settingslib/users/AppRestrictionsHelper.java index 0fc9a4d6e408..7cdbe719df78 100644 --- a/packages/SettingsLib/src/com/android/settingslib/users/AppRestrictionsHelper.java +++ b/packages/SettingsLib/src/com/android/settingslib/users/AppRestrictionsHelper.java @@ -31,7 +31,7 @@ import android.graphics.drawable.Drawable; import android.os.RemoteException; import android.os.UserHandle; import android.os.UserManager; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.TextUtils; import android.util.Log; import android.view.inputmethod.InputMethodInfo; diff --git a/packages/SettingsLib/src/com/android/settingslib/utils/IconCache.java b/packages/SettingsLib/src/com/android/settingslib/utils/IconCache.java index 3d55c4fee358..f0548ff7a923 100644 --- a/packages/SettingsLib/src/com/android/settingslib/utils/IconCache.java +++ b/packages/SettingsLib/src/com/android/settingslib/utils/IconCache.java @@ -19,8 +19,8 @@ package com.android.settingslib.utils; import android.content.Context; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; -import android.support.annotation.VisibleForTesting; -import android.support.v4.util.ArrayMap; +import androidx.annotation.VisibleForTesting; +import androidx.collection.ArrayMap; /** diff --git a/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java b/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java index a53ff3904346..e16da84ce713 100644 --- a/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java +++ b/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java @@ -22,7 +22,7 @@ import android.icu.text.MeasureFormat; import android.icu.text.MeasureFormat.FormatWidth; import android.icu.util.Measure; import android.icu.util.MeasureUnit; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.text.TextUtils; import com.android.settingslib.R; diff --git a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java index e6935516f401..87a56c7548d2 100644 --- a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreference.java @@ -17,9 +17,9 @@ package com.android.settingslib.widget; import android.content.Context; -import android.support.v4.content.res.TypedArrayUtils; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.core.content.res.TypedArrayUtils; +import androidx.preference.Preference; +import androidx.preference.PreferenceViewHolder; import android.text.method.LinkMovementMethod; import android.util.AttributeSet; import android.widget.TextView; diff --git a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java index 2edcd9e2c066..5883754fa2ed 100644 --- a/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java +++ b/packages/SettingsLib/src/com/android/settingslib/widget/FooterPreferenceMixin.java @@ -17,8 +17,8 @@ package com.android.settingslib.widget; import android.content.Context; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.PreferenceFragment; +import androidx.preference.PreferenceScreen; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java index 50dfc26d6a2b..b9c76013b0d7 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java @@ -48,7 +48,7 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemClock; import android.os.UserHandle; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.text.Spannable; import android.text.SpannableString; import android.text.TextUtils; diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java index 26f3683f92b4..b07dd8f18354 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java @@ -25,9 +25,9 @@ import android.graphics.drawable.StateListDrawable; import android.net.wifi.WifiConfiguration; import android.os.Looper; import android.os.UserHandle; -import android.support.annotation.VisibleForTesting; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.annotation.VisibleForTesting; +import androidx.preference.Preference; +import androidx.preference.PreferenceViewHolder; import android.text.TextUtils; import android.util.AttributeSet; import android.util.SparseArray; diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/TestAccessPointBuilder.java b/packages/SettingsLib/src/com/android/settingslib/wifi/TestAccessPointBuilder.java index 2993a0de0658..5862e6f19e16 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/TestAccessPointBuilder.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/TestAccessPointBuilder.java @@ -24,7 +24,7 @@ import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiInfo; import android.os.Bundle; import android.os.Parcelable; -import android.support.annotation.Keep; +import androidx.annotation.Keep; import com.android.settingslib.wifi.AccessPoint.Speed; diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java index d8f0886730d8..6211d1214fcc 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java @@ -41,9 +41,9 @@ import android.os.Message; import android.os.Process; import android.os.SystemClock; import android.provider.Settings; -import android.support.annotation.GuardedBy; -import android.support.annotation.NonNull; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.GuardedBy; +import androidx.annotation.NonNull; +import androidx.annotation.VisibleForTesting; import android.text.format.DateUtils; import android.util.ArrayMap; import android.util.ArraySet; diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java index 8b5863aee91f..e73d952cd645 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTrackerFactory.java @@ -16,8 +16,8 @@ package com.android.settingslib.wifi; import android.content.Context; -import android.support.annotation.Keep; -import android.support.annotation.NonNull; +import androidx.annotation.Keep; +import androidx.annotation.NonNull; import com.android.settingslib.core.lifecycle.Lifecycle; diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java index bee2fa135957..4792317c9f1e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiUtils.java @@ -21,7 +21,7 @@ import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiInfo; import android.os.SystemClock; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import com.android.settingslib.R; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/RestrictedPreferenceHelperTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/RestrictedPreferenceHelperTest.java index a8821ba60785..f00ae0b08019 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/RestrictedPreferenceHelperTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/RestrictedPreferenceHelperTest.java @@ -24,8 +24,8 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.Preference; +import androidx.preference.PreferenceViewHolder; import android.view.View; import android.widget.TextView; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TwoTargetPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TwoTargetPreferenceTest.java index 480143a79410..efd7de351ebe 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TwoTargetPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/TwoTargetPreferenceTest.java @@ -24,7 +24,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import android.content.Context; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.PreferenceViewHolder; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/AbstractPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/AbstractPreferenceControllerTest.java index 393fd029e6da..5261ea0c88bb 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/AbstractPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/AbstractPreferenceControllerTest.java @@ -19,8 +19,8 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; import android.content.Context; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import org.junit.Before; import org.junit.Test; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixinTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixinTest.java index 8b31450f8a3f..f34c33844d11 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixinTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/VisibilityLoggerMixinTest.java @@ -30,7 +30,7 @@ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.support.v4.app.FragmentActivity; +import androidx.fragment.app.FragmentActivity; import com.android.internal.logging.nano.MetricsProto; import com.android.settingslib.SettingsLibRobolectricTestRunner; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java index 2b2bf5b6cc8b..52068e9842e5 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/lifecycle/LifecycleTest.java @@ -15,10 +15,10 @@ */ package com.android.settingslib.core.lifecycle; -import static android.arch.lifecycle.Lifecycle.Event.ON_START; +import static androidx.lifecycle.Lifecycle.Event.ON_START; import static com.google.common.truth.Truth.assertThat; -import android.arch.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleOwner; import android.content.Context; import android.view.Menu; import android.view.MenuInflater; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DeveloperOptionsPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DeveloperOptionsPreferenceControllerTest.java index 7820fd2fe340..9dd93b3af390 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DeveloperOptionsPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/DeveloperOptionsPreferenceControllerTest.java @@ -19,8 +19,8 @@ package com.android.settingslib.development; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.SettingsLibRobolectricTestRunner; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java index 475e7d8c2209..7c653351974a 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/EnableAdbPreferenceControllerTest.java @@ -26,9 +26,9 @@ import android.content.Context; import android.content.pm.PackageManager; import android.os.UserManager; import android.provider.Settings; -import android.support.v14.preference.SwitchPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.SwitchPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.SettingsLibRobolectricTestRunner; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogdSizePreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogdSizePreferenceControllerTest.java index 72c8d1ad3642..ae3072ca86b8 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogdSizePreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogdSizePreferenceControllerTest.java @@ -40,8 +40,8 @@ import static org.mockito.Mockito.verify; import android.content.Context; import android.os.SystemProperties; -import android.support.v7.preference.ListPreference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.ListPreference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.R; import com.android.settingslib.SettingsLibRobolectricTestRunner; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogpersistPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogpersistPreferenceControllerTest.java index 4b9bfc3f37ca..b0aaa256fdab 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogpersistPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/development/LogpersistPreferenceControllerTest.java @@ -21,11 +21,11 @@ import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; -import android.arch.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleOwner; import android.os.SystemProperties; -import android.support.v7.preference.ListPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.ListPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.SettingsLibRobolectricTestRunner; import com.android.settingslib.core.lifecycle.Lifecycle; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/BluetoothAddressPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/BluetoothAddressPreferenceControllerTest.java index 0385f4bd29af..8ec7149ce1a8 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/BluetoothAddressPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/BluetoothAddressPreferenceControllerTest.java @@ -22,8 +22,8 @@ import static org.mockito.Mockito.doReturn; import android.bluetooth.BluetoothAdapter; import android.content.Context; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.SettingsLibRobolectricTestRunner; import com.android.settingslib.core.lifecycle.Lifecycle; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/ImsStatusPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/ImsStatusPreferenceControllerTest.java index d600c2093c77..cb7861b30562 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/ImsStatusPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/ImsStatusPreferenceControllerTest.java @@ -23,8 +23,8 @@ import static org.mockito.Mockito.mock; import android.content.Context; import android.os.PersistableBundle; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/IpAddressPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/IpAddressPreferenceControllerTest.java index 99e582cae60a..8f144cdf3a15 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/IpAddressPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/IpAddressPreferenceControllerTest.java @@ -23,8 +23,8 @@ import static org.mockito.Mockito.doReturn; import android.content.Context; import android.net.ConnectivityManager; import android.net.wifi.WifiManager; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.SettingsLibRobolectricTestRunner; import com.android.settingslib.core.lifecycle.Lifecycle; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/SerialNumberPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/SerialNumberPreferenceControllerTest.java index a4fa7aa29bef..69fb86e88d5b 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/SerialNumberPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/SerialNumberPreferenceControllerTest.java @@ -20,8 +20,8 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; import android.content.Context; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.SettingsLibRobolectricTestRunner; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/UptimePreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/UptimePreferenceControllerTest.java index 39e05faddc1a..ba955f9f2275 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/UptimePreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/UptimePreferenceControllerTest.java @@ -23,8 +23,8 @@ import static org.mockito.Mockito.verify; import android.content.Context; import android.os.SystemClock; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.text.format.DateUtils; import com.android.settingslib.SettingsLibRobolectricTestRunner; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/WifiMacAddressPreferenceControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/WifiMacAddressPreferenceControllerTest.java index b7bc661116e9..ddbcb87725d1 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/WifiMacAddressPreferenceControllerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/deviceinfo/WifiMacAddressPreferenceControllerTest.java @@ -28,8 +28,8 @@ import android.net.ConnectivityManager; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.provider.Settings; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import com.android.settingslib.R; import com.android.settingslib.SettingsLibRobolectricTestRunner; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/suggestions/SuggestionControllerMixinTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/suggestions/SuggestionControllerMixinTest.java index cfa16b8a952a..f486989f5a56 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/suggestions/SuggestionControllerMixinTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/suggestions/SuggestionControllerMixinTest.java @@ -16,15 +16,15 @@ package com.android.settingslib.suggestions; -import static android.arch.lifecycle.Lifecycle.Event.ON_START; -import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; +import static androidx.lifecycle.Lifecycle.Event.ON_START; +import static androidx.lifecycle.Lifecycle.Event.ON_STOP; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.app.LoaderManager; -import android.arch.lifecycle.LifecycleOwner; +import androidx.lifecycle.LifecycleOwner; import android.content.ComponentName; import android.content.Context; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java index 8071c6db4cfd..78b7616716f5 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceMixinTest.java @@ -23,10 +23,10 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.arch.lifecycle.LifecycleOwner; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.PreferenceManager; -import android.support.v7.preference.PreferenceScreen; +import androidx.lifecycle.LifecycleOwner; +import androidx.preference.PreferenceFragment; +import androidx.preference.PreferenceManager; +import androidx.preference.PreferenceScreen; import com.android.settingslib.SettingsLibRobolectricTestRunner; import com.android.settingslib.core.lifecycle.Lifecycle; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java index ff11b803c053..3280089a88f6 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/FooterPreferenceTest.java @@ -19,7 +19,7 @@ package com.android.settingslib.widget; import static com.google.common.truth.Truth.assertThat; import android.content.Context; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.PreferenceViewHolder; import android.text.method.LinkMovementMethod; import android.view.LayoutInflater; import android.widget.TextView; diff --git a/packages/Shell/Android.mk b/packages/Shell/Android.mk index 5713dc679341..b738d7771465 100644 --- a/packages/Shell/Android.mk +++ b/packages/Shell/Android.mk @@ -12,7 +12,8 @@ LOCAL_SRC_FILES += \ LOCAL_AIDL_INCLUDES = frameworks/native/cmds/dumpstate/binder -LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 +LOCAL_STATIC_ANDROID_LIBRARIES := androidx.legacy_legacy-support-v4 +LOCAL_USE_AAPT2 := true LOCAL_PACKAGE_NAME := Shell LOCAL_PRIVATE_PLATFORM_APIS := true diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml index b4f331d89074..8a5cb4a6d643 100644 --- a/packages/Shell/AndroidManifest.xml +++ b/packages/Shell/AndroidManifest.xml @@ -157,7 +157,7 @@ android:defaultToDeviceProtectedStorage="true" android:directBootAware="true"> <provider - android:name="android.support.v4.content.FileProvider" + android:name="androidx.core.content.FileProvider" android:authorities="com.android.shell" android:grantUriPermissions="true" android:exported="false"> diff --git a/packages/Shell/src/com/android/shell/BugreportProgressService.java b/packages/Shell/src/com/android/shell/BugreportProgressService.java index 600f0dc37775..4fc190d43056 100644 --- a/packages/Shell/src/com/android/shell/BugreportProgressService.java +++ b/packages/Shell/src/com/android/shell/BugreportProgressService.java @@ -88,7 +88,7 @@ import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.os.Vibrator; -import android.support.v4.content.FileProvider; +import androidx.core.content.FileProvider; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; diff --git a/packages/SystemUI/Android.mk b/packages/SystemUI/Android.mk index df2115147fb2..d9ec0fd0214b 100644 --- a/packages/SystemUI/Android.mk +++ b/packages/SystemUI/Android.mk @@ -37,20 +37,20 @@ LOCAL_SRC_FILES := \ LOCAL_STATIC_ANDROID_LIBRARIES := \ SystemUIPluginLib \ SystemUISharedLib \ - android-support-car \ - android-support-v4 \ - android-support-v7-recyclerview \ - android-support-v7-preference \ - android-support-v7-appcompat \ - android-support-v7-mediarouter \ - android-support-v7-palette \ - android-support-v14-preference \ - android-support-v17-leanback \ - android-slices-core \ - android-slices-view \ - android-slices-builders \ - android-arch-core-runtime \ - android-arch-lifecycle-extensions \ + androidx.car_car \ + androidx.legacy_legacy-support-v4 \ + androidx.recyclerview_recyclerview \ + androidx.preference_preference \ + androidx.appcompat_appcompat \ + androidx.mediarouter_mediarouter \ + androidx.palette_palette \ + androidx.legacy_legacy-preference-v14 \ + androidx.leanback_leanback \ + androidx.slice_slice-core \ + androidx.slice_slice-view \ + androidx.slice_slice-builders \ + androidx.arch.core_core-runtime \ + androidx.lifecycle_lifecycle-extensions \ LOCAL_STATIC_JAVA_LIBRARIES := \ SystemUI-tags \ diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 5599b5a2837a..beb4e9e5ba9c 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -229,7 +229,7 @@ android:theme="@style/Theme.SystemUI" android:defaultToDeviceProtectedStorage="true" android:directBootAware="true" - android:appComponentFactory="android.support.v4.app.CoreComponentFactory"> + android:appComponentFactory="androidx.core.app.CoreComponentFactory"> <!-- Keep theme in sync with SystemUIApplication.onCreate(). Setting the theme on the application does not affect views inflated by services. The application theme is set again from onCreate to take effect for those views. --> @@ -594,7 +594,7 @@ </receiver> <provider - android:name="android.support.v4.content.FileProvider" + android:name="androidx.core.content.FileProvider" android:authorities="com.android.systemui.fileprovider" android:exported="false" android:grantUriPermissions="true"> diff --git a/packages/SystemUI/proguard.flags b/packages/SystemUI/proguard.flags index 4b5d10e8d190..e6452e717d5e 100644 --- a/packages/SystemUI/proguard.flags +++ b/packages/SystemUI/proguard.flags @@ -36,9 +36,9 @@ public <init>(android.content.Context, android.util.AttributeSet); } --keep class ** extends android.support.v14.preference.PreferenceFragment +-keep class ** extends androidx.preference.PreferenceFragment -keep class com.android.systemui.tuner.* -keep class com.android.systemui.plugins.** { public protected *; } --keep class android.support.v4.app.CoreComponentFactory +-keep class androidx.core.app.CoreComponentFactory diff --git a/packages/SystemUI/res/layout/qs_customize_panel_content.xml b/packages/SystemUI/res/layout/qs_customize_panel_content.xml index d70a37ae15b2..4ce6ef6ed31d 100644 --- a/packages/SystemUI/res/layout/qs_customize_panel_content.xml +++ b/packages/SystemUI/res/layout/qs_customize_panel_content.xml @@ -38,7 +38,7 @@ android:navigationContentDescription="@*android:string/action_bar_up_description" style="?android:attr/toolbarStyle" /> - <android.support.v7.widget.RecyclerView + <androidx.recyclerview.widget.RecyclerView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="0dp" diff --git a/packages/SystemUI/res/layout/tuner_shortcut_list.xml b/packages/SystemUI/res/layout/tuner_shortcut_list.xml index 9aaffb49e652..b4165cf89bda 100644 --- a/packages/SystemUI/res/layout/tuner_shortcut_list.xml +++ b/packages/SystemUI/res/layout/tuner_shortcut_list.xml @@ -14,7 +14,7 @@ limitations under the License. --> -<android.support.v7.widget.RecyclerView +<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java index cb5a0507815b..9e4810cb08ca 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java @@ -21,7 +21,7 @@ import android.app.AlertDialog; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.os.UserHandle; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.AttributeSet; import android.util.Log; import android.util.Slog; diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java index 67bdd216b13b..3dee0ff04e5f 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java @@ -21,8 +21,8 @@ import android.animation.ObjectAnimator; import android.animation.PropertyValuesHolder; import android.annotation.ColorInt; import android.app.PendingIntent; -import android.arch.lifecycle.LiveData; -import android.arch.lifecycle.Observer; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.Observer; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.Drawable; diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java index 41df196c62b0..4e060f652eb4 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java @@ -28,7 +28,7 @@ import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.os.UserHandle; -import android.support.v4.graphics.ColorUtils; +import androidx.core.graphics.ColorUtils; import android.text.TextUtils; import android.text.format.DateFormat; import android.util.ArraySet; diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java index efaf557660d2..049765f2824b 100644 --- a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java +++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java @@ -41,7 +41,7 @@ import android.graphics.Region; import android.hardware.display.DisplayManager; import android.os.SystemProperties; import android.provider.Settings.Secure; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.DisplayMetrics; import android.view.DisplayCutout; import android.view.DisplayInfo; diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenStatePreventingAdapter.java b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenStatePreventingAdapter.java index 03b0082b96e7..4fc2d9bd344b 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeScreenStatePreventingAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeScreenStatePreventingAdapter.java @@ -16,7 +16,7 @@ package com.android.systemui.doze; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.view.Display; import com.android.systemui.statusbar.phone.DozeParameters; diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSuspendScreenStatePreventingAdapter.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSuspendScreenStatePreventingAdapter.java index 1c6521f641bf..3013b969c74b 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeSuspendScreenStatePreventingAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSuspendScreenStatePreventingAdapter.java @@ -16,7 +16,7 @@ package com.android.systemui.doze; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.view.Display; import com.android.systemui.statusbar.phone.DozeParameters; diff --git a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java index f8f364da089b..f422737bb9af 100644 --- a/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java +++ b/packages/SystemUI/src/com/android/systemui/fragments/FragmentHostManager.java @@ -28,7 +28,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Parcelable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.util.ArrayMap; import android.view.LayoutInflater; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java index 065e9cc2d1d3..da41136767aa 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java @@ -30,7 +30,7 @@ import android.os.Handler; import android.os.Looper; import android.os.PowerManager; import android.os.UserHandle; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.Annotation; import android.text.Layout; import android.text.SpannableString; diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java index ab822696d382..100751cce947 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java @@ -8,8 +8,8 @@ import android.animation.PropertyValuesHolder; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; -import android.support.v4.view.PagerAdapter; -import android.support.v4.view.ViewPager; +import androidx.viewpager.widget.PagerAdapter; +import androidx.viewpager.widget.ViewPager; import android.util.AttributeSet; import android.util.Log; import android.view.LayoutInflater; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java index 5ae43c660b12..84eb3da51bcf 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooter.java @@ -15,7 +15,7 @@ */ package com.android.systemui.qs; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.view.View; /** diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java index b7907a605ca5..64b3904428f1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java @@ -28,8 +28,8 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.RippleDrawable; import android.os.Bundle; import android.os.UserManager; -import android.support.annotation.Nullable; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java index b146cfccf180..bd89ad166520 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java @@ -23,8 +23,8 @@ import android.content.Context; import android.content.res.Configuration; import android.graphics.Rect; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import android.util.Log; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSScrollLayout.java b/packages/SystemUI/src/com/android/systemui/qs/QSScrollLayout.java index 7b1509dcd173..7ebab0bfce24 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSScrollLayout.java @@ -17,7 +17,7 @@ package com.android.systemui.qs; import android.animation.ObjectAnimator; import android.content.Context; import android.graphics.Canvas; -import android.support.v4.widget.NestedScrollView; +import androidx.core.widget.NestedScrollView; import android.util.Property; import android.view.MotionEvent; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java index a9bfa45b6a73..199e11112566 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java @@ -33,7 +33,7 @@ import android.media.AudioManager; import android.os.Handler; import android.provider.AlarmClock; import android.service.notification.ZenModeConfig; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.format.DateUtils; import android.util.AttributeSet; import android.util.Log; diff --git a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java index 2ea21c66240f..f6b08b05bf38 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFooter.java @@ -16,7 +16,7 @@ package com.android.systemui.qs.car; import android.content.Context; import android.content.Intent; import android.graphics.drawable.Drawable; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.util.Log; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java index 608a2364662e..2d9e4d7fc22b 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java +++ b/packages/SystemUI/src/com/android/systemui/qs/car/CarQSFragment.java @@ -22,9 +22,9 @@ import android.animation.ValueAnimator; import android.app.Fragment; import android.content.Context; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.annotation.VisibleForTesting; -import android.support.v7.widget.GridLayoutManager; +import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; +import androidx.recyclerview.widget.GridLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; diff --git a/packages/SystemUI/src/com/android/systemui/qs/car/CarStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/car/CarStatusBarHeader.java index 31c455d880d6..a9ab8915ac92 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/car/CarStatusBarHeader.java +++ b/packages/SystemUI/src/com/android/systemui/qs/car/CarStatusBarHeader.java @@ -16,7 +16,7 @@ package com.android.systemui.qs.car; import android.content.Context; import android.graphics.Color; import android.graphics.Rect; -import android.support.annotation.IdRes; +import androidx.annotation.IdRes; import android.util.AttributeSet; import android.view.View; import android.widget.LinearLayout; diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java index 394c3225bceb..482298886d71 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/QSCustomizer.java @@ -22,9 +22,9 @@ import android.content.Context; import android.content.res.Configuration; import android.graphics.Point; import android.os.Bundle; -import android.support.v7.widget.DefaultItemAnimator; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.recyclerview.widget.DefaultItemAnimator; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.util.AttributeSet; import android.util.TypedValue; import android.view.ContextThemeWrapper; diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java index 5adeec3cbab4..78e9f36d69aa 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileAdapter.java @@ -23,13 +23,13 @@ import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.drawable.ColorDrawable; import android.os.Handler; -import android.support.v4.view.ViewCompat; -import android.support.v7.widget.GridLayoutManager.SpanSizeLookup; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.RecyclerView.ItemDecoration; -import android.support.v7.widget.RecyclerView.State; -import android.support.v7.widget.RecyclerView.ViewHolder; -import android.support.v7.widget.helper.ItemTouchHelper; +import androidx.core.view.ViewCompat; +import androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView.ItemDecoration; +import androidx.recyclerview.widget.RecyclerView.State; +import androidx.recyclerview.widget.RecyclerView.ViewHolder; +import androidx.recyclerview.widget.ItemTouchHelper; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileColorPicker.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileColorPicker.java index 0cc17ff37241..75dd0d9e565d 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileColorPicker.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileColorPicker.java @@ -18,7 +18,7 @@ package com.android.systemui.qs.external; import android.content.Context; import android.content.res.ColorStateList; import android.service.quicksettings.Tile; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import com.android.systemui.R; public class TileColorPicker { diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java index 1170d7b6e8a9..4e0f38fc4662 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java @@ -34,7 +34,7 @@ import android.service.quicksettings.IQSService; import android.service.quicksettings.IQSTileService; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.ArraySet; import android.util.Log; import com.android.systemui.qs.external.PackageManagerAdapter; diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java index f5f8ffa7f641..9f9fe39bab6c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServiceManager.java @@ -30,7 +30,7 @@ import android.os.UserHandle; import android.service.quicksettings.IQSTileService; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.Log; import com.android.systemui.qs.external.TileLifecycleManager.TileChangeListener; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java index 63d6f82ce9e6..a3e9afd366fd 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/SlashImageView.java @@ -17,7 +17,7 @@ package com.android.systemui.qs.tileimpl; import android.annotation.Nullable; import android.content.Context; import android.graphics.drawable.Drawable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.widget.ImageView; import com.android.internal.annotations.VisibleForTesting; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/NightDisplayTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/NightDisplayTile.java index c7191f81620c..e3c59861310c 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/NightDisplayTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/NightDisplayTile.java @@ -24,7 +24,7 @@ import android.content.Intent; import android.metrics.LogMaker; import android.provider.Settings; import android.service.quicksettings.Tile; -import android.support.annotation.StringRes; +import androidx.annotation.StringRes; import android.util.Log; import android.widget.Switch; diff --git a/packages/SystemUI/src/com/android/systemui/qs/touch/SwipeDetector.java b/packages/SystemUI/src/com/android/systemui/qs/touch/SwipeDetector.java index 252205201e5d..911bea67b8b4 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/touch/SwipeDetector.java +++ b/packages/SystemUI/src/com/android/systemui/qs/touch/SwipeDetector.java @@ -19,8 +19,8 @@ import static android.view.MotionEvent.INVALID_POINTER_ID; import android.content.Context; import android.graphics.PointF; -import android.support.annotation.NonNull; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.NonNull; +import androidx.annotation.VisibleForTesting; import android.util.Log; import android.view.MotionEvent; import android.view.ViewConfiguration; diff --git a/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java b/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java index de85c0f9a726..af8c2d08f4b4 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java +++ b/packages/SystemUI/src/com/android/systemui/recents/TriangleShape.java @@ -19,7 +19,7 @@ package com.android.systemui.recents; import android.graphics.Outline; import android.graphics.Path; import android.graphics.drawable.shapes.PathShape; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; /** * Wrapper around {@link android.graphics.drawable.shapes.PathShape} diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java index 842899b62635..de4291446e7c 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskViewHeader.java @@ -36,7 +36,7 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.RippleDrawable; import android.os.CountDownTimer; -import android.support.v4.graphics.ColorUtils; +import androidx.core.graphics.ColorUtils; import android.util.AttributeSet; import android.util.IconDrawableFactory; import android.view.Gravity; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java index 6fd0aa6330f5..145a2466f7d2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java @@ -25,7 +25,7 @@ import android.os.IBinder; import android.os.Looper; import android.os.Message; import android.os.RemoteException; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.Pair; import com.android.internal.os.SomeArgs; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBlockingHelperManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBlockingHelperManager.java index 1b613cbcaa41..6f5e8cb3e8d8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBlockingHelperManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationBlockingHelperManager.java @@ -20,7 +20,7 @@ import android.content.Context; import android.content.pm.PackageManager; import android.os.UserHandle; import android.service.notification.StatusBarNotification; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.Log; import com.android.internal.logging.MetricsLogger; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java index cfd5d83c87b9..4a8f4bbfff03 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGuts.java @@ -23,7 +23,7 @@ import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.os.Handler; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.AttributeSet; import android.util.Log; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGutsManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGutsManager.java index 8d7668ad6f66..91a381fe13b0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGutsManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationGutsManager.java @@ -33,7 +33,7 @@ import android.os.ServiceManager; import android.os.UserHandle; import android.provider.Settings; import android.service.notification.StatusBarNotification; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.ArraySet; import android.util.Log; import android.view.HapticFeedbackConstants; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java index 1807465004c6..16b50b15bb3e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java @@ -30,7 +30,7 @@ import android.graphics.PorterDuffColorFilter; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.drawable.Drawable; -import android.support.v4.graphics.ColorUtils; +import androidx.core.graphics.ColorUtils; import android.util.AttributeSet; import android.util.Log; import android.view.Display; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java index 27cb077394b1..23fa34a0f680 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarIconView.java @@ -38,7 +38,7 @@ import android.graphics.drawable.Icon; import android.os.Parcelable; import android.os.UserHandle; import android.service.notification.StatusBarNotification; -import android.support.v4.graphics.ColorUtils; +import androidx.core.graphics.ColorUtils; import android.text.TextUtils; import android.util.AttributeSet; import android.util.FloatProperty; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java b/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java index f78e3912ad91..d720aef3a138 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java @@ -24,7 +24,7 @@ import android.util.Log; import android.view.View; import android.view.ViewStub; -import android.support.v7.widget.GridLayoutManager; +import androidx.recyclerview.widget.GridLayoutManager; import com.android.settingslib.users.UserManagerHelper; import com.android.systemui.R; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java index a49d507aa21a..7790f32584fd 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java @@ -28,9 +28,9 @@ import android.content.pm.UserInfo; import android.content.res.Resources; import android.graphics.Bitmap; import android.os.AsyncTask; -import android.support.v4.graphics.drawable.RoundedBitmapDrawable; -import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; -import android.support.v7.widget.RecyclerView; +import androidx.core.graphics.drawable.RoundedBitmapDrawable; +import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; +import androidx.recyclerview.widget.RecyclerView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/MediaNotificationProcessor.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/MediaNotificationProcessor.java index 2b7949b1de54..535ec076aa3b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/MediaNotificationProcessor.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/MediaNotificationProcessor.java @@ -23,8 +23,8 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; -import android.support.annotation.VisibleForTesting; -import android.support.v7.graphics.Palette; +import androidx.annotation.VisibleForTesting; +import androidx.palette.graphics.Palette; import android.util.LayoutDirection; import com.android.internal.util.NotificationColorUtil; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/RowInflaterTask.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/RowInflaterTask.java index c2141714b391..9b9dfc96ccff 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/RowInflaterTask.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/RowInflaterTask.java @@ -17,7 +17,7 @@ package com.android.systemui.statusbar.notification; import android.content.Context; -import android.support.v4.view.AsyncLayoutInflater; +import androidx.asynclayoutinflater.view.AsyncLayoutInflater; import android.util.Log; import android.view.View; import android.view.ViewGroup; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java index 09aff1b97305..7fe01c0ff0c1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/VisualStabilityManager.java @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.notification; -import android.support.v4.util.ArraySet; +import androidx.collection.ArraySet; import android.view.View; import com.android.systemui.statusbar.ExpandableNotificationRow; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java index fa0a774c249e..a4bf6ea3b224 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java @@ -21,7 +21,7 @@ import android.annotation.Nullable; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; -import android.support.v4.util.ArraySet; +import androidx.collection.ArraySet; import android.util.Log; import android.util.Pools; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java index 9acac22c9e90..f9a540c7b0ca 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java @@ -57,7 +57,7 @@ import android.os.Message; import android.os.RemoteException; import android.os.UserHandle; import android.provider.Settings; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.telecom.TelecomManager; import android.text.TextUtils; import android.util.Log; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java index 2a1f92f5edda..b136e8a01814 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java @@ -40,7 +40,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.SystemProperties; -import android.support.annotation.ColorInt; +import androidx.annotation.ColorInt; import android.util.AttributeSet; import android.util.Log; import android.util.SparseArray; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java index e5083c144114..09833d44915d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NearestTouchFrame.java @@ -17,7 +17,7 @@ package com.android.systemui.statusbar.phone; import android.content.Context; import android.content.res.Configuration; import android.graphics.Rect; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.AttributeSet; import android.util.Log; import android.util.Pair; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java index 55ffb3e62e53..8858381af668 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java @@ -19,7 +19,7 @@ package com.android.systemui.statusbar.phone; import android.app.Notification; import android.os.SystemClock; import android.service.notification.StatusBarNotification; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.Log; import com.android.systemui.statusbar.ExpandableNotificationRow; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java index 44d666eb0d65..a78dd25ecab2 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java @@ -4,8 +4,8 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Color; import android.graphics.Rect; -import android.support.annotation.NonNull; -import android.support.v4.util.ArrayMap; +import androidx.annotation.NonNull; +import androidx.collection.ArrayMap; import android.view.LayoutInflater; import android.view.View; import android.widget.FrameLayout; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java index 5dee2a6000c7..653471d8a220 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java @@ -26,7 +26,7 @@ import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.graphics.drawable.Icon; -import android.support.v4.util.ArrayMap; +import androidx.collection.ArrayMap; import android.util.AttributeSet; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java index 76cc0ff2a2e1..641f485690f6 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationsQuickSettingsContainer.java @@ -20,7 +20,7 @@ import android.app.Fragment; import android.content.Context; import android.content.res.Configuration; import android.graphics.Canvas; -import android.support.annotation.DimenRes; +import androidx.annotation.DimenRes; import android.util.AttributeSet; import android.view.View; import android.view.ViewStub; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java index 860b77e1b251..ea1b98089598 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java @@ -46,7 +46,7 @@ import android.view.View; import android.view.WindowManagerGlobal; import android.view.animation.DecelerateInterpolator; import android.view.animation.Interpolator; -import android.support.annotation.DimenRes; +import androidx.annotation.DimenRes; import com.android.systemui.Dependency; import com.android.systemui.OverviewProxyService; import com.android.systemui.R; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java index 3b9ee8bcd378..0d6cb5c50077 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java @@ -22,7 +22,7 @@ import static com.android.systemui.statusbar.phone.StatusBarIconHolder.TYPE_WIFI import android.content.Context; import android.os.Bundle; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.text.TextUtils; import android.util.ArraySet; import android.util.Log; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/IconLoggerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/IconLoggerImpl.java index 0c201c3d8660..5fd79a4bb342 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/IconLoggerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/IconLoggerImpl.java @@ -23,7 +23,7 @@ import android.content.Context; import android.metrics.LogMaker; import android.os.Handler; import android.os.Looper; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.ArraySet; import com.android.internal.logging.MetricsLogger; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java index 3febdfdfbe7e..fcd7e0953825 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/LocationControllerImpl.java @@ -33,7 +33,7 @@ import android.os.Process; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import com.android.systemui.util.Utils; import java.util.ArrayList; import java.util.List; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/AnimationFilter.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/AnimationFilter.java index c26568ea00b3..a8464b31d685 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/AnimationFilter.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/AnimationFilter.java @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.stack; -import android.support.v4.util.ArraySet; +import androidx.collection.ArraySet; import android.util.Property; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index 9c26c69045d5..48ea77b2f027 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -42,9 +42,9 @@ import android.graphics.Rect; import android.os.Bundle; import android.os.Handler; import android.service.notification.StatusBarNotification; -import android.support.annotation.NonNull; -import android.support.annotation.VisibleForTesting; -import android.support.v4.graphics.ColorUtils; +import androidx.annotation.NonNull; +import androidx.annotation.VisibleForTesting; +import androidx.core.graphics.ColorUtils; import android.util.AttributeSet; import android.util.FloatProperty; import android.util.Log; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java index 1a51dabe209a..499be42b0b8c 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/BatteryPreference.java @@ -16,7 +16,7 @@ package com.android.systemui.tuner; import android.content.Context; import android.provider.Settings; -import android.support.v7.preference.DropDownPreference; +import androidx.preference.DropDownPreference; import android.text.TextUtils; import android.util.ArraySet; import android.util.AttributeSet; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/BetterListPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/BetterListPreference.java index c9c780aa6a70..702abeabc136 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/BetterListPreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/BetterListPreference.java @@ -15,7 +15,7 @@ package com.android.systemui.tuner; import android.content.Context; -import android.support.v7.preference.ListPreference; +import androidx.preference.ListPreference; import android.util.AttributeSet; public class BetterListPreference extends ListPreference { diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java index 014ec9279395..16ab65c341ca 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/ClockPreference.java @@ -14,7 +14,7 @@ package com.android.systemui.tuner; import android.content.Context; -import android.support.v7.preference.DropDownPreference; +import androidx.preference.DropDownPreference; import android.text.TextUtils; import android.util.ArraySet; import android.util.AttributeSet; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/CustomListPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/CustomListPreference.java index e50fd5e2c5c5..8da0043bf439 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/CustomListPreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/CustomListPreference.java @@ -22,8 +22,8 @@ import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; -import android.support.v14.preference.ListPreferenceDialogFragment; -import android.support.v7.preference.ListPreference; +import androidx.preference.ListPreferenceDialogFragment; +import androidx.preference.ListPreference; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java index b3c86c6c6a7b..a0f278bfbb8a 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/DemoModeFragment.java @@ -23,11 +23,11 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.provider.Settings; -import android.support.v14.preference.PreferenceFragment; -import android.support.v14.preference.SwitchPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.Preference.OnPreferenceChangeListener; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.PreferenceFragment; +import androidx.preference.SwitchPreference; +import androidx.preference.Preference; +import androidx.preference.Preference.OnPreferenceChangeListener; +import androidx.preference.PreferenceScreen; import android.view.MenuItem; import com.android.internal.logging.MetricsLogger; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java index 2df1793acb47..d63235ca8d26 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/LockscreenFragment.java @@ -30,13 +30,13 @@ import android.graphics.drawable.ScaleDrawable; import android.os.Bundle; import android.os.Handler; import android.os.Process; -import android.support.v14.preference.PreferenceFragment; -import android.support.v14.preference.SwitchPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceGroup; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.RecyclerView.ViewHolder; +import androidx.preference.PreferenceFragment; +import androidx.preference.SwitchPreference; +import androidx.preference.Preference; +import androidx.preference.PreferenceGroup; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import androidx.recyclerview.widget.RecyclerView.ViewHolder; import android.text.TextUtils; import android.util.Log; import android.util.TypedValue; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java b/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java index eb0c89b06528..e3a452a0786a 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/NavBarTuner.java @@ -34,9 +34,9 @@ import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.os.Bundle; import android.os.Handler; -import android.support.v7.preference.ListPreference; -import android.support.v7.preference.Preference; -import android.support.v7.preference.Preference.OnPreferenceChangeListener; +import androidx.preference.ListPreference; +import androidx.preference.Preference; +import androidx.preference.Preference.OnPreferenceChangeListener; import android.text.SpannableStringBuilder; import android.text.style.ImageSpan; import android.util.Log; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java b/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java index 205db323ba41..d766145f27db 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/OtherPrefs.java @@ -15,7 +15,7 @@ package com.android.systemui.tuner; import android.os.Bundle; -import android.support.v14.preference.PreferenceFragment; +import androidx.preference.PreferenceFragment; import com.android.systemui.R; public class OtherPrefs extends PreferenceFragment { diff --git a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java index 27bf534c290e..c2948060d6bf 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/PluginFragment.java @@ -25,10 +25,10 @@ import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Bundle; import android.provider.Settings; -import android.support.v14.preference.PreferenceFragment; -import android.support.v14.preference.SwitchPreference; -import android.support.v7.preference.PreferenceScreen; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.PreferenceFragment; +import androidx.preference.SwitchPreference; +import androidx.preference.PreferenceScreen; +import androidx.preference.PreferenceViewHolder; import android.util.ArrayMap; import android.util.ArraySet; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/RadioListPreference.java b/packages/SystemUI/src/com/android/systemui/tuner/RadioListPreference.java index 3a2a6c3c4b64..d80c649be1ba 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/RadioListPreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/RadioListPreference.java @@ -21,9 +21,9 @@ import android.app.Fragment; import android.content.Context; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.PreferenceFragment; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.util.AttributeSet; import android.util.Log; import android.view.View; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/SelectablePreference.java b/packages/SystemUI/src/com/android/systemui/tuner/SelectablePreference.java index 1d1570846a4f..dded464901ac 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/SelectablePreference.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/SelectablePreference.java @@ -16,7 +16,7 @@ package com.android.systemui.tuner; import android.content.Context; import android.graphics.drawable.Drawable; -import android.support.v7.preference.CheckBoxPreference; +import androidx.preference.CheckBoxPreference; import android.util.TypedValue; import com.android.systemui.statusbar.ScalingDrawableWrapper; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/ShortcutPicker.java b/packages/SystemUI/src/com/android/systemui/tuner/ShortcutPicker.java index 533388a1a5d8..3c9d25d13350 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/ShortcutPicker.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/ShortcutPicker.java @@ -23,11 +23,11 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.os.Process; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceCategory; -import android.support.v7.preference.PreferenceScreen; -import android.support.v7.preference.PreferenceViewHolder; +import androidx.preference.PreferenceFragment; +import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; +import androidx.preference.PreferenceScreen; +import androidx.preference.PreferenceViewHolder; import com.android.systemui.Dependency; import com.android.systemui.R; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java index 8a2407ac1d08..670fcc2a4d15 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/StatusBarSwitch.java @@ -19,7 +19,7 @@ import android.app.ActivityManager; import android.content.ContentResolver; import android.content.Context; import android.provider.Settings; -import android.support.v14.preference.SwitchPreference; +import androidx.preference.SwitchPreference; import android.text.TextUtils; import android.util.AttributeSet; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java index 474a9a46c326..526e69bba795 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerActivity.java @@ -18,9 +18,9 @@ package com.android.systemui.tuner; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.Preference; -import android.support.v7.preference.PreferenceScreen; +import androidx.preference.PreferenceFragment; +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; import android.util.Log; import android.view.MenuItem; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java index df2be489b886..088630fa3f56 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java @@ -22,8 +22,8 @@ import android.content.DialogInterface; import android.os.Build; import android.os.Bundle; import android.provider.Settings; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.Preference; +import androidx.preference.PreferenceFragment; +import androidx.preference.Preference; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerPreferenceFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerPreferenceFragment.java index 06d40da4557e..a22277eea05b 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunerPreferenceFragment.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerPreferenceFragment.java @@ -16,8 +16,8 @@ package com.android.systemui.tuner; import android.app.DialogFragment; import android.os.Bundle; -import android.support.v14.preference.PreferenceFragment; -import android.support.v7.preference.Preference; +import androidx.preference.PreferenceFragment; +import androidx.preference.Preference; public abstract class TunerPreferenceFragment extends PreferenceFragment { diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java index d5b6ccdeb320..f53d51690712 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java @@ -3,7 +3,7 @@ package com.android.systemui.tuner; import android.content.Context; import android.content.res.TypedArray; import android.provider.Settings; -import android.support.v14.preference.SwitchPreference; +import androidx.preference.SwitchPreference; import android.util.AttributeSet; import com.android.internal.logging.MetricsLogger; diff --git a/packages/SystemUI/src/com/android/systemui/util/leak/DumpTruck.java b/packages/SystemUI/src/com/android/systemui/util/leak/DumpTruck.java index 2995eba2b8a7..9b15b00b9242 100644 --- a/packages/SystemUI/src/com/android/systemui/util/leak/DumpTruck.java +++ b/packages/SystemUI/src/com/android/systemui/util/leak/DumpTruck.java @@ -20,7 +20,7 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Build; -import android.support.v4.content.FileProvider; +import androidx.core.content.FileProvider; import android.util.Log; import com.android.systemui.Dependency; diff --git a/packages/SystemUI/src/com/android/systemui/util/leak/LeakReporter.java b/packages/SystemUI/src/com/android/systemui/util/leak/LeakReporter.java index a247f3fe15dd..8ea5fd4ee93c 100644 --- a/packages/SystemUI/src/com/android/systemui/util/leak/LeakReporter.java +++ b/packages/SystemUI/src/com/android/systemui/util/leak/LeakReporter.java @@ -27,7 +27,7 @@ import android.net.Uri; import android.os.Debug; import android.os.SystemProperties; import android.os.UserHandle; -import android.support.v4.content.FileProvider; +import androidx.core.content.FileProvider; import android.util.Log; import com.google.android.collect.Lists; diff --git a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java index edf294e772f7..16ce35c50ea2 100644 --- a/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java +++ b/packages/SystemUI/src/com/android/systemui/util/wakelock/WakeLock.java @@ -18,7 +18,7 @@ package com.android.systemui.util.wakelock; import android.content.Context; import android.os.PowerManager; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; /** WakeLock wrapper for testability */ public interface WakeLock { diff --git a/packages/SystemUI/src/com/android/systemui/volume/MediaRouterWrapper.java b/packages/SystemUI/src/com/android/systemui/volume/MediaRouterWrapper.java index 3423452c2a27..9965b0459b9a 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/MediaRouterWrapper.java +++ b/packages/SystemUI/src/com/android/systemui/volume/MediaRouterWrapper.java @@ -16,8 +16,8 @@ package com.android.systemui.volume; -import android.support.v7.media.MediaRouteSelector; -import android.support.v7.media.MediaRouter; +import androidx.mediarouter.media.MediaRouteSelector; +import androidx.mediarouter.media.MediaRouter; import java.util.List; diff --git a/packages/SystemUI/tests/Android.mk b/packages/SystemUI/tests/Android.mk index a6b09ced2d81..a4120c45a83a 100644 --- a/packages/SystemUI/tests/Android.mk +++ b/packages/SystemUI/tests/Android.mk @@ -40,20 +40,20 @@ LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res \ LOCAL_STATIC_ANDROID_LIBRARIES := \ SystemUIPluginLib \ SystemUISharedLib \ - android-support-car \ - android-support-v4 \ - android-support-v7-recyclerview \ - android-support-v7-preference \ - android-support-v7-appcompat \ - android-support-v7-mediarouter \ - android-support-v7-palette \ - android-support-v14-preference \ - android-support-v17-leanback \ - android-slices-core \ - android-slices-view \ - android-slices-builders \ - android-arch-core-runtime \ - android-arch-lifecycle-extensions \ + androidx.car_car \ + androidx.legacy_legacy-support-v4 \ + androidx.recyclerview_recyclerview \ + androidx.preference_preference \ + androidx.appcompat_appcompat \ + androidx.mediarouter_mediarouter \ + androidx.palette_palette \ + androidx.legacy_legacy-preference-v14 \ + androidx.leanback_leanback \ + androidx.slice_slice-core \ + androidx.slice_slice-view \ + androidx.slice_slice-builders \ + androidx.arch.core_core-runtime \ + androidx.lifecycle_lifecycle-extensions \ LOCAL_STATIC_JAVA_LIBRARIES := \ metrics-helper-lib \ diff --git a/proto/src/metrics_constants.proto b/proto/src/metrics_constants.proto index 4328d94275e9..16585efe92af 100644 --- a/proto/src/metrics_constants.proto +++ b/proto/src/metrics_constants.proto @@ -6117,6 +6117,60 @@ message MetricsEvent { FIELD_AUTOFILL_SESSION_ID = 1456; // ---- End P Constants, all P constants go above this line ---- + + // OPEN: Emergency dialer opened + // CLOSE: Emergency dialer closed + // SUBTYPE: The entry type that user opened emergency dialer + // CATEGORY: EMERGENCY_DIALER + // OS: Q + EMERGENCY_DIALER = 1558; + + // FIELD: The screen is currently locked + // CATEGORY: EMERGENCY_DIALER + // OS: Q + FIELD_EMERGENCY_DIALER_IS_SCREEN_LOCKED = 1559; + + // FIELD: Bit flag indicating the actions performed by user + // CATEGORY: EMERGENCY_DIALER + // OS: Q + FIELD_EMERGENCY_DIALER_USER_ACTIONS = 1560; + + // FIELD: The duration user stayed at emergency dialer + // CATEGORY: EMERGENCY_DIALER + // OS: Q + FIELD_EMERGENCY_DIALER_DURATION_MS = 1561; + + // ACTION: Making call via emergency dialer + // SUBTYPE: The UI that user made phone call + // CATEGORY: EMERGENCY_DIALER + // OS: Q + EMERGENCY_DIALER_MAKE_CALL = 1562; + + // FIELD: The phone number type of a call user made + // CATEGORY: EMERGENCY_DIALER + // OS: Q + FIELD_EMERGENCY_DIALER_PHONE_NUMBER_TYPE = 1563; + + // FIELD: There is a shortcut for the phone number + // CATEGORY: EMERGENCY_DIALER + // OS: Q + FIELD_EMERGENCY_DIALER_PHONE_NUMBER_HAS_SHORTCUT = 1564; + + // FIELD: The phone is in pocket while using emergency dialer + // CATEGORY: EMERGENCY_DIALER + // OS: Q + FIELD_EMERGENCY_DIALER_IN_POCKET = 1565; + + // ACTION: The second tap on emergency shortcut to make a phone call + // CATEGORY: EMERGENCY_DIALER + // OS: Q + EMERGENCY_DIALER_SHORTCUT_CONFIRM_TAP = 1566; + + // FIELD: The time in milliseconds of second tap on shortcut since first tap + // CATEGORY: EMERGENCY_DIALER + // OS: Q + FIELD_EMERGENCY_DIALER_SHORTCUT_TAPS_INTERVAL = 1567; + // Add new aosp constants above this line. // END OF AOSP CONSTANTS } diff --git a/services/core/java/com/android/server/InputMethodManagerService.java b/services/core/java/com/android/server/InputMethodManagerService.java index 9367a835e5f1..44bf2a57912e 100644 --- a/services/core/java/com/android/server/InputMethodManagerService.java +++ b/services/core/java/com/android/server/InputMethodManagerService.java @@ -1544,7 +1544,6 @@ public class InputMethodManagerService extends IInputMethodManager.Stub final String defaultImiId = mSettings.getSelectedInputMethod(); final boolean imeSelectedOnBoot = !TextUtils.isEmpty(defaultImiId); buildInputMethodListLocked(!imeSelectedOnBoot /* resetDefaultEnabledIme */); - resetDefaultImeLocked(mContext); updateFromSettingsLocked(true); InputMethodUtils.setNonSelectedSystemImesDisabledUntilUsed(mIPackageManager, mSettings.getEnabledInputMethodListLocked(), currentUserId, diff --git a/services/core/java/com/android/server/IpSecService.java b/services/core/java/com/android/server/IpSecService.java index 744ed25f160f..01e81525d5b5 100644 --- a/services/core/java/com/android/server/IpSecService.java +++ b/services/core/java/com/android/server/IpSecService.java @@ -27,7 +27,6 @@ import static com.android.internal.util.Preconditions.checkNotNull; import android.annotation.NonNull; import android.app.AppOpsManager; import android.content.Context; -import android.net.ConnectivityManager; import android.net.IIpSecService; import android.net.INetd; import android.net.IpSecAlgorithm; @@ -44,7 +43,6 @@ import android.net.NetworkUtils; import android.net.TrafficStats; import android.net.util.NetdService; import android.os.Binder; -import android.os.DeadSystemException; import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.RemoteException; @@ -89,9 +87,8 @@ public class IpSecService extends IIpSecService.Stub { private static final boolean DBG = Log.isLoggable(TAG, Log.DEBUG); private static final String NETD_SERVICE_NAME = "netd"; - private static final int[] DIRECTIONS = - new int[] {IpSecManager.DIRECTION_OUT, IpSecManager.DIRECTION_IN}; - private static final String[] WILDCARD_ADDRESSES = new String[]{"0.0.0.0", "::"}; + private static final int[] ADDRESS_FAMILIES = + new int[] {OsConstants.AF_INET, OsConstants.AF_INET6}; private static final int NETD_FETCH_TIMEOUT_MS = 5000; // ms private static final int MAX_PORT_BIND_ATTEMPTS = 10; @@ -819,16 +816,22 @@ public class IpSecService extends IIpSecService.Stub { // Teardown VTI // Delete global policies try { - mSrvConfig.getNetdInstance().removeVirtualTunnelInterface(mInterfaceName); - - for(String wildcardAddr : WILDCARD_ADDRESSES) { - for (int direction : DIRECTIONS) { - int mark = (direction == IpSecManager.DIRECTION_IN) ? mIkey : mOkey; - mSrvConfig - .getNetdInstance() - .ipSecDeleteSecurityPolicy( - 0, direction, wildcardAddr, wildcardAddr, mark, 0xffffffff); - } + final INetd netd = mSrvConfig.getNetdInstance(); + netd.removeVirtualTunnelInterface(mInterfaceName); + + for (int selAddrFamily : ADDRESS_FAMILIES) { + netd.ipSecDeleteSecurityPolicy( + 0, + selAddrFamily, + IpSecManager.DIRECTION_OUT, + mOkey, + 0xffffffff); + netd.ipSecDeleteSecurityPolicy( + 0, + selAddrFamily, + IpSecManager.DIRECTION_IN, + mIkey, + 0xffffffff); } } catch (ServiceSpecificException | RemoteException e) { Log.e( @@ -1276,25 +1279,29 @@ public class IpSecService extends IIpSecService.Stub { // Create VTI // Add inbound/outbound global policies // (use reqid = 0) - mSrvConfig - .getNetdInstance() - .addVirtualTunnelInterface(intfName, localAddr, remoteAddr, ikey, okey); - - for(String wildcardAddr : WILDCARD_ADDRESSES) { - for (int direction : DIRECTIONS) { - int mark = (direction == IpSecManager.DIRECTION_OUT) ? okey : ikey; - - mSrvConfig - .getNetdInstance() - .ipSecAddSecurityPolicy( - 0, // Use 0 for reqId - direction, - wildcardAddr, - wildcardAddr, - 0, - mark, - 0xffffffff); - } + final INetd netd = mSrvConfig.getNetdInstance(); + netd.addVirtualTunnelInterface(intfName, localAddr, remoteAddr, ikey, okey); + + for (int selAddrFamily : ADDRESS_FAMILIES) { + // Always send down correct local/remote addresses for template. + netd.ipSecAddSecurityPolicy( + 0, // Use 0 for reqId + selAddrFamily, + IpSecManager.DIRECTION_OUT, + localAddr, + remoteAddr, + 0, + okey, + 0xffffffff); + netd.ipSecAddSecurityPolicy( + 0, // Use 0 for reqId + selAddrFamily, + IpSecManager.DIRECTION_IN, + remoteAddr, + localAddr, + 0, + ikey, + 0xffffffff); } userRecord.mTunnelInterfaceRecords.put( @@ -1693,9 +1700,9 @@ public class IpSecService extends IIpSecService.Stub { SpiRecord spiRecord = userRecord.mSpiRecords.getResourceOrThrow(c.getSpiResourceId()); int mark = - (direction == IpSecManager.DIRECTION_IN) - ? tunnelInterfaceInfo.getIkey() - : tunnelInterfaceInfo.getOkey(); + (direction == IpSecManager.DIRECTION_OUT) + ? tunnelInterfaceInfo.getOkey() + : tunnelInterfaceInfo.getIkey(); try { c.setMarkValue(mark); @@ -1706,14 +1713,15 @@ public class IpSecService extends IIpSecService.Stub { c.setNetwork(tunnelInterfaceInfo.getUnderlyingNetwork()); // If outbound, also add SPI to the policy. - for(String wildcardAddr : WILDCARD_ADDRESSES) { + for (int selAddrFamily : ADDRESS_FAMILIES) { mSrvConfig .getNetdInstance() .ipSecUpdateSecurityPolicy( 0, // Use 0 for reqId + selAddrFamily, direction, - wildcardAddr, - wildcardAddr, + tunnelInterfaceInfo.getLocalAddress(), + tunnelInterfaceInfo.getRemoteAddress(), transformInfo.getSpiRecord().getSpi(), mark, 0xffffffff); diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index f7cb8345e43f..2447a03bc25f 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -21996,8 +21996,8 @@ public class ActivityManagerService extends IActivityManager.Stub activeInstr.mUiAutomationConnection = uiAutomationConnection; activeInstr.mResultClass = className; - boolean disableHiddenApiChecks = - (flags & INSTRUMENTATION_FLAG_DISABLE_HIDDEN_API_CHECKS) != 0; + boolean disableHiddenApiChecks = ai.usesNonSdkApi + || (flags & INSTRUMENTATION_FLAG_DISABLE_HIDDEN_API_CHECKS) != 0; if (disableHiddenApiChecks) { enforceCallingPermission(android.Manifest.permission.DISABLE_HIDDEN_API_CHECKS, "disable hidden API checks"); diff --git a/services/core/java/com/android/server/connectivity/DnsManager.java b/services/core/java/com/android/server/connectivity/DnsManager.java index c0beb37577fc..b8f057db290a 100644 --- a/services/core/java/com/android/server/connectivity/DnsManager.java +++ b/services/core/java/com/android/server/connectivity/DnsManager.java @@ -35,7 +35,6 @@ import android.net.LinkProperties; import android.net.Network; import android.net.NetworkUtils; import android.net.Uri; -import android.net.dns.ResolvUtil; import android.os.Binder; import android.os.INetworkManagementService; import android.os.UserHandle; @@ -174,15 +173,6 @@ public class DnsManager { return new PrivateDnsConfig(useTls); } - public static PrivateDnsConfig tryBlockingResolveOf(Network network, String name) { - try { - final InetAddress[] ips = ResolvUtil.blockingResolveAllLocally(network, name); - return new PrivateDnsConfig(name, ips); - } catch (UnknownHostException uhe) { - return new PrivateDnsConfig(name, null); - } - } - public static Uri[] getPrivateDnsSettingsUris() { return new Uri[]{ Settings.Global.getUriFor(PRIVATE_DNS_DEFAULT_MODE), diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java index 843ba2e23224..ca9b25699c1c 100644 --- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java +++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java @@ -43,7 +43,6 @@ import android.net.TrafficStats; import android.net.Uri; import android.net.captiveportal.CaptivePortalProbeResult; import android.net.captiveportal.CaptivePortalProbeSpec; -import android.net.dns.ResolvUtil; import android.net.metrics.IpConnectivityLog; import android.net.metrics.NetworkEvent; import android.net.metrics.ValidationProbeEvent; @@ -326,7 +325,7 @@ public class NetworkMonitor extends StateMachine { mConnectivityServiceHandler = handler; mDependencies = deps; mNetworkAgentInfo = networkAgentInfo; - mNetwork = deps.getNetwork(networkAgentInfo); + mNetwork = deps.getNetwork(networkAgentInfo).getPrivateDnsBypassingCopy(); mNetId = mNetwork.netId; mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); @@ -800,9 +799,7 @@ public class NetworkMonitor extends StateMachine { private void resolveStrictModeHostname() { try { // Do a blocking DNS resolution using the network-assigned nameservers. - // Do not set AI_ADDRCONFIG in ai_flags so we get all address families in advance. - final InetAddress[] ips = ResolvUtil.blockingResolveAllLocally( - mNetwork, mPrivateDnsProviderHostname, 0 /* aiFlags */); + final InetAddress[] ips = mNetwork.getAllByName(mPrivateDnsProviderHostname); mPrivateDnsConfig = new PrivateDnsConfig(mPrivateDnsProviderHostname, ips); validationLog("Strict mode hostname resolved: " + mPrivateDnsConfig); } catch (UnknownHostException uhe) { @@ -860,14 +857,13 @@ public class NetworkMonitor extends StateMachine { // to complete, regardless of how many IP addresses a host has. private static class OneAddressPerFamilyNetwork extends Network { public OneAddressPerFamilyNetwork(Network network) { - super(network); + // Always bypass Private DNS. + super(network.getPrivateDnsBypassingCopy()); } @Override public InetAddress[] getAllByName(String host) throws UnknownHostException { - // Always bypass Private DNS. - final List<InetAddress> addrs = Arrays.asList( - ResolvUtil.blockingResolveAllLocally(this, host)); + final List<InetAddress> addrs = Arrays.asList(super.getAllByName(host)); // Ensure the address family of the first address is tried first. LinkedHashMap<Class, InetAddress> addressByFamily = new LinkedHashMap<>(); diff --git a/services/core/java/com/android/server/connectivity/PermissionMonitor.java b/services/core/java/com/android/server/connectivity/PermissionMonitor.java index e471c7d84b56..7b8571c131b6 100644 --- a/services/core/java/com/android/server/connectivity/PermissionMonitor.java +++ b/services/core/java/com/android/server/connectivity/PermissionMonitor.java @@ -24,6 +24,7 @@ import static android.content.pm.ApplicationInfo.FLAG_SYSTEM; import static android.content.pm.ApplicationInfo.FLAG_UPDATED_SYSTEM_APP; import static android.content.pm.PackageManager.GET_PERMISSIONS; +import android.annotation.NonNull; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -34,6 +35,7 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.UserInfo; import android.net.Uri; +import android.os.Build; import android.os.INetworkManagementService; import android.os.RemoteException; import android.os.UserHandle; @@ -155,9 +157,8 @@ public class PermissionMonitor { } @VisibleForTesting - boolean isPreinstalledSystemApp(PackageInfo app) { - int flags = app.applicationInfo != null ? app.applicationInfo.flags : 0; - return (flags & (FLAG_SYSTEM | FLAG_UPDATED_SYSTEM_APP)) != 0; + static boolean isVendorApp(@NonNull ApplicationInfo appInfo) { + return appInfo.isVendor() || appInfo.isOem() || appInfo.isProduct(); } @VisibleForTesting @@ -177,7 +178,13 @@ public class PermissionMonitor { } private boolean hasRestrictedNetworkPermission(PackageInfo app) { - if (isPreinstalledSystemApp(app)) return true; + // TODO : remove this check in the future(b/31479477). All apps should just + // request the appropriate permission for their use case since android Q. + if (app.applicationInfo != null + && app.applicationInfo.targetSdkVersion < Build.VERSION_CODES.Q + && isVendorApp(app.applicationInfo)) { + return true; + } return hasPermission(app, CONNECTIVITY_INTERNAL) || hasPermission(app, CONNECTIVITY_USE_RESTRICTED_NETWORKS); } @@ -186,13 +193,8 @@ public class PermissionMonitor { // This function defines what it means to hold the permission to use // background networks. return hasPermission(app, CHANGE_NETWORK_STATE) - || hasPermission(app, CONNECTIVITY_USE_RESTRICTED_NETWORKS) - || hasPermission(app, CONNECTIVITY_INTERNAL) || hasPermission(app, NETWORK_STACK) - // TODO : remove this check (b/31479477). Not all preinstalled apps should - // have access to background networks, they should just request the appropriate - // permission for their use case from the list above. - || isPreinstalledSystemApp(app); + || hasRestrictedNetworkPermission(app); } public boolean hasUseBackgroundNetworksPermission(int uid) { diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java index 84bdbba54098..d16c2776dc3b 100644 --- a/services/core/java/com/android/server/connectivity/Tethering.java +++ b/services/core/java/com/android/server/connectivity/Tethering.java @@ -1126,7 +1126,9 @@ public class Tethering extends BaseNetworkObserver { } public String[] getTetheredDhcpRanges() { - return mConfig.dhcpRanges; + // TODO: this is only valid for the old DHCP server. Latest search suggests it is only used + // by WifiP2pServiceImpl to start dnsmasq: remove/deprecate after migrating callers. + return mConfig.legacyDhcpRanges; } public String[] getErroredIfaces() { @@ -1297,13 +1299,17 @@ public class Tethering extends BaseNetworkObserver { return false; } // TODO: Randomize DHCPv4 ranges, especially in hotspot mode. + // Legacy DHCP server is disabled if passed an empty ranges array + final String[] dhcpRanges = cfg.enableLegacyDhcpServer + ? cfg.legacyDhcpRanges + : new String[0]; try { // TODO: Find a more accurate method name (startDHCPv4()?). - mNMService.startTethering(cfg.dhcpRanges); + mNMService.startTethering(dhcpRanges); } catch (Exception e) { try { mNMService.stopTethering(); - mNMService.startTethering(cfg.dhcpRanges); + mNMService.startTethering(dhcpRanges); } catch (Exception ee) { mLog.e(ee); transitionTo(mStartTetheringErrorState); @@ -1972,7 +1978,7 @@ public class Tethering extends BaseNetworkObserver { final TetherState tetherState = new TetherState( new TetherInterfaceStateMachine( iface, mLooper, interfaceType, mLog, mNMService, mStatsService, - makeControlCallback(iface), mDeps)); + makeControlCallback(iface), mConfig.enableLegacyDhcpServer, mDeps)); mTetherStates.put(iface, tetherState); tetherState.stateMachine.start(); } diff --git a/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java b/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java index 9e6b659dbf93..5accb452d10a 100644 --- a/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java +++ b/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java @@ -16,6 +16,7 @@ package com.android.server.connectivity.tethering; +import static android.net.NetworkUtils.numericToInetAddress; import static android.net.util.NetworkConstants.asByte; import static android.net.util.NetworkConstants.FF; import static android.net.util.NetworkConstants.RFC7421_PREFIX_LENGTH; @@ -27,8 +28,9 @@ import android.net.InterfaceConfiguration; import android.net.IpPrefix; import android.net.LinkAddress; import android.net.LinkProperties; -import android.net.NetworkUtils; import android.net.RouteInfo; +import android.net.dhcp.DhcpServer; +import android.net.dhcp.DhcpServingParams; import android.net.ip.InterfaceController; import android.net.ip.RouterAdvertisementDaemon; import android.net.ip.RouterAdvertisementDaemon.RaParams; @@ -49,6 +51,7 @@ import com.android.internal.util.Protocol; import com.android.internal.util.State; import com.android.internal.util.StateMachine; +import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetAddress; import java.net.UnknownHostException; @@ -73,6 +76,13 @@ public class TetherInterfaceStateMachine extends StateMachine { private static final String WIFI_HOST_IFACE_ADDR = "192.168.43.1"; private static final int WIFI_HOST_IFACE_PREFIX_LENGTH = 24; + // TODO: have PanService use some visible version of this constant + private static final String BLUETOOTH_IFACE_ADDR = "192.168.44.1"; + private static final int BLUETOOTH_DHCP_PREFIX_LENGTH = 24; + + // TODO: have this configurable + private static final int DHCP_LEASE_TIME_SECS = 3600; + private final static String TAG = "TetherInterfaceSM"; private final static boolean DBG = false; private final static boolean VDBG = false; @@ -119,6 +129,7 @@ public class TetherInterfaceStateMachine extends StateMachine { private final String mIfaceName; private final int mInterfaceType; private final LinkProperties mLinkProperties; + private final boolean mUsingLegacyDhcp; private final TetheringDependencies mDeps; @@ -134,12 +145,13 @@ public class TetherInterfaceStateMachine extends StateMachine { // Advertisements (otherwise, we do not add them to mLinkProperties at all). private LinkProperties mLastIPv6LinkProperties; private RouterAdvertisementDaemon mRaDaemon; + private DhcpServer mDhcpServer; private RaParams mLastRaParams; public TetherInterfaceStateMachine( String ifaceName, Looper looper, int interfaceType, SharedLog log, INetworkManagementService nMService, INetworkStatsService statsService, - IControlsTethering tetherController, + IControlsTethering tetherController, boolean usingLegacyDhcp, TetheringDependencies deps) { super(ifaceName, looper); mLog = log.forSubComponent(ifaceName); @@ -151,6 +163,7 @@ public class TetherInterfaceStateMachine extends StateMachine { mIfaceName = ifaceName; mInterfaceType = interfaceType; mLinkProperties = new LinkProperties(); + mUsingLegacyDhcp = usingLegacyDhcp; mDeps = deps; resetLinkProperties(); mLastError = ConnectivityManager.TETHER_ERROR_NO_ERROR; @@ -188,6 +201,53 @@ public class TetherInterfaceStateMachine extends StateMachine { private boolean startIPv4() { return configureIPv4(true); } + private boolean startDhcp(Inet4Address addr, int prefixLen) { + if (mUsingLegacyDhcp) { + return true; + } + + final InterfaceParams ifaceParams = mDeps.getInterfaceParams(mIfaceName); + if (ifaceParams == null) { + Log.e(TAG, "Failed to find interface params for DHCPv4"); + return false; + } + final DhcpServingParams params; + try { + params = new DhcpServingParams.Builder() + .setDefaultRouters(addr) + .setDhcpLeaseTimeSecs(DHCP_LEASE_TIME_SECS) + .setDnsServers(addr) + .setServerAddr(new LinkAddress(addr, prefixLen)) + .setMetered(true) + .build(); + // TODO: also advertise link MTU + } catch (DhcpServingParams.InvalidParameterException e) { + Log.e(TAG, "Invalid DHCP parameters", e); + return false; + } + + mDhcpServer = mDeps.makeDhcpServer(getHandler().getLooper(), ifaceParams, params, + mLog.forSubComponent("DHCP")); + mDhcpServer.start(); + return true; + } + + private void stopDhcp() { + if (mDhcpServer != null) { + mDhcpServer.stop(); + mDhcpServer = null; + } + } + + private boolean configureDhcp(boolean enable, Inet4Address addr, int prefixLen) { + if (enable) { + return startDhcp(addr, prefixLen); + } else { + stopDhcp(); + return true; + } + } + private void stopIPv4() { configureIPv4(false); // NOTE: All of configureIPv4() will be refactored out of existence @@ -210,8 +270,9 @@ public class TetherInterfaceStateMachine extends StateMachine { ipAsString = getRandomWifiIPv4Address(); prefixLen = WIFI_HOST_IFACE_PREFIX_LENGTH; } else { - // Nothing to do, BT does this elsewhere. - return true; + // BT configures the interface elsewhere: only start DHCP. + final Inet4Address srvAddr = (Inet4Address) numericToInetAddress(BLUETOOTH_IFACE_ADDR); + return configureDhcp(enabled, srvAddr, BLUETOOTH_DHCP_PREFIX_LENGTH); } final LinkAddress linkAddr; @@ -222,7 +283,7 @@ public class TetherInterfaceStateMachine extends StateMachine { return false; } - InetAddress addr = NetworkUtils.numericToInetAddress(ipAsString); + InetAddress addr = numericToInetAddress(ipAsString); linkAddr = new LinkAddress(addr, prefixLen); ifcg.setLinkAddress(linkAddr); if (mInterfaceType == ConnectivityManager.TETHERING_WIFI) { @@ -239,6 +300,10 @@ public class TetherInterfaceStateMachine extends StateMachine { } ifcg.clearFlag("running"); mNMService.setInterfaceConfig(mIfaceName, ifcg); + + if (!configureDhcp(enabled, (Inet4Address) addr, prefixLen)) { + return false; + } } catch (Exception e) { mLog.e("Error configuring interface " + e); return false; @@ -258,7 +323,7 @@ public class TetherInterfaceStateMachine extends StateMachine { private String getRandomWifiIPv4Address() { try { - byte[] bytes = NetworkUtils.numericToInetAddress(WIFI_HOST_IFACE_ADDR).getAddress(); + byte[] bytes = numericToInetAddress(WIFI_HOST_IFACE_ADDR).getAddress(); bytes[3] = getRandomSanitizedByte(DOUG_ADAMS, asByte(0), asByte(1), FF); return InetAddress.getByAddress(bytes).getHostAddress(); } catch (Exception e) { diff --git a/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java b/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java index dd9fe05b50ff..2b1d9196fe18 100644 --- a/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java +++ b/services/core/java/com/android/server/connectivity/tethering/TetheringConfiguration.java @@ -21,6 +21,8 @@ import static android.net.ConnectivityManager.TYPE_ETHERNET; import static android.net.ConnectivityManager.TYPE_MOBILE; import static android.net.ConnectivityManager.TYPE_MOBILE_DUN; import static android.net.ConnectivityManager.TYPE_MOBILE_HIPRI; +import static android.provider.Settings.Global.TETHER_ENABLE_LEGACY_DHCP_SERVER; + import static com.android.internal.R.array.config_mobile_hotspot_provision_app; import static com.android.internal.R.array.config_tether_bluetooth_regexs; import static com.android.internal.R.array.config_tether_dhcp_range; @@ -30,15 +32,16 @@ import static com.android.internal.R.array.config_tether_wifi_regexs; import static com.android.internal.R.bool.config_tether_upstream_automatic; import static com.android.internal.R.string.config_mobile_hotspot_provision_app_no_ui; +import android.content.ContentResolver; import android.content.Context; import android.content.res.Resources; import android.net.ConnectivityManager; import android.net.util.SharedLog; +import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.R; import java.io.PrintWriter; import java.util.ArrayList; @@ -68,12 +71,13 @@ public class TetheringConfiguration { public static final int DUN_REQUIRED = 1; public static final int DUN_UNSPECIFIED = 2; + // Default ranges used for the legacy DHCP server. // USB is 192.168.42.1 and 255.255.255.0 // Wifi is 192.168.43.1 and 255.255.255.0 // BT is limited to max default of 5 connections. 192.168.44.1 to 192.168.48.1 // with 255.255.255.0 // P2P is 192.168.49.1 and 255.255.255.0 - private static final String[] DHCP_DEFAULT_RANGE = { + private static final String[] LEGACY_DHCP_DEFAULT_RANGE = { "192.168.42.2", "192.168.42.254", "192.168.43.2", "192.168.43.254", "192.168.44.2", "192.168.44.254", "192.168.45.2", "192.168.45.254", "192.168.46.2", "192.168.46.254", "192.168.47.2", "192.168.47.254", @@ -89,8 +93,9 @@ public class TetheringConfiguration { public final boolean isDunRequired; public final boolean chooseUpstreamAutomatically; public final Collection<Integer> preferredUpstreamIfaceTypes; - public final String[] dhcpRanges; + public final String[] legacyDhcpRanges; public final String[] defaultIPv4DNS; + public final boolean enableLegacyDhcpServer; public final String[] provisioningApp; public final String provisioningAppNoUi; @@ -112,8 +117,9 @@ public class TetheringConfiguration { preferredUpstreamIfaceTypes = getUpstreamIfaceTypes(ctx, dunCheck); isDunRequired = preferredUpstreamIfaceTypes.contains(TYPE_MOBILE_DUN); - dhcpRanges = getDhcpRanges(ctx); + legacyDhcpRanges = getLegacyDhcpRanges(ctx); defaultIPv4DNS = copy(DEFAULT_IPV4_DNS); + enableLegacyDhcpServer = getEnableLegacyDhcpServer(ctx); provisioningApp = getResourceStringArray(ctx, config_mobile_hotspot_provision_app); provisioningAppNoUi = getProvisioningAppNoUi(ctx); @@ -150,12 +156,15 @@ public class TetheringConfiguration { dumpStringArray(pw, "preferredUpstreamIfaceTypes", preferredUpstreamNames(preferredUpstreamIfaceTypes)); - dumpStringArray(pw, "dhcpRanges", dhcpRanges); + dumpStringArray(pw, "legacyDhcpRanges", legacyDhcpRanges); dumpStringArray(pw, "defaultIPv4DNS", defaultIPv4DNS); dumpStringArray(pw, "provisioningApp", provisioningApp); pw.print("provisioningAppNoUi: "); pw.println(provisioningAppNoUi); + + pw.print("enableLegacyDhcpServer: "); + pw.println(enableLegacyDhcpServer); } public String toString() { @@ -170,6 +179,7 @@ public class TetheringConfiguration { makeString(preferredUpstreamNames(preferredUpstreamIfaceTypes)))); sj.add(String.format("provisioningApp:%s", makeString(provisioningApp))); sj.add(String.format("provisioningAppNoUi:%s", provisioningAppNoUi)); + sj.add(String.format("enableLegacyDhcpServer:%s", enableLegacyDhcpServer)); return String.format("TetheringConfiguration{%s}", sj.toString()); } @@ -276,12 +286,12 @@ public class TetheringConfiguration { return false; } - private static String[] getDhcpRanges(Context ctx) { + private static String[] getLegacyDhcpRanges(Context ctx) { final String[] fromResource = getResourceStringArray(ctx, config_tether_dhcp_range); if ((fromResource.length > 0) && (fromResource.length % 2 == 0)) { return fromResource; } - return copy(DHCP_DEFAULT_RANGE); + return copy(LEGACY_DHCP_DEFAULT_RANGE); } private static String getProvisioningAppNoUi(Context ctx) { @@ -309,6 +319,13 @@ public class TetheringConfiguration { } } + private static boolean getEnableLegacyDhcpServer(Context ctx) { + // TODO: make the default false (0) and update javadoc in Settings.java + final ContentResolver cr = ctx.getContentResolver(); + final int intVal = Settings.Global.getInt(cr, TETHER_ENABLE_LEGACY_DHCP_SERVER, 1); + return intVal != 0; + } + private static String[] copy(String[] strarray) { return Arrays.copyOf(strarray, strarray.length); } diff --git a/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java b/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java index 605ee9c8ee2e..caa867c616b8 100644 --- a/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java +++ b/services/core/java/com/android/server/connectivity/tethering/TetheringDependencies.java @@ -19,11 +19,14 @@ package com.android.server.connectivity.tethering; import android.content.Context; import android.net.INetd; import android.net.NetworkRequest; +import android.net.dhcp.DhcpServer; +import android.net.dhcp.DhcpServingParams; import android.net.ip.RouterAdvertisementDaemon; import android.net.util.InterfaceParams; import android.net.util.NetdService; import android.os.Handler; import android.net.util.SharedLog; +import android.os.Looper; import com.android.internal.util.StateMachine; @@ -69,4 +72,9 @@ public class TetheringDependencies { public NetworkRequest getDefaultNetworkRequest() { return null; } + + public DhcpServer makeDhcpServer(Looper looper, InterfaceParams iface, DhcpServingParams params, + SharedLog log) { + return new DhcpServer(looper, iface, params, log); + } } diff --git a/services/net/java/android/net/dhcp/DhcpAckPacket.java b/services/net/java/android/net/dhcp/DhcpAckPacket.java index df44b11fffa5..b2eb4e21b591 100644 --- a/services/net/java/android/net/dhcp/DhcpAckPacket.java +++ b/services/net/java/android/net/dhcp/DhcpAckPacket.java @@ -30,8 +30,8 @@ class DhcpAckPacket extends DhcpPacket { private final Inet4Address mSrcIp; DhcpAckPacket(int transId, short secs, boolean broadcast, Inet4Address serverAddress, - Inet4Address clientIp, Inet4Address yourIp, byte[] clientMac) { - super(transId, secs, clientIp, yourIp, serverAddress, INADDR_ANY, clientMac, broadcast); + Inet4Address relayIp, Inet4Address clientIp, Inet4Address yourIp, byte[] clientMac) { + super(transId, secs, clientIp, yourIp, serverAddress, relayIp, clientMac, broadcast); mBroadcast = broadcast; mSrcIp = serverAddress; } @@ -70,19 +70,8 @@ class DhcpAckPacket extends DhcpPacket { void finishPacket(ByteBuffer buffer) { addTlv(buffer, DHCP_MESSAGE_TYPE, DHCP_MESSAGE_TYPE_ACK); addTlv(buffer, DHCP_SERVER_IDENTIFIER, mServerIdentifier); - addTlv(buffer, DHCP_LEASE_TIME, mLeaseTime); - // the client should renew at 1/2 the lease-expiry interval - if (mLeaseTime != null) { - addTlv(buffer, DHCP_RENEWAL_TIME, - Integer.valueOf(mLeaseTime.intValue() / 2)); - } - - addTlv(buffer, DHCP_SUBNET_MASK, mSubnetMask); - addTlv(buffer, DHCP_ROUTER, mGateways); - addTlv(buffer, DHCP_DOMAIN_NAME, mDomainName); - addTlv(buffer, DHCP_BROADCAST_ADDRESS, mBroadcastAddress); - addTlv(buffer, DHCP_DNS_SERVER, mDnsServers); + addCommonServerTlvs(buffer); addTlvEnd(buffer); } diff --git a/services/net/java/android/net/dhcp/DhcpLease.java b/services/net/java/android/net/dhcp/DhcpLease.java index d2a15b37dcc0..6cdd2aa8579d 100644 --- a/services/net/java/android/net/dhcp/DhcpLease.java +++ b/services/net/java/android/net/dhcp/DhcpLease.java @@ -130,9 +130,14 @@ public class DhcpLease { return HexDump.toHexString(bytes); } + static String inet4AddrToString(@Nullable Inet4Address addr) { + return (addr == null) ? "null" : addr.getHostAddress(); + } + @Override public String toString() { return String.format("clientId: %s, hwAddr: %s, netAddr: %s, expTime: %d, hostname: %s", - clientIdToString(mClientId), mHwAddr.toString(), mNetAddr, mExpTime, mHostname); + clientIdToString(mClientId), mHwAddr.toString(), inet4AddrToString(mNetAddr), + mExpTime, mHostname); } } diff --git a/services/net/java/android/net/dhcp/DhcpLeaseRepository.java b/services/net/java/android/net/dhcp/DhcpLeaseRepository.java index 7e57c9f46350..2dda42124c75 100644 --- a/services/net/java/android/net/dhcp/DhcpLeaseRepository.java +++ b/services/net/java/android/net/dhcp/DhcpLeaseRepository.java @@ -20,6 +20,7 @@ import static android.net.NetworkUtils.inet4AddressToIntHTH; import static android.net.NetworkUtils.intToInet4AddressHTH; import static android.net.NetworkUtils.prefixLengthToV4NetmaskIntHTH; import static android.net.dhcp.DhcpLease.EXPIRATION_NEVER; +import static android.net.dhcp.DhcpLease.inet4AddrToString; import static android.net.util.NetworkConstants.IPV4_ADDR_BITS; import static java.lang.Math.min; @@ -29,7 +30,7 @@ import android.annotation.Nullable; import android.net.IpPrefix; import android.net.MacAddress; import android.net.util.SharedLog; -import android.os.SystemClock; +import android.net.dhcp.DhcpServer.Clock; import android.util.ArrayMap; import java.net.Inet4Address; @@ -73,15 +74,6 @@ class DhcpLeaseRepository { private int mNumAddresses; private long mLeaseTimeMs; - public static class Clock { - /** - * @see SystemClock#elapsedRealtime() - */ - public long elapsedRealtime() { - return SystemClock.elapsedRealtime(); - } - } - /** * Next timestamp when committed or declined leases should be checked for expired ones. This * will always be lower than or equal to the time for the first lease to expire: it's OK not to @@ -107,6 +99,12 @@ class DhcpLeaseRepository { } } + static class InvalidSubnetException extends DhcpLeaseException { + InvalidSubnetException(String message) { + super(message); + } + } + /** * Leases by IP address */ @@ -161,25 +159,17 @@ class DhcpLeaseRepository { * @param reqAddr Requested address by the client (option 50), or {@link #INETADDR_UNSPEC} * @param hostname Client-provided hostname, or {@link DhcpLease#HOSTNAME_NONE} * @throws OutOfAddressesException The server does not have any available address - * @throws InvalidAddressException The lease was requested from an unsupported subnet + * @throws InvalidSubnetException The lease was requested from an unsupported subnet */ @NonNull public DhcpLease getOffer(@Nullable byte[] clientId, @NonNull MacAddress hwAddr, - @NonNull Inet4Address relayAddr, - @Nullable Inet4Address reqAddr, @Nullable String hostname) - throws OutOfAddressesException, InvalidAddressException { + @NonNull Inet4Address relayAddr, @Nullable Inet4Address reqAddr, + @Nullable String hostname) throws OutOfAddressesException, InvalidSubnetException { final long currentTime = mClock.elapsedRealtime(); final long expTime = currentTime + mLeaseTimeMs; removeExpiredLeases(currentTime); - - // As per #4.3.1, addresses are assigned based on the relay address if present. This - // implementation only assigns addresses if the relayAddr is inside our configured subnet. - // This also applies when the client requested a specific address for consistency between - // requests, and with older behavior. - if (isIpAddrOutsidePrefix(mPrefix, relayAddr)) { - throw new InvalidAddressException("Lease requested by relay from outside of subnet"); - } + checkValidRelayAddr(relayAddr); final DhcpLease currentLease = findByClient(clientId, hwAddr); final DhcpLease newLease; @@ -197,7 +187,19 @@ class DhcpLeaseRepository { return newLease; } - private static boolean isIpAddrOutsidePrefix(IpPrefix prefix, Inet4Address addr) { + private void checkValidRelayAddr(@Nullable Inet4Address relayAddr) + throws InvalidSubnetException { + // As per #4.3.1, addresses are assigned based on the relay address if present. This + // implementation only assigns addresses if the relayAddr is inside our configured subnet. + // This also applies when the client requested a specific address for consistency between + // requests, and with older behavior. + if (isIpAddrOutsidePrefix(mPrefix, relayAddr)) { + throw new InvalidSubnetException("Lease requested by relay from outside of subnet"); + } + } + + private static boolean isIpAddrOutsidePrefix(@NonNull IpPrefix prefix, + @Nullable Inet4Address addr) { return addr != null && !addr.equals(Inet4Address.ANY) && !prefix.contains(addr); } @@ -231,10 +233,12 @@ class DhcpLeaseRepository { */ @NonNull public DhcpLease requestLease(@Nullable byte[] clientId, @NonNull MacAddress hwAddr, - @NonNull Inet4Address clientAddr, @Nullable Inet4Address reqAddr, boolean sidSet, - @Nullable String hostname) throws InvalidAddressException { + @NonNull Inet4Address clientAddr, @NonNull Inet4Address relayAddr, + @Nullable Inet4Address reqAddr, boolean sidSet, @Nullable String hostname) + throws InvalidAddressException, InvalidSubnetException { final long currentTime = mClock.elapsedRealtime(); removeExpiredLeases(currentTime); + checkValidRelayAddr(relayAddr); final DhcpLease assignedLease = findByClient(clientId, hwAddr); final Inet4Address leaseAddr = reqAddr != null ? reqAddr : clientAddr; @@ -261,7 +265,7 @@ class DhcpLeaseRepository { final DhcpLease lease = checkClientAndMakeLease(clientId, hwAddr, leaseAddr, hostname, currentTime); mLog.logf("DHCPREQUEST assignedLease %s, reqAddr=%s, sidSet=%s: created/renewed lease %s", - assignedLease, reqAddr, sidSet, lease); + assignedLease, inet4AddrToString(reqAddr), sidSet, lease); return lease; } @@ -313,7 +317,7 @@ class DhcpLeaseRepository { @NonNull Inet4Address addr) { final DhcpLease currentLease = mCommittedLeases.getOrDefault(addr, null); if (currentLease == null) { - mLog.w("Could not release unknown lease for " + addr); + mLog.w("Could not release unknown lease for " + inet4AddrToString(addr)); return false; } if (currentLease.matchesClient(clientId, hwAddr)) { @@ -328,12 +332,13 @@ class DhcpLeaseRepository { public void markLeaseDeclined(@NonNull Inet4Address addr) { if (mDeclinedAddrs.containsKey(addr) || !isValidAddress(addr)) { - mLog.logf("Not marking %s as declined: already declined or not assignable", addr); + mLog.logf("Not marking %s as declined: already declined or not assignable", + inet4AddrToString(addr)); return; } final long expTime = mClock.elapsedRealtime() + mLeaseTimeMs; mDeclinedAddrs.put(addr, expTime); - mLog.logf("Marked %s as declined expiring %d", addr, expTime); + mLog.logf("Marked %s as declined expiring %d", inet4AddrToString(addr), expTime); maybeUpdateEarliestExpiration(expTime); } @@ -524,7 +529,8 @@ class DhcpLeaseRepository { while (it.hasNext()) { final Inet4Address addr = it.next(); it.remove(); - mLog.logf("Out of addresses in address pool: dropped declined addr %s", addr); + mLog.logf("Out of addresses in address pool: dropped declined addr %s", + inet4AddrToString(addr)); // isValidAddress() is always verified for entries in mDeclinedAddrs. // However declined addresses may have been requested (typically by the machine that was // already using the address) after being declined. diff --git a/services/net/java/android/net/dhcp/DhcpNakPacket.java b/services/net/java/android/net/dhcp/DhcpNakPacket.java index ef9af527d063..1da0b7300559 100644 --- a/services/net/java/android/net/dhcp/DhcpNakPacket.java +++ b/services/net/java/android/net/dhcp/DhcpNakPacket.java @@ -26,9 +26,10 @@ class DhcpNakPacket extends DhcpPacket { /** * Generates a NAK packet with the specified parameters. */ - DhcpNakPacket(int transId, short secs, Inet4Address nextIp, Inet4Address relayIp, - byte[] clientMac, boolean broadcast) { - super(transId, secs, INADDR_ANY, INADDR_ANY, nextIp, relayIp, clientMac, broadcast); + DhcpNakPacket(int transId, short secs, Inet4Address relayIp, byte[] clientMac, + boolean broadcast) { + super(transId, secs, INADDR_ANY /* clientIp */, INADDR_ANY /* yourIp */, + INADDR_ANY /* nextIp */, relayIp, clientMac, broadcast); } public String toString() { diff --git a/services/net/java/android/net/dhcp/DhcpOfferPacket.java b/services/net/java/android/net/dhcp/DhcpOfferPacket.java index 99154ef0498c..0eba77e4a682 100644 --- a/services/net/java/android/net/dhcp/DhcpOfferPacket.java +++ b/services/net/java/android/net/dhcp/DhcpOfferPacket.java @@ -32,8 +32,8 @@ class DhcpOfferPacket extends DhcpPacket { * Generates a OFFER packet with the specified parameters. */ DhcpOfferPacket(int transId, short secs, boolean broadcast, Inet4Address serverAddress, - Inet4Address clientIp, Inet4Address yourIp, byte[] clientMac) { - super(transId, secs, clientIp, yourIp, INADDR_ANY, INADDR_ANY, clientMac, broadcast); + Inet4Address relayIp, Inet4Address clientIp, Inet4Address yourIp, byte[] clientMac) { + super(transId, secs, clientIp, yourIp, serverAddress, relayIp, clientMac, broadcast); mSrcIp = serverAddress; } @@ -72,19 +72,8 @@ class DhcpOfferPacket extends DhcpPacket { void finishPacket(ByteBuffer buffer) { addTlv(buffer, DHCP_MESSAGE_TYPE, DHCP_MESSAGE_TYPE_OFFER); addTlv(buffer, DHCP_SERVER_IDENTIFIER, mServerIdentifier); - addTlv(buffer, DHCP_LEASE_TIME, mLeaseTime); - // the client should renew at 1/2 the lease-expiry interval - if (mLeaseTime != null) { - addTlv(buffer, DHCP_RENEWAL_TIME, - Integer.valueOf(mLeaseTime.intValue() / 2)); - } - - addTlv(buffer, DHCP_SUBNET_MASK, mSubnetMask); - addTlv(buffer, DHCP_ROUTER, mGateways); - addTlv(buffer, DHCP_DOMAIN_NAME, mDomainName); - addTlv(buffer, DHCP_BROADCAST_ADDRESS, mBroadcastAddress); - addTlv(buffer, DHCP_DNS_SERVER, mDnsServers); + addCommonServerTlvs(buffer); addTlvEnd(buffer); } } diff --git a/services/net/java/android/net/dhcp/DhcpPacket.java b/services/net/java/android/net/dhcp/DhcpPacket.java index 888821a8ad92..77a3e2102452 100644 --- a/services/net/java/android/net/dhcp/DhcpPacket.java +++ b/services/net/java/android/net/dhcp/DhcpPacket.java @@ -9,6 +9,7 @@ import android.os.Build; import android.os.SystemProperties; import android.system.OsConstants; import android.text.TextUtils; + import com.android.internal.annotations.VisibleForTesting; import java.io.UnsupportedEncodingException; @@ -183,6 +184,11 @@ public abstract class DhcpPacket { protected String mVendorInfo; /** + * Value of the vendor specific option used to indicate that the network is metered + */ + public static final String VENDOR_INFO_ANDROID_METERED = "ANDROID_METERED"; + + /** * DHCP Optional Type: DHCP Requested IP Address */ protected static final byte DHCP_REQUESTED_IP = 50; @@ -351,6 +357,14 @@ public abstract class DhcpPacket { } /** + * Convenience method to return the client ID if it was set explicitly, or null otherwise. + */ + @Nullable + public byte[] getExplicitClientIdOrNull() { + return hasExplicitClientId() ? getClientId() : null; + } + + /** * Returns the client ID. If not set explicitly, this follows RFC 2132 and creates a client ID * based on the hardware address. */ @@ -668,6 +682,23 @@ public abstract class DhcpPacket { if (!TextUtils.isEmpty(hn)) addTlv(buf, DHCP_HOST_NAME, hn); } + protected void addCommonServerTlvs(ByteBuffer buf) { + addTlv(buf, DHCP_LEASE_TIME, mLeaseTime); + if (mLeaseTime != null && mLeaseTime != INFINITE_LEASE) { + // The client should renew at 1/2 the lease-expiry interval + addTlv(buf, DHCP_RENEWAL_TIME, (int) (Integer.toUnsignedLong(mLeaseTime) / 2)); + // Default rebinding time is set as below by RFC2131 + addTlv(buf, DHCP_REBINDING_TIME, + (int) (Integer.toUnsignedLong(mLeaseTime) * 875L / 1000L)); + } + addTlv(buf, DHCP_SUBNET_MASK, mSubnetMask); + addTlv(buf, DHCP_BROADCAST_ADDRESS, mBroadcastAddress); + addTlv(buf, DHCP_ROUTER, mGateways); + addTlv(buf, DHCP_DNS_SERVER, mDnsServers); + addTlv(buf, DHCP_DOMAIN_NAME, mDomainName); + addTlv(buf, DHCP_VENDOR_INFO, mVendorInfo); + } + /** * Converts a MAC from an array of octets to an ASCII string. */ @@ -1076,7 +1107,7 @@ public abstract class DhcpPacket { break; case DHCP_MESSAGE_TYPE_OFFER: newPacket = new DhcpOfferPacket( - transactionId, secs, broadcast, ipSrc, clientIp, yourIp, clientMac); + transactionId, secs, broadcast, ipSrc, relayIp, clientIp, yourIp, clientMac); break; case DHCP_MESSAGE_TYPE_REQUEST: newPacket = new DhcpRequestPacket( @@ -1089,11 +1120,11 @@ public abstract class DhcpPacket { break; case DHCP_MESSAGE_TYPE_ACK: newPacket = new DhcpAckPacket( - transactionId, secs, broadcast, ipSrc, clientIp, yourIp, clientMac); + transactionId, secs, broadcast, ipSrc, relayIp, clientIp, yourIp, clientMac); break; case DHCP_MESSAGE_TYPE_NAK: newPacket = new DhcpNakPacket( - transactionId, secs, nextIp, relayIp, clientMac, broadcast); + transactionId, secs, relayIp, clientMac, broadcast); break; case DHCP_MESSAGE_TYPE_RELEASE: if (serverIdentifier == null) { @@ -1225,12 +1256,13 @@ public abstract class DhcpPacket { * parameters. */ public static ByteBuffer buildOfferPacket(int encap, int transactionId, - boolean broadcast, Inet4Address serverIpAddr, Inet4Address clientIpAddr, - byte[] mac, Integer timeout, Inet4Address netMask, Inet4Address bcAddr, - List<Inet4Address> gateways, List<Inet4Address> dnsServers, - Inet4Address dhcpServerIdentifier, String domainName) { + boolean broadcast, Inet4Address serverIpAddr, Inet4Address relayIp, + Inet4Address yourIp, byte[] mac, Integer timeout, Inet4Address netMask, + Inet4Address bcAddr, List<Inet4Address> gateways, List<Inet4Address> dnsServers, + Inet4Address dhcpServerIdentifier, String domainName, boolean metered) { DhcpPacket pkt = new DhcpOfferPacket( - transactionId, (short) 0, broadcast, serverIpAddr, INADDR_ANY, clientIpAddr, mac); + transactionId, (short) 0, broadcast, serverIpAddr, relayIp, + INADDR_ANY /* clientIp */, yourIp, mac); pkt.mGateways = gateways; pkt.mDnsServers = dnsServers; pkt.mLeaseTime = timeout; @@ -1238,6 +1270,9 @@ public abstract class DhcpPacket { pkt.mServerIdentifier = dhcpServerIdentifier; pkt.mSubnetMask = netMask; pkt.mBroadcastAddress = bcAddr; + if (metered) { + pkt.mVendorInfo = VENDOR_INFO_ANDROID_METERED; + } return pkt.buildPacket(encap, DHCP_CLIENT, DHCP_SERVER); } @@ -1245,12 +1280,13 @@ public abstract class DhcpPacket { * Builds a DHCP-ACK packet from the required specified parameters. */ public static ByteBuffer buildAckPacket(int encap, int transactionId, - boolean broadcast, Inet4Address serverIpAddr, Inet4Address clientIpAddr, - byte[] mac, Integer timeout, Inet4Address netMask, Inet4Address bcAddr, - List<Inet4Address> gateways, List<Inet4Address> dnsServers, - Inet4Address dhcpServerIdentifier, String domainName) { + boolean broadcast, Inet4Address serverIpAddr, Inet4Address relayIp, Inet4Address yourIp, + Inet4Address requestClientIp, byte[] mac, Integer timeout, Inet4Address netMask, + Inet4Address bcAddr, List<Inet4Address> gateways, List<Inet4Address> dnsServers, + Inet4Address dhcpServerIdentifier, String domainName, boolean metered) { DhcpPacket pkt = new DhcpAckPacket( - transactionId, (short) 0, broadcast, serverIpAddr, INADDR_ANY, clientIpAddr, mac); + transactionId, (short) 0, broadcast, serverIpAddr, relayIp, requestClientIp, yourIp, + mac); pkt.mGateways = gateways; pkt.mDnsServers = dnsServers; pkt.mLeaseTime = timeout; @@ -1258,6 +1294,9 @@ public abstract class DhcpPacket { pkt.mSubnetMask = netMask; pkt.mServerIdentifier = dhcpServerIdentifier; pkt.mBroadcastAddress = bcAddr; + if (metered) { + pkt.mVendorInfo = VENDOR_INFO_ANDROID_METERED; + } return pkt.buildPacket(encap, DHCP_CLIENT, DHCP_SERVER); } @@ -1265,10 +1304,11 @@ public abstract class DhcpPacket { * Builds a DHCP-NAK packet from the required specified parameters. */ public static ByteBuffer buildNakPacket(int encap, int transactionId, Inet4Address serverIpAddr, - byte[] mac, boolean broadcast, String message) { + Inet4Address relayIp, byte[] mac, boolean broadcast, String message) { DhcpPacket pkt = new DhcpNakPacket( - transactionId, (short) 0, serverIpAddr, serverIpAddr, mac, broadcast); + transactionId, (short) 0, relayIp, mac, broadcast); pkt.mMessage = message; + pkt.mServerIdentifier = serverIpAddr; return pkt.buildPacket(encap, DHCP_CLIENT, DHCP_SERVER); } diff --git a/services/net/java/android/net/dhcp/DhcpPacketListener.java b/services/net/java/android/net/dhcp/DhcpPacketListener.java index 498fd93fff59..6f620c5ce30e 100644 --- a/services/net/java/android/net/dhcp/DhcpPacketListener.java +++ b/services/net/java/android/net/dhcp/DhcpPacketListener.java @@ -16,15 +16,14 @@ package android.net.dhcp; +import android.annotation.NonNull; import android.annotation.Nullable; import android.net.util.FdEventsReader; -import android.net.util.PacketReader; import android.os.Handler; import android.system.Os; import java.io.FileDescriptor; import java.net.Inet4Address; -import java.net.InetAddress; import java.net.InetSocketAddress; /** @@ -35,19 +34,20 @@ abstract class DhcpPacketListener extends FdEventsReader<DhcpPacketListener.Payl static final class Payload { final byte[] bytes = new byte[DhcpPacket.MAX_LENGTH]; Inet4Address srcAddr; + int srcPort; } - public DhcpPacketListener(Handler handler) { + public DhcpPacketListener(@NonNull Handler handler) { super(handler, new Payload()); } @Override - protected int recvBufSize(Payload buffer) { + protected int recvBufSize(@NonNull Payload buffer) { return buffer.bytes.length; } @Override - protected final void handlePacket(Payload recvbuf, int length) { + protected final void handlePacket(@NonNull Payload recvbuf, int length) { if (recvbuf.srcAddr == null) { return; } @@ -55,30 +55,34 @@ abstract class DhcpPacketListener extends FdEventsReader<DhcpPacketListener.Payl try { final DhcpPacket packet = DhcpPacket.decodeFullPacket(recvbuf.bytes, length, DhcpPacket.ENCAP_BOOTP); - onReceive(packet, recvbuf.srcAddr); + onReceive(packet, recvbuf.srcAddr, recvbuf.srcPort); } catch (DhcpPacket.ParseException e) { logParseError(recvbuf.bytes, length, e); } } @Override - protected int readPacket(FileDescriptor fd, Payload packetBuffer) throws Exception { + protected int readPacket(@NonNull FileDescriptor fd, @NonNull Payload packetBuffer) + throws Exception { final InetSocketAddress addr = new InetSocketAddress(); final int read = Os.recvfrom( fd, packetBuffer.bytes, 0, packetBuffer.bytes.length, 0 /* flags */, addr); // Buffers with null srcAddr will be dropped in handlePacket() packetBuffer.srcAddr = inet4AddrOrNull(addr); + packetBuffer.srcPort = addr.getPort(); return read; } @Nullable - private static Inet4Address inet4AddrOrNull(InetSocketAddress addr) { + private static Inet4Address inet4AddrOrNull(@NonNull InetSocketAddress addr) { return addr.getAddress() instanceof Inet4Address ? (Inet4Address) addr.getAddress() : null; } - protected abstract void onReceive(DhcpPacket packet, Inet4Address srcAddr); - protected abstract void logParseError(byte[] packet, int length, DhcpPacket.ParseException e); + protected abstract void onReceive(@NonNull DhcpPacket packet, @NonNull Inet4Address srcAddr, + int srcPort); + protected abstract void logParseError(@NonNull byte[] packet, int length, + @NonNull DhcpPacket.ParseException e); } diff --git a/services/net/java/android/net/dhcp/DhcpServer.java b/services/net/java/android/net/dhcp/DhcpServer.java new file mode 100644 index 000000000000..2b3d577b0eae --- /dev/null +++ b/services/net/java/android/net/dhcp/DhcpServer.java @@ -0,0 +1,525 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.net.dhcp; + +import static android.net.NetworkUtils.getBroadcastAddress; +import static android.net.NetworkUtils.getPrefixMaskAsInet4Address; +import static android.net.TrafficStats.TAG_SYSTEM_DHCP_SERVER; +import static android.net.dhcp.DhcpPacket.DHCP_CLIENT; +import static android.net.dhcp.DhcpPacket.DHCP_SERVER; +import static android.net.dhcp.DhcpPacket.ENCAP_BOOTP; +import static android.net.dhcp.DhcpPacket.INFINITE_LEASE; +import static android.system.OsConstants.AF_INET; +import static android.system.OsConstants.IPPROTO_UDP; +import static android.system.OsConstants.SOCK_DGRAM; +import static android.system.OsConstants.SOL_SOCKET; +import static android.system.OsConstants.SO_BINDTODEVICE; +import static android.system.OsConstants.SO_BROADCAST; +import static android.system.OsConstants.SO_REUSEADDR; + +import static java.lang.Integer.toUnsignedLong; + +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.net.MacAddress; +import android.net.NetworkUtils; +import android.net.TrafficStats; +import android.net.util.InterfaceParams; +import android.net.util.SharedLog; +import android.os.Handler; +import android.os.Looper; +import android.os.Message; +import android.os.SystemClock; +import android.system.ErrnoException; +import android.system.Os; + +import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.util.HexDump; + +import java.io.FileDescriptor; +import java.io.IOException; +import java.net.Inet4Address; +import java.net.InetAddress; +import java.nio.ByteBuffer; +import java.util.ArrayList; + +/** + * A DHCPv4 server. + * + * <p>This server listens for and responds to packets on a single interface. It considers itself + * authoritative for all leases on the subnet, which means that DHCP requests for unknown leases of + * unknown hosts receive a reply instead of being ignored. + * + * <p>The server is single-threaded (including send/receive operations): all internal operations are + * done on the provided {@link Looper}. Public methods are thread-safe and will schedule operations + * on the looper asynchronously. + * @hide + */ +public class DhcpServer { + private static final String REPO_TAG = "Repository"; + + // Lease time to transmit to client instead of a negative time in case a lease expired before + // the server could send it (if the server process is suspended for example). + private static final int EXPIRED_FALLBACK_LEASE_TIME_SECS = 120; + + private static final int CMD_START_DHCP_SERVER = 1; + private static final int CMD_STOP_DHCP_SERVER = 2; + private static final int CMD_UPDATE_PARAMS = 3; + + @NonNull + private final ServerHandler mHandler; + @NonNull + private final InterfaceParams mIface; + @NonNull + private final DhcpLeaseRepository mLeaseRepo; + @NonNull + private final SharedLog mLog; + @NonNull + private final Dependencies mDeps; + @NonNull + private final Clock mClock; + @NonNull + private final DhcpPacketListener mPacketListener; + + @Nullable + private FileDescriptor mSocket; + @NonNull + private DhcpServingParams mServingParams; + + public static class Clock { + /** + * @see SystemClock#elapsedRealtime() + */ + public long elapsedRealtime() { + return SystemClock.elapsedRealtime(); + } + } + + public interface Dependencies { + void sendPacket(@NonNull FileDescriptor fd, @NonNull ByteBuffer buffer, + @NonNull InetAddress dst) throws ErrnoException, IOException; + DhcpLeaseRepository makeLeaseRepository(@NonNull DhcpServingParams servingParams, + @NonNull SharedLog log, @NonNull Clock clock); + DhcpPacketListener makePacketListener(); + Clock makeClock(); + void addArpEntry(@NonNull Inet4Address ipv4Addr, @NonNull MacAddress ethAddr, + @NonNull String ifname, @NonNull FileDescriptor fd) throws IOException; + } + + private class DependenciesImpl implements Dependencies { + @Override + public void sendPacket(@NonNull FileDescriptor fd, @NonNull ByteBuffer buffer, + @NonNull InetAddress dst) throws ErrnoException, IOException { + Os.sendto(fd, buffer, 0, dst, DhcpPacket.DHCP_CLIENT); + } + + @Override + public DhcpLeaseRepository makeLeaseRepository(@NonNull DhcpServingParams servingParams, + @NonNull SharedLog log, @NonNull Clock clock) { + return new DhcpLeaseRepository( + DhcpServingParams.makeIpPrefix(servingParams.serverAddr), + servingParams.excludedAddrs, + servingParams.dhcpLeaseTimeSecs*1000, log.forSubComponent(REPO_TAG), clock); + } + + @Override + public DhcpPacketListener makePacketListener() { + return new PacketListener(); + } + + @Override + public Clock makeClock() { + return new Clock(); + } + + @Override + public void addArpEntry(@NonNull Inet4Address ipv4Addr, @NonNull MacAddress ethAddr, + @NonNull String ifname, @NonNull FileDescriptor fd) throws IOException { + NetworkUtils.addArpEntry(ipv4Addr, ethAddr, ifname, fd); + } + } + + private static class MalformedPacketException extends Exception { + MalformedPacketException(String message, Throwable t) { + super(message, t); + } + } + + public DhcpServer(@NonNull Looper looper, @NonNull InterfaceParams iface, + @NonNull DhcpServingParams params, @NonNull SharedLog log) { + this(looper, iface, params, log, null); + } + + @VisibleForTesting + DhcpServer(@NonNull Looper looper, @NonNull InterfaceParams iface, + @NonNull DhcpServingParams params, @NonNull SharedLog log, + @Nullable Dependencies deps) { + if (deps == null) { + deps = new DependenciesImpl(); + } + mHandler = new ServerHandler(looper); + mIface = iface; + mServingParams = params; + mLog = log; + mDeps = deps; + mClock = deps.makeClock(); + mPacketListener = deps.makePacketListener(); + mLeaseRepo = deps.makeLeaseRepository(mServingParams, mLog, mClock); + } + + /** + * Start listening for and responding to packets. + */ + public void start() { + mHandler.sendEmptyMessage(CMD_START_DHCP_SERVER); + } + + /** + * Update serving parameters. All subsequently received requests will be handled with the new + * parameters, and current leases that are incompatible with the new parameters are dropped. + */ + public void updateParams(@NonNull DhcpServingParams params) { + sendMessage(CMD_UPDATE_PARAMS, params); + } + + /** + * Stop listening for packets. + * + * <p>As the server is stopped asynchronously, some packets may still be processed shortly after + * calling this method. + */ + public void stop() { + mHandler.sendEmptyMessage(CMD_STOP_DHCP_SERVER); + } + + private void sendMessage(int what, @Nullable Object obj) { + mHandler.sendMessage(mHandler.obtainMessage(what, obj)); + } + + private class ServerHandler extends Handler { + public ServerHandler(@NonNull Looper looper) { + super(looper); + } + + @Override + public void handleMessage(@NonNull Message msg) { + switch (msg.what) { + case CMD_UPDATE_PARAMS: + final DhcpServingParams params = (DhcpServingParams) msg.obj; + mServingParams = params; + mLeaseRepo.updateParams( + DhcpServingParams.makeIpPrefix(mServingParams.serverAddr), + params.excludedAddrs, + params.dhcpLeaseTimeSecs); + break; + case CMD_START_DHCP_SERVER: + // This is a no-op if the listener is already started + mPacketListener.start(); + break; + case CMD_STOP_DHCP_SERVER: + // This is a no-op if the listener was not started + mPacketListener.stop(); + break; + } + } + } + + @VisibleForTesting + void processPacket(@NonNull DhcpPacket packet, int srcPort) { + final String packetType = packet.getClass().getSimpleName(); + if (srcPort != DHCP_CLIENT) { + mLog.logf("Ignored packet of type %s sent from client port %d", packetType, srcPort); + return; + } + + mLog.log("Received packet of type " + packetType); + final Inet4Address sid = packet.mServerIdentifier; + if (sid != null && !sid.equals(mServingParams.serverAddr.getAddress())) { + mLog.log("Packet ignored due to wrong server identifier: " + sid); + return; + } + + try { + if (packet instanceof DhcpDiscoverPacket) { + processDiscover((DhcpDiscoverPacket) packet); + } else if (packet instanceof DhcpRequestPacket) { + processRequest((DhcpRequestPacket) packet); + } else if (packet instanceof DhcpReleasePacket) { + processRelease((DhcpReleasePacket) packet); + } else { + mLog.e("Unknown packet type: " + packet.getClass().getSimpleName()); + } + } catch (MalformedPacketException e) { + // Not an internal error: only logging exception message, not stacktrace + mLog.e("Ignored malformed packet: " + e.getMessage()); + } + } + + private void logIgnoredPacketInvalidSubnet(DhcpLeaseRepository.InvalidSubnetException e) { + // Not an internal error: only logging exception message, not stacktrace + mLog.e("Ignored packet from invalid subnet: " + e.getMessage()); + } + + private void processDiscover(@NonNull DhcpDiscoverPacket packet) + throws MalformedPacketException { + final DhcpLease lease; + final MacAddress clientMac = getMacAddr(packet); + try { + lease = mLeaseRepo.getOffer(packet.getExplicitClientIdOrNull(), clientMac, + packet.mRelayIp, packet.mRequestedIp, packet.mHostName); + } catch (DhcpLeaseRepository.OutOfAddressesException e) { + transmitNak(packet, "Out of addresses to offer"); + return; + } catch (DhcpLeaseRepository.InvalidSubnetException e) { + logIgnoredPacketInvalidSubnet(e); + return; + } + + transmitOffer(packet, lease, clientMac); + } + + private void processRequest(@NonNull DhcpRequestPacket packet) throws MalformedPacketException { + // If set, packet SID matches with this server's ID as checked in processPacket(). + final boolean sidSet = packet.mServerIdentifier != null; + final DhcpLease lease; + final MacAddress clientMac = getMacAddr(packet); + try { + lease = mLeaseRepo.requestLease(packet.getExplicitClientIdOrNull(), clientMac, + packet.mClientIp, packet.mRelayIp, packet.mRequestedIp, sidSet, + packet.mHostName); + } catch (DhcpLeaseRepository.InvalidAddressException e) { + transmitNak(packet, "Invalid requested address"); + return; + } catch (DhcpLeaseRepository.InvalidSubnetException e) { + logIgnoredPacketInvalidSubnet(e); + return; + } + + transmitAck(packet, lease, clientMac); + } + + private void processRelease(@NonNull DhcpReleasePacket packet) + throws MalformedPacketException { + final byte[] clientId = packet.getExplicitClientIdOrNull(); + final MacAddress macAddr = getMacAddr(packet); + // Don't care about success (there is no ACK/NAK); logging is already done in the repository + mLeaseRepo.releaseLease(clientId, macAddr, packet.mClientIp); + } + + private Inet4Address getAckOrOfferDst(@NonNull DhcpPacket request, @NonNull DhcpLease lease, + boolean broadcastFlag) { + // Unless relayed or broadcast, send to client IP if already configured on the client, or to + // the lease address if the client has no configured address + if (!isEmpty(request.mRelayIp)) { + return request.mRelayIp; + } else if (broadcastFlag) { + return (Inet4Address) Inet4Address.ALL; + } else if (!isEmpty(request.mClientIp)) { + return request.mClientIp; + } else { + return lease.getNetAddr(); + } + } + + /** + * Determine whether the broadcast flag should be set in the BOOTP packet flags. This does not + * apply to NAK responses, which should always have it set. + */ + private static boolean getBroadcastFlag(@NonNull DhcpPacket request, @NonNull DhcpLease lease) { + // No broadcast flag if the client already has a configured IP to unicast to. RFC2131 #4.1 + // has some contradictions regarding broadcast behavior if a client already has an IP + // configured and sends a request with both ciaddr (renew/rebind) and the broadcast flag + // set. Sending a unicast response to ciaddr matches previous behavior and is more + // efficient. + // If the client has no configured IP, broadcast if requested by the client or if the lease + // address cannot be used to send a unicast reply either. + return isEmpty(request.mClientIp) && (request.mBroadcast || isEmpty(lease.getNetAddr())); + } + + private boolean transmitOffer(@NonNull DhcpPacket request, @NonNull DhcpLease lease, + @NonNull MacAddress clientMac) { + final boolean broadcastFlag = getBroadcastFlag(request, lease); + final int timeout = getLeaseTimeout(lease); + final Inet4Address prefixMask = + getPrefixMaskAsInet4Address(mServingParams.serverAddr.getPrefixLength()); + final Inet4Address broadcastAddr = getBroadcastAddress( + mServingParams.getServerInet4Addr(), mServingParams.serverAddr.getPrefixLength()); + final ByteBuffer offerPacket = DhcpPacket.buildOfferPacket( + ENCAP_BOOTP, request.mTransId, broadcastFlag, mServingParams.getServerInet4Addr(), + request.mRelayIp, lease.getNetAddr(), request.mClientMac, timeout, prefixMask, + broadcastAddr, new ArrayList<>(mServingParams.defaultRouters), + new ArrayList<>(mServingParams.dnsServers), + mServingParams.getServerInet4Addr(), null /* domainName */, mServingParams.metered); + + return transmitOfferOrAckPacket(offerPacket, request, lease, clientMac, broadcastFlag); + } + + private boolean transmitAck(@NonNull DhcpPacket request, @NonNull DhcpLease lease, + @NonNull MacAddress clientMac) { + // TODO: replace DhcpPacket's build methods with real builders and use common code with + // transmitOffer above + final boolean broadcastFlag = getBroadcastFlag(request, lease); + final int timeout = getLeaseTimeout(lease); + final ByteBuffer ackPacket = DhcpPacket.buildAckPacket(ENCAP_BOOTP, request.mTransId, + broadcastFlag, mServingParams.getServerInet4Addr(), request.mRelayIp, + lease.getNetAddr(), request.mClientIp, request.mClientMac, timeout, + mServingParams.getPrefixMaskAsAddress(), mServingParams.getBroadcastAddress(), + new ArrayList<>(mServingParams.defaultRouters), + new ArrayList<>(mServingParams.dnsServers), + mServingParams.getServerInet4Addr(), null /* domainName */, mServingParams.metered); + + return transmitOfferOrAckPacket(ackPacket, request, lease, clientMac, broadcastFlag); + } + + private boolean transmitNak(DhcpPacket request, String message) { + mLog.w("Transmitting NAK: " + message); + // Always set broadcast flag for NAK: client may not have a correct IP + final ByteBuffer nakPacket = DhcpPacket.buildNakPacket( + ENCAP_BOOTP, request.mTransId, mServingParams.getServerInet4Addr(), + request.mRelayIp, request.mClientMac, true /* broadcast */, message); + + final Inet4Address dst = isEmpty(request.mRelayIp) + ? (Inet4Address) Inet4Address.ALL + : request.mRelayIp; + return transmitPacket(nakPacket, DhcpNakPacket.class.getSimpleName(), dst); + } + + private boolean transmitOfferOrAckPacket(@NonNull ByteBuffer buf, @NonNull DhcpPacket request, + @NonNull DhcpLease lease, @NonNull MacAddress clientMac, boolean broadcastFlag) { + mLog.logf("Transmitting %s with lease %s", request.getClass().getSimpleName(), lease); + // Client may not yet respond to ARP for the lease address, which may be the destination + // address. Add an entry to the ARP cache to save future ARP probes and make sure the + // packet reaches its destination. + if (!addArpEntry(clientMac, lease.getNetAddr())) { + // Logging for error already done + return false; + } + final Inet4Address dst = getAckOrOfferDst(request, lease, broadcastFlag); + return transmitPacket(buf, request.getClass().getSimpleName(), dst); + } + + private boolean transmitPacket(@NonNull ByteBuffer buf, @NonNull String packetTypeTag, + @NonNull Inet4Address dst) { + try { + mDeps.sendPacket(mSocket, buf, dst); + } catch (ErrnoException | IOException e) { + mLog.e("Can't send packet " + packetTypeTag, e); + return false; + } + return true; + } + + private boolean addArpEntry(@NonNull MacAddress macAddr, @NonNull Inet4Address inetAddr) { + try { + mDeps.addArpEntry(inetAddr, macAddr, mIface.name, mSocket); + return true; + } catch (IOException e) { + mLog.e("Error adding client to ARP table", e); + return false; + } + } + + /** + * Get the remaining lease time in seconds, starting from {@link Clock#elapsedRealtime()}. + * + * <p>This is an unsigned 32-bit integer, so it cannot be read as a standard (signed) Java int. + * The return value is only intended to be used to populate the lease time field in a DHCP + * response, considering that lease time is an unsigned 32-bit integer field in DHCP packets. + * + * <p>Lease expiration times are tracked internally with millisecond precision: this method + * returns a rounded down value. + */ + private int getLeaseTimeout(@NonNull DhcpLease lease) { + final long remainingTimeSecs = (lease.getExpTime() - mClock.elapsedRealtime()) / 1000; + if (remainingTimeSecs < 0) { + mLog.e("Processing expired lease " + lease); + return EXPIRED_FALLBACK_LEASE_TIME_SECS; + } + + if (remainingTimeSecs >= toUnsignedLong(INFINITE_LEASE)) { + return INFINITE_LEASE; + } + + return (int) remainingTimeSecs; + } + + /** + * Get the client MAC address from a packet. + * + * @throws MalformedPacketException The address in the packet uses an unsupported format. + */ + @NonNull + private MacAddress getMacAddr(@NonNull DhcpPacket packet) throws MalformedPacketException { + try { + return MacAddress.fromBytes(packet.getClientMac()); + } catch (IllegalArgumentException e) { + final String message = "Invalid MAC address in packet: " + + HexDump.dumpHexString(packet.getClientMac()); + throw new MalformedPacketException(message, e); + } + } + + private static boolean isEmpty(@Nullable Inet4Address address) { + return address == null || Inet4Address.ANY.equals(address); + } + + private class PacketListener extends DhcpPacketListener { + public PacketListener() { + super(mHandler); + } + + @Override + protected void onReceive(DhcpPacket packet, Inet4Address srcAddr, int srcPort) { + processPacket(packet, srcPort); + } + + @Override + protected void logError(String msg, Exception e) { + mLog.e("Error receiving packet: " + msg, e); + } + + @Override + protected void logParseError(byte[] packet, int length, DhcpPacket.ParseException e) { + mLog.e("Error parsing packet", e); + } + + @Override + protected FileDescriptor createFd() { + // TODO: have and use an API to set a socket tag without going through the thread tag + final int oldTag = TrafficStats.getAndSetThreadStatsTag(TAG_SYSTEM_DHCP_SERVER); + try { + mSocket = Os.socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + Os.setsockoptInt(mSocket, SOL_SOCKET, SO_REUSEADDR, 1); + // SO_BINDTODEVICE actually takes a string. This works because the first member + // of struct ifreq is a NULL-terminated interface name. + // TODO: add a setsockoptString() + Os.setsockoptIfreq(mSocket, SOL_SOCKET, SO_BINDTODEVICE, mIface.name); + Os.setsockoptInt(mSocket, SOL_SOCKET, SO_BROADCAST, 1); + Os.bind(mSocket, Inet4Address.ANY, DHCP_SERVER); + NetworkUtils.protectFromVpn(mSocket); + + return mSocket; + } catch (IOException | ErrnoException e) { + mLog.e("Error creating UDP socket", e); + DhcpServer.this.stop(); + return null; + } finally { + TrafficStats.setThreadStatsTag(oldTag); + } + } + } +} diff --git a/services/net/java/android/net/dhcp/DhcpServingParams.java b/services/net/java/android/net/dhcp/DhcpServingParams.java index 6d58bc63a5f2..df15ba1c5507 100644 --- a/services/net/java/android/net/dhcp/DhcpServingParams.java +++ b/services/net/java/android/net/dhcp/DhcpServingParams.java @@ -76,6 +76,11 @@ public class DhcpServingParams { public final int linkMtu; /** + * Indicates whether the DHCP server should send the ANDROID_METERED vendor-specific option. + */ + public final boolean metered; + + /** * Checked exception thrown when some parameters used to build {@link DhcpServingParams} are * missing or invalid. */ @@ -88,13 +93,14 @@ public class DhcpServingParams { private DhcpServingParams(@NonNull LinkAddress serverAddr, @NonNull Set<Inet4Address> defaultRouters, @NonNull Set<Inet4Address> dnsServers, @NonNull Set<Inet4Address> excludedAddrs, - long dhcpLeaseTimeSecs, int linkMtu) { + long dhcpLeaseTimeSecs, int linkMtu, boolean metered) { this.serverAddr = serverAddr; this.defaultRouters = defaultRouters; this.dnsServers = dnsServers; this.excludedAddrs = excludedAddrs; this.dhcpLeaseTimeSecs = dhcpLeaseTimeSecs; this.linkMtu = linkMtu; + this.metered = metered; } @NonNull @@ -134,6 +140,7 @@ public class DhcpServingParams { private Set<Inet4Address> excludedAddrs; private long dhcpLeaseTimeSecs; private int linkMtu = MTU_UNSET; + private boolean metered; /** * Set the server address and served prefix for the DHCP server. @@ -248,6 +255,16 @@ public class DhcpServingParams { } /** + * Set whether the DHCP server should send the ANDROID_METERED vendor-specific option. + * + * <p>If not set, the default value is false. + */ + public Builder setMetered(boolean metered) { + this.metered = metered; + return this; + } + + /** * Create a new {@link DhcpServingParams} instance based on parameters set in the builder. * * <p>This method has no side-effects. If it does not throw, a valid @@ -301,7 +318,7 @@ public class DhcpServingParams { Collections.unmodifiableSet(new HashSet<>(defaultRouters)), Collections.unmodifiableSet(new HashSet<>(dnsServers)), Collections.unmodifiableSet(excl), - dhcpLeaseTimeSecs, linkMtu); + dhcpLeaseTimeSecs, linkMtu, metered); } } diff --git a/services/net/java/android/net/ip/IpClient.java b/services/net/java/android/net/ip/IpClient.java index b77da28401d6..3cdef1e73ae4 100644 --- a/services/net/java/android/net/ip/IpClient.java +++ b/services/net/java/android/net/ip/IpClient.java @@ -431,6 +431,7 @@ public class IpClient extends StateMachine { public ProvisioningConfiguration(ProvisioningConfiguration other) { mEnableIPv4 = other.mEnableIPv4; mEnableIPv6 = other.mEnableIPv6; + mUsingMultinetworkPolicyTracker = other.mUsingMultinetworkPolicyTracker; mUsingIpReachabilityMonitor = other.mUsingIpReachabilityMonitor; mRequestedPreDhcpActionMs = other.mRequestedPreDhcpActionMs; mInitialConfig = InitialConfiguration.copy(other.mInitialConfig); diff --git a/services/net/java/android/net/util/FdEventsReader.java b/services/net/java/android/net/util/FdEventsReader.java index 575444f89bc3..8bbf449f6374 100644 --- a/services/net/java/android/net/util/FdEventsReader.java +++ b/services/net/java/android/net/util/FdEventsReader.java @@ -89,7 +89,7 @@ public abstract class FdEventsReader<BufferType> { mBuffer = buffer; } - public final void start() { + public void start() { if (onCorrectThread()) { createAndRegisterFd(); } else { @@ -100,7 +100,7 @@ public abstract class FdEventsReader<BufferType> { } } - public final void stop() { + public void stop() { if (onCorrectThread()) { unregisterAndDestroyFd(); } else { diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java index e6584c51ebd6..1d5eeced44b9 100644 --- a/services/usage/java/com/android/server/usage/UsageStatsService.java +++ b/services/usage/java/com/android/server/usage/UsageStatsService.java @@ -207,8 +207,8 @@ public class UsageStatsService extends SystemService implements @Override public void onBootPhase(int phase) { + mAppStandby.onBootPhase(phase); if (phase == PHASE_SYSTEM_SERVICES_READY) { - mAppStandby.onBootPhase(phase); // initialize mDpmInternal getDpmInternal(); diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java index 9f8042c844de..36f8063cca52 100644 --- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java +++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java @@ -279,8 +279,8 @@ public class UsbDeviceManager implements ActivityManagerInternal.ScreenObserver } mControlFds.put(UsbManager.FUNCTION_MTP, mtpFd); FileDescriptor ptpFd = nativeOpenControl(UsbManager.USB_FUNCTION_PTP); - if (mtpFd == null) { - Slog.e(TAG, "Failed to open control for mtp"); + if (ptpFd == null) { + Slog.e(TAG, "Failed to open control for ptp"); } mControlFds.put(UsbManager.FUNCTION_PTP, ptpFd); diff --git a/telecomm/OWNERS b/telecomm/OWNERS index a3bcfb2cbcfa..673a0a9b558e 100644 --- a/telecomm/OWNERS +++ b/telecomm/OWNERS @@ -4,3 +4,4 @@ tgunn@google.com breadley@google.com hallliu@google.com rgreenwalt@google.com +paulye@google.com diff --git a/telecomm/java/android/telecom/CallRedirectionService.java b/telecomm/java/android/telecom/CallRedirectionService.java new file mode 100644 index 000000000000..9c874bf305b1 --- /dev/null +++ b/telecomm/java/android/telecom/CallRedirectionService.java @@ -0,0 +1,167 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +package android.telecom; + +import android.annotation.SdkConstant; +import android.app.Service; +import android.content.Intent; +import android.net.Uri; +import android.os.Handler; +import android.os.IBinder; +import android.os.Looper; +import android.os.Message; +import android.os.RemoteException; + +import com.android.internal.os.SomeArgs; +import com.android.internal.telecom.ICallRedirectionService; +import com.android.internal.telecom.ICallRedirectionAdapter; + +/** + * This service can be implemented to interact between Telecom and its implementor + * for making outgoing call with optional redirection/cancellation purposes. + * + * <p> + * Below is an example manifest registration for a {@code CallRedirectionService}. + * <pre> + * {@code + * <service android:name="your.package.YourCallRedirectionServiceImplementation" + * android:permission="android.permission.BIND_REDIRECTION_SERVICE"> + * <intent-filter> + * <action android:name="android.telecom.CallRedirectionService"/> + * </intent-filter> + * </service> + * } + * </pre> + */ +public abstract class CallRedirectionService extends Service { + /** + * The {@link Intent} that must be declared as handled by the service. + */ + @SdkConstant(SdkConstant.SdkConstantType.SERVICE_ACTION) + public static final String SERVICE_INTERFACE = "android.telecom.CallRedirectionService"; + + /** + * An adapter to inform Telecom the response from the implementor of the Call + * Redirection service + */ + private ICallRedirectionAdapter mCallRedirectionAdapter; + + /** + * Telecom calls this method to inform the implemented {@link CallRedirectionService} of + * a new outgoing call which is being placed. + * @param handle the phone number dialed by the user + * @param targetPhoneAccount the {@link PhoneAccountHandle} on which the call will be placed. + */ + public abstract void onPlaceCall(Uri handle, PhoneAccountHandle targetPhoneAccount); + + /** + * The implemented {@link CallRedirectionService} calls this method to response a request + * received via {@link #onPlaceCall(Uri, PhoneAccountHandle)} to inform Telecom that no changes + * are required to the outgoing call, and that the call should be placed as-is. + */ + public final void placeCallUnmodified() { + try { + mCallRedirectionAdapter.placeCallUnmodified(); + } catch (RemoteException e) { + } + } + + /** + * The implemented {@link CallRedirectionService} calls this method to response a request + * received via {@link #onPlaceCall(Uri, PhoneAccountHandle)} to inform Telecom that changes + * are required to the phone number or/and {@link PhoneAccountHandle} for the outgoing call. + * @param handle the new phone number to dial + * @param targetPhoneAccount the {@link PhoneAccountHandle} to use when placing the call. + * If {@code null}, no change will be made to the + * {@link PhoneAccountHandle} used to place the call. + */ + public final void redirectCall(Uri handle, PhoneAccountHandle targetPhoneAccount) { + try { + mCallRedirectionAdapter.redirectCall(handle, targetPhoneAccount); + } catch (RemoteException e) { + } + } + + /** + * The implemented {@link CallRedirectionService} calls this method to response a request + * received via {@link #onPlaceCall(Uri, PhoneAccountHandle)} to inform Telecom that an outgoing + * call should be canceled entirely. + */ + public final void cancelCall() { + try { + mCallRedirectionAdapter.cancelCall(); + } catch (RemoteException e) { + } + } + + /** + * A handler message to process the attempt to place call with redirection service from Telecom + */ + private static final int MSG_PLACE_CALL = 1; + + /** + * A handler to process the attempt to place call with redirection service from Telecom + */ + private final Handler mHandler = new Handler(Looper.getMainLooper()) { + @Override + public void handleMessage(Message msg) { + switch (msg.what) { + case MSG_PLACE_CALL: + SomeArgs args = (SomeArgs) msg.obj; + try { + mCallRedirectionAdapter = (ICallRedirectionAdapter) args.arg1; + onPlaceCall((Uri) args.arg2, (PhoneAccountHandle) args.arg3); + } finally { + args.recycle(); + } + break; + } + } + }; + + private final class CallRedirectionBinder extends ICallRedirectionService.Stub { + + /** + * Telecom calls this method to inform the CallRedirectionService of a new outgoing call + * which is about to be placed. + * @param handle the phone number dialed by the user + * @param targetPhoneAccount the URI of the number the user dialed + */ + @Override + public void placeCall(ICallRedirectionAdapter adapter, Uri handle, + PhoneAccountHandle targetPhoneAccount) { + Log.v(this, "placeCall"); + SomeArgs args = SomeArgs.obtain(); + args.arg1 = adapter; + args.arg2 = handle; + args.arg3 = targetPhoneAccount; + mHandler.obtainMessage(MSG_PLACE_CALL, args).sendToTarget(); + } + } + + @Override + public IBinder onBind(Intent intent) { + Log.v(this, "onBind"); + return new CallRedirectionBinder(); + } + + @Override + public boolean onUnbind(Intent intent) { + Log.v(this, "onUnbind"); + return false; + } +} diff --git a/telecomm/java/com/android/internal/telecom/ICallRedirectionAdapter.aidl b/telecomm/java/com/android/internal/telecom/ICallRedirectionAdapter.aidl new file mode 100644 index 000000000000..46bf983f52a2 --- /dev/null +++ b/telecomm/java/com/android/internal/telecom/ICallRedirectionAdapter.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.telecom; + +import android.net.Uri; +import android.telecom.PhoneAccountHandle; + +/** + * Internal remote callback interface for call redirection services. + * + * @see android.telecom.CallRedirectionService + * + * {@hide} + */ +oneway interface ICallRedirectionAdapter { + void cancelCall(); + + void placeCallUnmodified(); + + void redirectCall(in Uri handle, in PhoneAccountHandle targetPhoneAccount); +} diff --git a/telecomm/java/com/android/internal/telecom/ICallRedirectionService.aidl b/telecomm/java/com/android/internal/telecom/ICallRedirectionService.aidl new file mode 100644 index 000000000000..d8d360beb64d --- /dev/null +++ b/telecomm/java/com/android/internal/telecom/ICallRedirectionService.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.telecom; + +import android.net.Uri; +import android.telecom.PhoneAccountHandle; + +import com.android.internal.telecom.ICallRedirectionAdapter; + +/** + * Internal remote interface for a call redirection service. + * + * @see android.telecom.CallRedirectionService + * + * @hide + */ +oneway interface ICallRedirectionService { + void placeCall(in ICallRedirectionAdapter adapter, in Uri handle, + in PhoneAccountHandle targetPhoneAccount); +} diff --git a/telephony/OWNERS b/telephony/OWNERS index 6f67bc25f879..054288b85ba6 100644 --- a/telephony/OWNERS +++ b/telephony/OWNERS @@ -12,3 +12,4 @@ jminjie@google.com satk@google.com shuoq@google.com refuhoo@google.com +paulye@google.com diff --git a/telephony/java/android/provider/Telephony.java b/telephony/java/android/provider/Telephony.java index f68aeae87647..7e63230b9abc 100644 --- a/telephony/java/android/provider/Telephony.java +++ b/telephony/java/android/provider/Telephony.java @@ -26,8 +26,8 @@ import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.content.Intent; -import android.database.Cursor; import android.database.ContentObserver; +import android.database.Cursor; import android.database.sqlite.SqliteWrapper; import android.net.Uri; import android.telephony.Rlog; @@ -41,7 +41,6 @@ import android.util.Patterns; import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.SmsApplication; - import java.util.HashSet; import java.util.Set; import java.util.regex.Matcher; @@ -1127,7 +1126,10 @@ public final class Telephony { * * <p>Requires {@code android.Manifest.permission#CONTROL_INCALL_EXPERIENCE} to * send and receive.</p> + * @deprecated it is no longer supported, use {@link + * TelephonyManager#ACTION_SECRET_CODE} instead */ + @Deprecated @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE"; diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index d37ef1a14691..9319750a7a93 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -81,15 +81,60 @@ public class CarrierConfigManager { public static final String KEY_CARRIER_VOLTE_PROVISIONED_BOOL = "carrier_volte_provisioned_bool"; + /** + * Boolean indicating if the "Call forwarding" item is visible in the Call Settings menu. + * true means visible. false means gone. + * @hide + */ + public static final String KEY_CALL_FORWARDING_VISIBILITY_BOOL = + "call_forwarding_visibility_bool"; + + /** + * Boolean indicating if the "Caller ID" item is visible in the Additional Settings menu. + * true means visible. false means gone. + * @hide + */ + public static final String KEY_ADDITIONAL_SETTINGS_CALLER_ID_VISIBILITY_BOOL = + "additional_settings_caller_id_visibility_bool"; + + /** + * Boolean indicating if the "Call Waiting" item is visible in the Additional Settings menu. + * true means visible. false means gone. + * @hide + */ + public static final String KEY_ADDITIONAL_SETTINGS_CALL_WAITING_VISIBILITY_BOOL = + "additional_settings_call_waiting_visibility_bool"; + /** * Boolean indicating if the "Call barring" item is visible in the Call Settings menu. - * true means visible. false means gone. - * @hide + * If true, the "Call Barring" menu will be visible. If false, the menu will be gone. + * + * Disabled by default. */ public static final String KEY_CALL_BARRING_VISIBILITY_BOOL = "call_barring_visibility_bool"; /** + * Flag indicating whether or not changing the call barring password via the "Call Barring" + * settings menu is supported. If true, the option will be visible in the "Call + * Barring" settings menu. If false, the option will not be visible. + * + * Enabled by default. + */ + public static final String KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL = + "call_barring_supports_password_change_bool"; + + /** + * Flag indicating whether or not deactivating all call barring features via the "Call Barring" + * settings menu is supported. If true, the option will be visible in the "Call + * Barring" settings menu. If false, the option will not be visible. + * + * Enabled by default. + */ + public static final String KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL = + "call_barring_supports_deactivate_all_bool"; + + /** * Flag indicating whether the Phone app should ignore EVENT_SIM_NETWORK_LOCKED * events from the Sim. * If true, this will prevent the IccNetworkDepersonalizationPanel from being shown, and @@ -496,19 +541,19 @@ public class CarrierConfigManager { "carrier_wfc_supports_wifi_only_bool"; /** - * Default WFC_IMS_MODE for home network 0: WIFI_ONLY - * 1: CELLULAR_PREFERRED - * 2: WIFI_PREFERRED - * @hide + * Default mode for WFC over IMS on home network: + * <ul> + * <li>0: Wi-Fi only + * <li>1: prefer mobile network + * <li>2: prefer Wi-Fi + * </ul> */ public static final String KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT = "carrier_default_wfc_ims_mode_int"; /** - * Default WFC_IMS_MODE for roaming - * See {@link KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT} for valid values. - * - * @hide + * Default mode for WFC over IMS on roaming network. + * See {@link #KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT} for meaning of values. */ public static final String KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT = "carrier_default_wfc_ims_roaming_mode_int"; @@ -2024,6 +2069,23 @@ public class CarrierConfigManager { public static final String KEY_UNDELIVERED_SMS_MESSAGE_EXPIRATION_TIME = "undelivered_sms_message_expiration_time"; + /** + * Support for the original string display of CDMA MO call. + * By default, it is disabled. + * @hide + */ + public static final String KEY_CONFIG_SHOW_ORIG_DIAL_STRING_FOR_CDMA_BOOL = + "config_show_orig_dial_string_for_cdma"; + + /** + * Specifies a carrier-defined {@link CallRedirectionService} which Telecom will bind + * to for outgoing calls. An empty string indicates that no carrier-defined + * {@link CallRedirectionService} is specified. + * @hide + */ + public static final String KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING = + "call_redirection_service_component_name_string"; + /** The default value for every variable. */ private final static PersistableBundle sDefaults; @@ -2085,6 +2147,11 @@ public class CarrierConfigManager { sDefaults.putBoolean(KEY_CARRIER_VOLTE_PROVISIONED_BOOL, false); sDefaults.putBoolean(KEY_CALL_BARRING_VISIBILITY_BOOL, false); + sDefaults.putBoolean(KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL, true); + sDefaults.putBoolean(KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL, true); + sDefaults.putBoolean(KEY_CALL_FORWARDING_VISIBILITY_BOOL, true); + sDefaults.putBoolean(KEY_ADDITIONAL_SETTINGS_CALLER_ID_VISIBILITY_BOOL, true); + sDefaults.putBoolean(KEY_ADDITIONAL_SETTINGS_CALL_WAITING_VISIBILITY_BOOL, true); sDefaults.putBoolean(KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL, false); sDefaults.putBoolean(KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL, false); sDefaults.putBoolean(KEY_OPERATOR_SELECTION_EXPAND_BOOL, true); @@ -2354,6 +2421,7 @@ public class CarrierConfigManager { -85 /* SIGNAL_STRENGTH_GREAT */ }); sDefaults.putString(KEY_WCDMA_DEFAULT_SIGNAL_STRENGTH_MEASUREMENT_STRING, ""); + sDefaults.putBoolean(KEY_CONFIG_SHOW_ORIG_DIAL_STRING_FOR_CDMA_BOOL, false); } /** diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java index 2ee1a09e87b6..f2b73dccee2d 100644 --- a/telephony/java/android/telephony/ServiceState.java +++ b/telephony/java/android/telephony/ServiceState.java @@ -353,9 +353,11 @@ public class ServiceState implements Parcelable { mIsDataRoamingFromRegistration = s.mIsDataRoamingFromRegistration; mIsUsingCarrierAggregation = s.mIsUsingCarrierAggregation; mChannelNumber = s.mChannelNumber; - mCellBandwidths = Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length); + mCellBandwidths = s.mCellBandwidths == null ? null : + Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length); mLteEarfcnRsrpBoost = s.mLteEarfcnRsrpBoost; - mNetworkRegistrationStates = new ArrayList<>(s.mNetworkRegistrationStates); + mNetworkRegistrationStates = s.mNetworkRegistrationStates == null ? null : + new ArrayList<>(s.mNetworkRegistrationStates); } /** @@ -812,7 +814,9 @@ public class ServiceState implements Parcelable { && mIsEmergencyOnly == s.mIsEmergencyOnly && mIsDataRoamingFromRegistration == s.mIsDataRoamingFromRegistration && mIsUsingCarrierAggregation == s.mIsUsingCarrierAggregation) - && mNetworkRegistrationStates.containsAll(s.mNetworkRegistrationStates); + && (mNetworkRegistrationStates == null ? s.mNetworkRegistrationStates == null : + s.mNetworkRegistrationStates != null && + mNetworkRegistrationStates.containsAll(s.mNetworkRegistrationStates)); } /** diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index cc841fa3ae57..e3c0b308a3d9 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -2498,6 +2498,25 @@ public class TelephonyManager { "android.telephony.action.SIM_SLOT_STATUS_CHANGED"; /** + * Broadcast Action: A debug code has been entered in the dialer. + * <p> + * This intent is broadcast by the system and OEM telephony apps may need to receive these + * broadcasts. And it requires the sender to be default dialer or has carrier privileges + * (see {@link #hasCarrierPrivileges}). + * <p> + * These "secret codes" are used to activate developer menus by dialing certain codes. + * And they are of the form {@code *#*#<code>#*#*}. The intent will have the data + * URI: {@code android_secret_code://<code>}. It is possible that a manifest + * receiver would be woken up even if it is not currently running. + * <p> + * It is supposed to replace {@link android.provider.Telephony.Sms.Intents#SECRET_CODE_ACTION} + * in the next Android version. + * Before that both of these two actions will be broadcast. + */ + @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) + public static final String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE"; + + /** * @return true if a ICC card is present */ public boolean hasIccCard() { @@ -6230,7 +6249,11 @@ public class TelephonyManager { } } - /** @hide */ + /** + * @deprecated Use {@link android.telecom.TelecomManager#isInCall} instead + * @hide + */ + @Deprecated @SystemApi @RequiresPermission(anyOf = { android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, @@ -6247,7 +6270,11 @@ public class TelephonyManager { return false; } - /** @hide */ + /** + * @deprecated Use {@link android.telecom.TelecomManager#isRinging} instead + * @hide + */ + @Deprecated @SystemApi @RequiresPermission(anyOf = { android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, @@ -6264,7 +6291,11 @@ public class TelephonyManager { return false; } - /** @hide */ + /** + * @deprecated Use {@link android.telecom.TelecomManager#isInCall} instead + * @hide + */ + @Deprecated @SystemApi @RequiresPermission(anyOf = { android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, @@ -6281,7 +6312,11 @@ public class TelephonyManager { return true; } - /** @hide */ + /** + * @deprecated Use {@link android.telephony.TelephonyManager#getServiceState} instead + * @hide + */ + @Deprecated @SystemApi @RequiresPermission(anyOf = { android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, @@ -6651,9 +6686,9 @@ public class TelephonyManager { * subId. Otherwise, applies to {@link SubscriptionManager#getDefaultDataSubscriptionId()} * * <p>Requires one of the following permissions: - * {@link android.Manifest.permission#ACCESS_NETWORK_STATE ACCESS_NETWORK_STATE}, - * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}, or that the - * calling app has carrier privileges (see {@link #hasCarrierPrivileges}). + * {@link android.Manifest.permission#ACCESS_NETWORK_STATE}, + * {@link android.Manifest.permission#MODIFY_PHONE_STATE}, or that the calling app has carrier + * privileges (see {@link #hasCarrierPrivileges}). * * <p>Note that this does not take into account any data restrictions that may be present on the * calling app. Such restrictions may be inspected with @@ -6661,11 +6696,69 @@ public class TelephonyManager { * * @return true if mobile data is enabled. */ + @RequiresPermission(anyOf = {android.Manifest.permission.ACCESS_NETWORK_STATE, + android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean isDataEnabled() { return getDataEnabled(getSubId(SubscriptionManager.getDefaultDataSubscriptionId())); } /** + * Returns whether mobile data roaming is enabled on the subscription. + * + * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the + * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultDataSubscriptionId()} + * + * <p>Requires one of the following permissions: + * {@link android.Manifest.permission#ACCESS_NETWORK_STATE}, + * {@link android.Manifest.permission#READ_PHONE_STATE} or that the calling app + * has carrier privileges (see {@link #hasCarrierPrivileges}). + * + * @return {@code true} if the data roaming is enabled on the subscription, otherwise return + * {@code false}. + */ + @RequiresPermission(anyOf = {android.Manifest.permission.ACCESS_NETWORK_STATE, + android.Manifest.permission.READ_PHONE_STATE}) + public boolean isDataRoamingEnabled() { + boolean isDataRoamingEnabled = false; + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + isDataRoamingEnabled = telephony.isDataRoamingEnabled(getSubId()); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelephony#isDataRoamingEnabled", e); + } + return isDataRoamingEnabled; + } + + /** + * Enables/Disables the data roaming on the subscription. + * + * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the + * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultDataSubscriptionId()} + * + * <p> Requires permission: + * {@link android.Manifest.permission#MODIFY_PHONE_STATE} or that the calling app has carrier + * privileges (see {@link #hasCarrierPrivileges}). + * + * @param isEnabled {@code true} to enable mobile data roaming, otherwise disable it. + * + * @hide + */ + @SystemApi + @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) + public void setDataRoamingEnabled(boolean isEnabled) { + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + telephony.setDataRoamingEnabled(getSubId(), isEnabled); + } + } catch (RemoteException e) { + Log.e(TAG, "Error calling ITelephony#setDataRoamingEnabled", e); + } + } + + /** * @deprecated use {@link #isDataEnabled()} instead. * @hide */ diff --git a/telephony/java/com/android/internal/telephony/CallerInfo.java b/telephony/java/com/android/internal/telephony/CallerInfo.java index f646028b4eb3..0abe45ce448c 100644 --- a/telephony/java/com/android/internal/telephony/CallerInfo.java +++ b/telephony/java/com/android/internal/telephony/CallerInfo.java @@ -16,6 +16,7 @@ package com.android.internal.telephony; +import android.annotation.UnsupportedAppUsage; import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; @@ -83,7 +84,9 @@ public class CallerInfo { * field here, NOT name. We're NOT always guaranteed to have a name * for a connection, but the number should be displayable. */ + @UnsupportedAppUsage public String name; + @UnsupportedAppUsage public String phoneNumber; public String normalizedNumber; public String geoDescription; @@ -95,12 +98,15 @@ public class CallerInfo { public String phoneLabel; /* Split up the phoneLabel into number type and label name */ + @UnsupportedAppUsage public int numberType; + @UnsupportedAppUsage public String numberLabel; public int photoResource; // Contact ID, which will be 0 if a contact comes from the corp CP2. + @UnsupportedAppUsage public long contactIdOrZero; public boolean needUpdate; public Uri contactRefUri; @@ -155,6 +161,7 @@ public class CallerInfo { private boolean mIsEmergency; private boolean mIsVoiceMail; + @UnsupportedAppUsage public CallerInfo() { // TODO: Move all the basic initialization here? mIsEmergency = false; @@ -300,6 +307,7 @@ public class CallerInfo { * @return the CallerInfo which contains the caller id for the given * number. The returned CallerInfo is null if no number is supplied. */ + @UnsupportedAppUsage public static CallerInfo getCallerInfo(Context context, Uri contactRef) { CallerInfo info = null; ContentResolver cr = CallerInfoAsyncQuery.getCurrentProfileContentResolver(context); @@ -324,6 +332,7 @@ public class CallerInfo { * a matching number is not found, then a generic caller info is returned, * with all relevant fields empty or null. */ + @UnsupportedAppUsage public static CallerInfo getCallerInfo(Context context, String number) { if (VDBG) Rlog.v(TAG, "getCallerInfo() based on number..."); @@ -342,6 +351,7 @@ public class CallerInfo { * a matching number is not found, then a generic caller info is returned, * with all relevant fields empty or null. */ + @UnsupportedAppUsage public static CallerInfo getCallerInfo(Context context, String number, int subId) { if (TextUtils.isEmpty(number)) { diff --git a/telephony/java/com/android/internal/telephony/EncodeException.java b/telephony/java/com/android/internal/telephony/EncodeException.java index 0436ba0a070b..4e3fac1a2aea 100644 --- a/telephony/java/com/android/internal/telephony/EncodeException.java +++ b/telephony/java/com/android/internal/telephony/EncodeException.java @@ -16,6 +16,8 @@ package com.android.internal.telephony; +import android.annotation.UnsupportedAppUsage; + /** * {@hide} */ @@ -24,10 +26,12 @@ public class EncodeException extends Exception { super(); } + @UnsupportedAppUsage public EncodeException(String s) { super(s); } + @UnsupportedAppUsage public EncodeException(char c) { super("Unencodable char: '" + c + "'"); } diff --git a/telephony/java/com/android/internal/telephony/GsmAlphabet.java b/telephony/java/com/android/internal/telephony/GsmAlphabet.java index 478516952c1a..69ff329e2d07 100644 --- a/telephony/java/com/android/internal/telephony/GsmAlphabet.java +++ b/telephony/java/com/android/internal/telephony/GsmAlphabet.java @@ -20,6 +20,7 @@ import android.content.res.Resources; import android.text.TextUtils; import android.util.SparseIntArray; +import android.annotation.UnsupportedAppUsage; import android.telephony.Rlog; import java.nio.ByteBuffer; @@ -84,6 +85,7 @@ public class GsmAlphabet { /** *The number of SMS's required to encode the text. */ + @UnsupportedAppUsage public int msgCount; /** @@ -92,28 +94,33 @@ public class GsmAlphabet { * septets for the standard ASCII and GSM encodings, and 16 * bits for Unicode. */ + @UnsupportedAppUsage public int codeUnitCount; /** * How many code units are still available without spilling * into an additional message. */ + @UnsupportedAppUsage public int codeUnitsRemaining; /** * The encoding code unit size (specified using * android.telephony.SmsMessage ENCODING_*). */ + @UnsupportedAppUsage public int codeUnitSize; /** * The GSM national language table to use, or 0 for the default 7-bit alphabet. */ + @UnsupportedAppUsage public int languageTable; /** * The GSM national language shift table to use, or 0 for the default 7-bit extension table. */ + @UnsupportedAppUsage public int languageShiftTable; @Override @@ -138,6 +145,7 @@ public class GsmAlphabet { * @param c the character to convert * @return the GSM 7 bit table index for the specified character */ + @UnsupportedAppUsage public static int charToGsm(char c) { try { @@ -160,6 +168,7 @@ public class GsmAlphabet { * @throws EncodeException encode error when throwException is true * @return the GSM 7 bit table index for the specified character */ + @UnsupportedAppUsage public static int charToGsm(char c, boolean throwException) throws EncodeException { int ret; @@ -215,6 +224,7 @@ public class GsmAlphabet { * @param gsmChar the GSM 7 bit table index to convert * @return the decoded character */ + @UnsupportedAppUsage public static char gsmToChar(int gsmChar) { if (gsmChar >= 0 && gsmChar < 128) { @@ -293,6 +303,7 @@ public class GsmAlphabet { * @return Byte array containing header and encoded data. * @throws EncodeException if String is too large to encode */ + @UnsupportedAppUsage public static byte[] stringToGsm7BitPackedWithHeader(String data, byte[] header, int languageTable, int languageShiftTable) throws EncodeException { @@ -327,6 +338,7 @@ public class GsmAlphabet { * @return the encoded string * @throws EncodeException if String is too large to encode */ + @UnsupportedAppUsage public static byte[] stringToGsm7BitPacked(String data) throws EncodeException { return stringToGsm7BitPacked(data, 0, true, 0, 0); @@ -377,6 +389,7 @@ public class GsmAlphabet { * * @throws EncodeException if String is too large to encode */ + @UnsupportedAppUsage public static byte[] stringToGsm7BitPacked(String data, int startingSeptetOffset, boolean throwException, int languageTable, int languageShiftTable) throws EncodeException { @@ -428,6 +441,7 @@ public class GsmAlphabet { * (septet index * 7) * @param value the 7-bit character to store */ + @UnsupportedAppUsage private static void packSmsChar(byte[] packedChars, int bitOffset, int value) { int byteOffset = bitOffset / 8; @@ -451,6 +465,7 @@ public class GsmAlphabet { * @param lengthSeptets string length in septets, not bytes * @return String representation or null on decoding exception */ + @UnsupportedAppUsage public static String gsm7BitPackedToString(byte[] pdu, int offset, int lengthSeptets) { return gsm7BitPackedToString(pdu, offset, lengthSeptets, 0, 0, 0); @@ -472,6 +487,7 @@ public class GsmAlphabet { * GSM extension table * @return String representation or null on decoding exception */ + @UnsupportedAppUsage public static String gsm7BitPackedToString(byte[] pdu, int offset, int lengthSeptets, int numPaddingBits, int languageTable, int shiftTable) { StringBuilder ret = new StringBuilder(lengthSeptets); @@ -555,6 +571,7 @@ public class GsmAlphabet { * @param length the number of bytes to decode * @return the decoded string */ + @UnsupportedAppUsage public static String gsm8BitUnpackedToString(byte[] data, int offset, int length) { return gsm8BitUnpackedToString(data, offset, length, ""); @@ -570,6 +587,7 @@ public class GsmAlphabet { * Additionally, in some country(ex. Korea), there are non-ASCII or MBCS characters. * If a character set is given, characters in data are treat as MBCS. */ + @UnsupportedAppUsage public static String gsm8BitUnpackedToString(byte[] data, int offset, int length, String characterset) { boolean isMbcs = false; @@ -649,6 +667,7 @@ public class GsmAlphabet { * @param s the string to encode * @return the 8-bit GSM encoded byte array for the string */ + @UnsupportedAppUsage public static byte[] stringToGsm8BitPacked(String s) { byte[] ret; @@ -736,6 +755,7 @@ public class GsmAlphabet { * @return the number of septets for this character * @throws EncodeException the character can't be encoded and throwsException is true */ + @UnsupportedAppUsage public static int countGsmSeptets(char c, boolean throwsException) throws EncodeException { if (sCharsToGsmTables[0].get(c, -1) != -1) { @@ -978,6 +998,7 @@ public class GsmAlphabet { * @return index of first character that won't fit, or the length * of the entire string if everything fits */ + @UnsupportedAppUsage public static int findGsmSeptetLimitIndex(String s, int start, int limit, int langTable, int langShiftTable) { int accumulator = 0; @@ -1076,18 +1097,23 @@ public class GsmAlphabet { } /** Reverse mapping from Unicode characters to indexes into language tables. */ + @UnsupportedAppUsage private static final SparseIntArray[] sCharsToGsmTables; /** Reverse mapping from Unicode characters to indexes into language shift tables. */ + @UnsupportedAppUsage private static final SparseIntArray[] sCharsToShiftTables; /** OEM configured list of enabled national language single shift tables for encoding. */ + @UnsupportedAppUsage private static int[] sEnabledSingleShiftTables; /** OEM configured list of enabled national language locking shift tables for encoding. */ + @UnsupportedAppUsage private static int[] sEnabledLockingShiftTables; /** Highest language code to include in array of single shift counters. */ + @UnsupportedAppUsage private static int sHighestEnabledSingleShiftCode; /** Flag to bypass check for country-specific overlays (for test cases only). */ @@ -1098,9 +1124,13 @@ public class GsmAlphabet { * the single shift tables that it can be paired with. */ private static class LanguagePairCount { + @UnsupportedAppUsage final int languageCode; + @UnsupportedAppUsage final int[] septetCounts; + @UnsupportedAppUsage final int[] unencodableCounts; + @UnsupportedAppUsage LanguagePairCount(int code) { this.languageCode = code; int maxSingleShiftCode = sHighestEnabledSingleShiftCode; @@ -1130,6 +1160,7 @@ public class GsmAlphabet { * GSM default 7 bit alphabet plus national language locking shift character tables. * Comment lines above strings indicate the lower four bits of the table position. */ + @UnsupportedAppUsage private static final String[] sLanguageTables = { /* 3GPP TS 23.038 V9.1.1 section 6.2.1 - GSM 7 bit Default Alphabet 01.....23.....4.....5.....6.....7.....8.....9.....A.B.....C.....D.E.....F.....0.....1 */ @@ -1323,6 +1354,7 @@ public class GsmAlphabet { /** * GSM default extension table plus national language single shift character tables. */ + @UnsupportedAppUsage private static final String[] sLanguageShiftTables = new String[]{ /* 6.2.1.1 GSM 7 bit Default Alphabet Extension Table 0123456789A.....BCDEF0123456789ABCDEF0123456789ABCDEF.0123456789ABCDEF0123456789ABCDEF */ diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 7c6dbca377e7..b4f3487a5f63 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1520,6 +1520,22 @@ interface ITelephony { void setRadioIndicationUpdateMode(int subId, int filters, int mode); /** + * Returns whether mobile data roaming is enabled on the subscription with id {@code subId}. + * + * @param subId the subscription id + * @return {@code true} if the data roaming is enabled on this subscription. + */ + boolean isDataRoamingEnabled(int subId); + + /** + * Enables/Disables the data roaming on the subscription with id {@code subId}. + * + * @param subId the subscription id + * @param isEnabled {@code true} to enable mobile data roaming, otherwise disable it. + */ + void setDataRoamingEnabled(int subId, boolean isEnabled); + + /** * A test API to override carrier information including mccmnc, imsi, iccid, gid1, gid2, * plmn and spn. This would be handy for, eg, forcing a particular carrier id, carrier's config * (also any country or carrier overlays) to be loaded when using a test SIM with a call box. diff --git a/telephony/java/com/android/internal/telephony/OperatorInfo.java b/telephony/java/com/android/internal/telephony/OperatorInfo.java index a29d7c161990..d0245a0a07b4 100644 --- a/telephony/java/com/android/internal/telephony/OperatorInfo.java +++ b/telephony/java/com/android/internal/telephony/OperatorInfo.java @@ -16,6 +16,7 @@ package com.android.internal.telephony; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -26,37 +27,48 @@ public class OperatorInfo implements Parcelable { public enum State { UNKNOWN, AVAILABLE, + @UnsupportedAppUsage CURRENT, + @UnsupportedAppUsage FORBIDDEN; } + @UnsupportedAppUsage private String mOperatorAlphaLong; + @UnsupportedAppUsage private String mOperatorAlphaShort; + @UnsupportedAppUsage private String mOperatorNumeric; + @UnsupportedAppUsage private State mState = State.UNKNOWN; + @UnsupportedAppUsage public String getOperatorAlphaLong() { return mOperatorAlphaLong; } + @UnsupportedAppUsage public String getOperatorAlphaShort() { return mOperatorAlphaShort; } + @UnsupportedAppUsage public String getOperatorNumeric() { return mOperatorNumeric; } + @UnsupportedAppUsage public State getState() { return mState; } + @UnsupportedAppUsage OperatorInfo(String operatorAlphaLong, String operatorAlphaShort, String operatorNumeric, @@ -70,6 +82,7 @@ public class OperatorInfo implements Parcelable { } + @UnsupportedAppUsage public OperatorInfo(String operatorAlphaLong, String operatorAlphaShort, String operatorNumeric, @@ -78,6 +91,7 @@ public class OperatorInfo implements Parcelable { operatorNumeric, rilStateToState(stateString)); } + @UnsupportedAppUsage public OperatorInfo(String operatorAlphaLong, String operatorAlphaShort, String operatorNumeric) { @@ -87,6 +101,7 @@ public class OperatorInfo implements Parcelable { /** * See state strings defined in ril.h RIL_REQUEST_QUERY_AVAILABLE_NETWORKS */ + @UnsupportedAppUsage private static State rilStateToState(String s) { if (s.equals("unknown")) { return State.UNKNOWN; @@ -140,6 +155,7 @@ public class OperatorInfo implements Parcelable { * Implement the Parcelable interface * Method to deserialize a OperatorInfo object, or an array thereof. */ + @UnsupportedAppUsage public static final Creator<OperatorInfo> CREATOR = new Creator<OperatorInfo>() { @Override diff --git a/telephony/java/com/android/internal/telephony/SmsAddress.java b/telephony/java/com/android/internal/telephony/SmsAddress.java index b3892cb0b342..2a8de8c8502e 100644 --- a/telephony/java/com/android/internal/telephony/SmsAddress.java +++ b/telephony/java/com/android/internal/telephony/SmsAddress.java @@ -16,6 +16,8 @@ package com.android.internal.telephony; +import android.annotation.UnsupportedAppUsage; + public abstract class SmsAddress { // From TS 23.040 9.1.2.5 and TS 24.008 table 10.5.118 // and C.S0005-D table 2.7.1.3.2.4-2 @@ -29,6 +31,7 @@ public abstract class SmsAddress { public int ton; public String address; + @UnsupportedAppUsage public byte[] origBytes; /** diff --git a/telephony/java/com/android/internal/telephony/SmsConstants.java b/telephony/java/com/android/internal/telephony/SmsConstants.java index 0aba468b5e1f..19f52b0ef429 100644 --- a/telephony/java/com/android/internal/telephony/SmsConstants.java +++ b/telephony/java/com/android/internal/telephony/SmsConstants.java @@ -15,6 +15,8 @@ */ package com.android.internal.telephony; +import android.annotation.UnsupportedAppUsage; + /** * SMS Constants and must be the same as the corresponding * deprecated version in SmsMessage. @@ -58,10 +60,15 @@ public class SmsConstants { * See TS 23.038. */ public enum MessageClass{ + @UnsupportedAppUsage UNKNOWN, + @UnsupportedAppUsage CLASS_0, + @UnsupportedAppUsage CLASS_1, + @UnsupportedAppUsage CLASS_2, + @UnsupportedAppUsage CLASS_3; } diff --git a/telephony/java/com/android/internal/telephony/SmsHeader.java b/telephony/java/com/android/internal/telephony/SmsHeader.java index b519b70088fb..9fe1718df6b6 100644 --- a/telephony/java/com/android/internal/telephony/SmsHeader.java +++ b/telephony/java/com/android/internal/telephony/SmsHeader.java @@ -22,6 +22,7 @@ import com.android.internal.util.HexDump; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import android.annotation.UnsupportedAppUsage; import java.util.ArrayList; /** @@ -72,14 +73,19 @@ public class SmsHeader { public static final int PORT_WAP_WSP = 9200; public static class PortAddrs { + @UnsupportedAppUsage public int destPort; + @UnsupportedAppUsage public int origPort; public boolean areEightBits; } public static class ConcatRef { + @UnsupportedAppUsage public int refNumber; + @UnsupportedAppUsage public int seqNumber; + @UnsupportedAppUsage public int msgCount; public boolean isEightBits; } @@ -98,17 +104,22 @@ public class SmsHeader { public byte[] data; } + @UnsupportedAppUsage public PortAddrs portAddrs; + @UnsupportedAppUsage public ConcatRef concatRef; public ArrayList<SpecialSmsMsg> specialSmsMsgList = new ArrayList<SpecialSmsMsg>(); public ArrayList<MiscElt> miscEltList = new ArrayList<MiscElt>(); /** 7 bit national language locking shift table, or 0 for GSM default 7 bit alphabet. */ + @UnsupportedAppUsage public int languageTable; /** 7 bit national language single shift table, or 0 for GSM default 7 bit extension table. */ + @UnsupportedAppUsage public int languageShiftTable; + @UnsupportedAppUsage public SmsHeader() {} /** @@ -117,6 +128,7 @@ public class SmsHeader { * @param data is user data header bytes * @return SmsHeader object */ + @UnsupportedAppUsage public static SmsHeader fromByteArray(byte[] data) { ByteArrayInputStream inStream = new ByteArrayInputStream(data); SmsHeader smsHeader = new SmsHeader(); @@ -198,6 +210,7 @@ public class SmsHeader { * (see TS 23.040 9.2.3.24) * @return Byte array representing the SmsHeader */ + @UnsupportedAppUsage public static byte[] toByteArray(SmsHeader smsHeader) { if ((smsHeader.portAddrs == null) && (smsHeader.concatRef == null) && diff --git a/telephony/java/com/android/internal/telephony/SmsMessageBase.java b/telephony/java/com/android/internal/telephony/SmsMessageBase.java index e5821dcd94a5..7b1ead9722b8 100644 --- a/telephony/java/com/android/internal/telephony/SmsMessageBase.java +++ b/telephony/java/com/android/internal/telephony/SmsMessageBase.java @@ -22,6 +22,7 @@ import com.android.internal.telephony.SmsHeader; import java.text.BreakIterator; import java.util.Arrays; +import android.annotation.UnsupportedAppUsage; import android.provider.Telephony; import android.telephony.SmsMessage; import android.text.Emoji; @@ -32,12 +33,15 @@ import android.text.Emoji; */ public abstract class SmsMessageBase { /** {@hide} The address of the SMSC. May be null */ + @UnsupportedAppUsage protected String mScAddress; /** {@hide} The address of the sender */ + @UnsupportedAppUsage protected SmsAddress mOriginatingAddress; /** {@hide} The message body as a string. May be null if the message isn't text */ + @UnsupportedAppUsage protected String mMessageBody; /** {@hide} */ @@ -56,23 +60,28 @@ public abstract class SmsMessageBase { protected long mScTimeMillis; /** {@hide} The raw PDU of the message */ + @UnsupportedAppUsage protected byte[] mPdu; /** {@hide} The raw bytes for the user data section of the message */ protected byte[] mUserData; /** {@hide} */ + @UnsupportedAppUsage protected SmsHeader mUserDataHeader; // "Message Waiting Indication Group" // 23.038 Section 4 /** {@hide} */ + @UnsupportedAppUsage protected boolean mIsMwi; /** {@hide} */ + @UnsupportedAppUsage protected boolean mMwiSense; /** {@hide} */ + @UnsupportedAppUsage protected boolean mMwiDontStore; /** @@ -86,11 +95,14 @@ public abstract class SmsMessageBase { protected int mIndexOnIcc = -1; /** TP-Message-Reference - Message Reference of sent message. @hide */ + @UnsupportedAppUsage public int mMessageRef; // TODO(): This class is duplicated in SmsMessage.java. Refactor accordingly. public static abstract class SubmitPduBase { + @UnsupportedAppUsage public byte[] encodedScAddress; // Null if not applicable. + @UnsupportedAppUsage public byte[] encodedMessage; @Override @@ -106,6 +118,7 @@ public abstract class SmsMessageBase { * Returns the address of the SMS service center that relayed this message * or null if there is none. */ + @UnsupportedAppUsage public String getServiceCenterAddress() { return mScAddress; } @@ -114,6 +127,7 @@ public abstract class SmsMessageBase { * Returns the originating address (sender) of this SMS message in String * form or null if unavailable */ + @UnsupportedAppUsage public String getOriginatingAddress() { if (mOriginatingAddress == null) { return null; @@ -127,6 +141,7 @@ public abstract class SmsMessageBase { * was from an email gateway. Returns null if originating address * unavailable. */ + @UnsupportedAppUsage public String getDisplayOriginatingAddress() { if (mIsEmail) { return mEmailFrom; @@ -139,6 +154,7 @@ public abstract class SmsMessageBase { * Returns the message body as a String, if it exists and is text based. * @return message body is there is one, otherwise null */ + @UnsupportedAppUsage public String getMessageBody() { return mMessageBody; } @@ -152,6 +168,7 @@ public abstract class SmsMessageBase { * Returns the message body, or email message body if this message was from * an email gateway. Returns null if message body unavailable. */ + @UnsupportedAppUsage public String getDisplayMessageBody() { if (mIsEmail) { return mEmailBody; @@ -164,6 +181,7 @@ public abstract class SmsMessageBase { * Unofficial convention of a subject line enclosed in parens empty string * if not present */ + @UnsupportedAppUsage public String getPseudoSubject() { return mPseudoSubject == null ? "" : mPseudoSubject; } @@ -171,6 +189,7 @@ public abstract class SmsMessageBase { /** * Returns the service centre timestamp in currentTimeMillis() format */ + @UnsupportedAppUsage public long getTimestampMillis() { return mScTimeMillis; } @@ -204,12 +223,14 @@ public abstract class SmsMessageBase { /** * Get protocol identifier. */ + @UnsupportedAppUsage public abstract int getProtocolIdentifier(); /** * See TS 23.040 9.2.3.9 returns true if this is a "replace short message" * SMS */ + @UnsupportedAppUsage public abstract boolean isReplace(); /** @@ -242,6 +263,7 @@ public abstract class SmsMessageBase { * returns the user data section minus the user data header if one was * present. */ + @UnsupportedAppUsage public byte[] getUserData() { return mUserData; } @@ -251,6 +273,7 @@ public abstract class SmsMessageBase { * * {@hide} */ + @UnsupportedAppUsage public SmsHeader getUserDataHeader() { return mUserDataHeader; } @@ -279,17 +302,20 @@ public abstract class SmsMessageBase { * See TS 23.040, 9.9.2.3.15 for a description of other possible * values. */ + @UnsupportedAppUsage public abstract int getStatus(); /** * Return true iff the message is a SMS-STATUS-REPORT message. */ + @UnsupportedAppUsage public abstract boolean isStatusReportMessage(); /** * Returns true iff the <code>TP-Reply-Path</code> bit is set in * this message. */ + @UnsupportedAppUsage public abstract boolean isReplyPathPresent(); /** diff --git a/telephony/java/com/android/internal/telephony/SmsRawData.java b/telephony/java/com/android/internal/telephony/SmsRawData.java index 891d942b9a13..18727f3a14fa 100644 --- a/telephony/java/com/android/internal/telephony/SmsRawData.java +++ b/telephony/java/com/android/internal/telephony/SmsRawData.java @@ -17,6 +17,7 @@ package com.android.internal.telephony; +import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -27,6 +28,7 @@ public class SmsRawData implements Parcelable { byte[] data; //Static Methods + @UnsupportedAppUsage public static final Parcelable.Creator<SmsRawData> CREATOR = new Parcelable.Creator<SmsRawData> (){ public SmsRawData createFromParcel(Parcel source) { @@ -43,10 +45,12 @@ public class SmsRawData implements Parcelable { }; // Constructor + @UnsupportedAppUsage public SmsRawData(byte[] data) { this.data = data; } + @UnsupportedAppUsage public byte[] getBytes() { return data; } diff --git a/telephony/java/com/android/internal/telephony/TelephonyPermissions.java b/telephony/java/com/android/internal/telephony/TelephonyPermissions.java index bbe38b7f709a..06378ba95d59 100644 --- a/telephony/java/com/android/internal/telephony/TelephonyPermissions.java +++ b/telephony/java/com/android/internal/telephony/TelephonyPermissions.java @@ -20,7 +20,6 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED; import android.Manifest; import android.app.AppOpsManager; import android.content.Context; -import android.content.pm.PackageManager; import android.os.Binder; import android.os.RemoteException; import android.os.ServiceManager; @@ -250,6 +249,26 @@ public final class TelephonyPermissions { } /** + * Ensure the caller (or self, if not processing an IPC) has + * {@link android.Manifest.permission#READ_PHONE_STATE} or carrier privileges. + * + * @throws SecurityException if the caller does not have the required permission/privileges + */ + public static void enforeceCallingOrSelfReadPhoneStatePermissionOrCarrierPrivilege( + Context context, int subId, String message) { + if (context.checkCallingOrSelfPermission(android.Manifest.permission.READ_PHONE_STATE) + == PERMISSION_GRANTED) { + return; + } + + if (DBG) { + Rlog.d(LOG_TAG, "No READ_PHONE_STATE permission, check carrier privilege next."); + } + + enforceCallingOrSelfCarrierPrivilege(subId, message); + } + + /** * Make sure the caller (or self, if not processing an IPC) has carrier privileges. * * @throws SecurityException if the caller does not have the required privileges diff --git a/tests/net/java/android/net/dhcp/DhcpLeaseRepositoryTest.java b/tests/net/java/android/net/dhcp/DhcpLeaseRepositoryTest.java index edadd6ead667..7f8e7b5456c2 100644 --- a/tests/net/java/android/net/dhcp/DhcpLeaseRepositoryTest.java +++ b/tests/net/java/android/net/dhcp/DhcpLeaseRepositoryTest.java @@ -32,10 +32,11 @@ import static java.lang.String.format; import static java.net.InetAddress.parseNumericAddress; import android.annotation.NonNull; +import android.annotation.Nullable; import android.net.IpPrefix; import android.net.MacAddress; -import android.net.dhcp.DhcpLeaseRepository.Clock; import android.net.util.SharedLog; +import android.net.dhcp.DhcpServer.Clock; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; @@ -107,7 +108,7 @@ public class DhcpLeaseRepositoryTest { MacAddress newMac = MacAddress.fromBytes(hwAddrBytes); final String hostname = "host_" + i; final DhcpLease lease = mRepo.getOffer(CLIENTID_UNSPEC, newMac, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, hostname); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, hostname); assertNotNull(lease); assertEquals(newMac, lease.getHwAddr()); @@ -115,7 +116,7 @@ public class DhcpLeaseRepositoryTest { assertTrue(format("Duplicate address allocated: %s in %s", lease.getNetAddr(), addrs), addrs.add(lease.getNetAddr())); - mRepo.requestLease(null, newMac, null, lease.getNetAddr(), true, hostname); + requestLeaseSelecting(newMac, lease.getNetAddr(), hostname); } } @@ -129,7 +130,7 @@ public class DhcpLeaseRepositoryTest { try { mRepo.getOffer(null, TEST_MAC_2, - null /* relayAddr */, null /* reqAddr */, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); fail("Should be out of addresses"); } catch (DhcpLeaseRepository.OutOfAddressesException e) { // Expected @@ -145,8 +146,7 @@ public class DhcpLeaseRepositoryTest { // Inside /28, but not available there (first address of the range) final Inet4Address declinedFirstAddrIn28 = parseAddr4("192.168.42.240"); - final DhcpLease reqAddrIn28Lease = mRepo.requestLease( - CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, reqAddrIn28, false, HOSTNAME_NONE); + final DhcpLease reqAddrIn28Lease = requestLeaseSelecting(TEST_MAC_1, reqAddrIn28); mRepo.markLeaseDeclined(declinedAddrIn28); mRepo.markLeaseDeclined(declinedFirstAddrIn28); @@ -154,14 +154,12 @@ public class DhcpLeaseRepositoryTest { final Inet4Address reqAddrIn22 = parseAddr4("192.168.42.3"); final Inet4Address declinedAddrIn22 = parseAddr4("192.168.42.4"); - final DhcpLease reqAddrIn22Lease = mRepo.requestLease( - CLIENTID_UNSPEC, TEST_MAC_3, INET4_ANY, reqAddrIn22, false, HOSTNAME_NONE); + final DhcpLease reqAddrIn22Lease = requestLeaseSelecting(TEST_MAC_3, reqAddrIn22); mRepo.markLeaseDeclined(declinedAddrIn22); // Address that will be reserved in the updateParams call below final Inet4Address reservedAddr = parseAddr4("192.168.42.244"); - final DhcpLease reservedAddrLease = mRepo.requestLease( - CLIENTID_UNSPEC, TEST_MAC_2, INET4_ANY, reservedAddr, false, HOSTNAME_NONE); + final DhcpLease reservedAddrLease = requestLeaseSelecting(TEST_MAC_2, reservedAddr); // Update from /22 to /28 and add another reserved address Set<Inet4Address> newReserved = new HashSet<>(TEST_EXCL_SET); @@ -183,11 +181,11 @@ public class DhcpLeaseRepositoryTest { public void testGetOffer_StableAddress() throws Exception { for (final MacAddress macAddr : new MacAddress[] { TEST_MAC_1, TEST_MAC_2, TEST_MAC_3 }) { final DhcpLease lease = mRepo.getOffer(CLIENTID_UNSPEC, macAddr, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); // Same lease is offered twice final DhcpLease newLease = mRepo.getOffer(CLIENTID_UNSPEC, macAddr, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); assertEquals(lease, newLease); } } @@ -198,17 +196,16 @@ public class DhcpLeaseRepositoryTest { mRepo.updateParams(newPrefix, TEST_EXCL_SET, TEST_LEASE_TIME_MS); DhcpLease lease = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, - INETADDR_UNSPEC, INETADDR_UNSPEC, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); assertTrue(newPrefix.contains(lease.getNetAddr())); } @Test public void testGetOffer_ExistingLease() throws Exception { - mRepo.requestLease( - CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, TEST_INETADDR_1, false, TEST_HOSTNAME_1); + requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1, TEST_HOSTNAME_1); DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, - INETADDR_UNSPEC, INETADDR_UNSPEC, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); assertEquals(TEST_INETADDR_1, offer.getNetAddr()); assertEquals(TEST_HOSTNAME_1, offer.getHostname()); } @@ -216,12 +213,12 @@ public class DhcpLeaseRepositoryTest { @Test public void testGetOffer_ClientIdHasExistingLease() throws Exception { final byte[] clientId = new byte[] { 1, 2 }; - mRepo.requestLease(clientId, TEST_MAC_1, INET4_ANY, TEST_INETADDR_1, false, - TEST_HOSTNAME_1); + mRepo.requestLease(clientId, TEST_MAC_1, INET4_ANY /* clientAddr */, + INET4_ANY /* relayAddr */, TEST_INETADDR_1 /* reqAddr */, false, TEST_HOSTNAME_1); // Different MAC, but same clientId DhcpLease offer = mRepo.getOffer(clientId, TEST_MAC_2, - INETADDR_UNSPEC, INETADDR_UNSPEC, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); assertEquals(TEST_INETADDR_1, offer.getNetAddr()); assertEquals(TEST_HOSTNAME_1, offer.getHostname()); } @@ -230,12 +227,12 @@ public class DhcpLeaseRepositoryTest { public void testGetOffer_DifferentClientId() throws Exception { final byte[] clientId1 = new byte[] { 1, 2 }; final byte[] clientId2 = new byte[] { 3, 4 }; - mRepo.requestLease(clientId1, TEST_MAC_1, INET4_ANY, TEST_INETADDR_1, false, - TEST_HOSTNAME_1); + mRepo.requestLease(clientId1, TEST_MAC_1, INET4_ANY /* clientAddr */, + INET4_ANY /* relayAddr */, TEST_INETADDR_1 /* reqAddr */, false, TEST_HOSTNAME_1); // Same MAC, different client ID DhcpLease offer = mRepo.getOffer(clientId2, TEST_MAC_1, - INETADDR_UNSPEC, INETADDR_UNSPEC, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); // Obtains a different address assertNotEquals(TEST_INETADDR_1, offer.getNetAddr()); assertEquals(HOSTNAME_NONE, offer.getHostname()); @@ -244,58 +241,57 @@ public class DhcpLeaseRepositoryTest { @Test public void testGetOffer_RequestedAddress() throws Exception { - DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_1, TEST_HOSTNAME_1); + DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY /* relayAddr */, + TEST_INETADDR_1 /* reqAddr */, TEST_HOSTNAME_1); assertEquals(TEST_INETADDR_1, offer.getNetAddr()); assertEquals(TEST_HOSTNAME_1, offer.getHostname()); } @Test public void testGetOffer_RequestedAddressInUse() throws Exception { - mRepo.requestLease( - CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, TEST_INETADDR_1, false, HOSTNAME_NONE); - DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_2, INET4_ANY, - TEST_INETADDR_1, HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1); + DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_2, INET4_ANY /* relayAddr */, + TEST_INETADDR_1 /* reqAddr */, HOSTNAME_NONE); assertNotEquals(TEST_INETADDR_1, offer.getNetAddr()); } @Test public void testGetOffer_RequestedAddressReserved() throws Exception { - DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_RESERVED_ADDR, HOSTNAME_NONE); + DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY /* relayAddr */, + TEST_RESERVED_ADDR /* reqAddr */, HOSTNAME_NONE); assertNotEquals(TEST_RESERVED_ADDR, offer.getNetAddr()); } @Test public void testGetOffer_RequestedAddressInvalid() throws Exception { final Inet4Address invalidAddr = parseAddr4("192.168.42.0"); - DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - invalidAddr, HOSTNAME_NONE); + DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY /* relayAddr */, + invalidAddr /* reqAddr */, HOSTNAME_NONE); assertNotEquals(invalidAddr, offer.getNetAddr()); } @Test public void testGetOffer_RequestedAddressOutsideSubnet() throws Exception { final Inet4Address invalidAddr = parseAddr4("192.168.254.2"); - DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - invalidAddr, HOSTNAME_NONE); + DhcpLease offer = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY /* relayAddr */, + invalidAddr /* reqAddr */, HOSTNAME_NONE); assertNotEquals(invalidAddr, offer.getNetAddr()); } - @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) + @Test(expected = DhcpLeaseRepository.InvalidSubnetException.class) public void testGetOffer_RelayInInvalidSubnet() throws Exception { - mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, - parseAddr4("192.168.254.2") /* relayAddr */, INETADDR_UNSPEC, HOSTNAME_NONE); + mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, parseAddr4("192.168.254.2") /* relayAddr */, + INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); } @Test public void testRequestLease_SelectingTwice() throws Exception { - DhcpLease lease1 = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, TEST_HOSTNAME_1); + final DhcpLease lease1 = requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1, + TEST_HOSTNAME_1); // Second request from same client for a different address - DhcpLease lease2 = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_2, true /* sidSet */, TEST_HOSTNAME_2); + final DhcpLease lease2 = requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_2, + TEST_HOSTNAME_2); assertEquals(TEST_INETADDR_1, lease1.getNetAddr()); assertEquals(TEST_HOSTNAME_1, lease1.getHostname()); @@ -304,43 +300,43 @@ public class DhcpLeaseRepositoryTest { assertEquals(TEST_HOSTNAME_2, lease2.getHostname()); // First address freed when client requested a different one: another client can request it - DhcpLease lease3 = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_2, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, HOSTNAME_NONE); + final DhcpLease lease3 = requestLeaseSelecting(TEST_MAC_2, TEST_INETADDR_1, HOSTNAME_NONE); assertEquals(TEST_INETADDR_1, lease3.getNetAddr()); } @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) public void testRequestLease_SelectingInvalid() throws Exception { - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - parseAddr4("192.168.254.5"), true /* sidSet */, HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_1, parseAddr4("192.168.254.5")); } @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) public void testRequestLease_SelectingInUse() throws Exception { - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, HOSTNAME_NONE); - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_2, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1); + requestLeaseSelecting(TEST_MAC_2, TEST_INETADDR_1); } @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) public void testRequestLease_SelectingReserved() throws Exception { - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_RESERVED_ADDR, true /* sidSet */, HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_1, TEST_RESERVED_ADDR); + } + + @Test(expected = DhcpLeaseRepository.InvalidSubnetException.class) + public void testRequestLease_SelectingRelayInInvalidSubnet() throws Exception { + mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY /* clientAddr */, + parseAddr4("192.168.128.1") /* relayAddr */, TEST_INETADDR_1 /* reqAddr */, + true /* sidSet */, HOSTNAME_NONE); } @Test public void testRequestLease_InitReboot() throws Exception { // Request address once - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1); final long newTime = TEST_TIME + 100; when(mClock.elapsedRealtime()).thenReturn(newTime); // init-reboot (sidSet == false): verify configuration - DhcpLease lease = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_1, false, HOSTNAME_NONE); + final DhcpLease lease = requestLeaseInitReboot(TEST_MAC_1, TEST_INETADDR_1); assertEquals(TEST_INETADDR_1, lease.getNetAddr()); assertEquals(newTime + TEST_LEASE_TIME_MS, lease.getExpTime()); } @@ -348,18 +344,15 @@ public class DhcpLeaseRepositoryTest { @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) public void testRequestLease_InitRebootWrongAddr() throws Exception { // Request address once - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1); // init-reboot with different requested address - mRepo.requestLease( - CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, TEST_INETADDR_2, false, HOSTNAME_NONE); + requestLeaseInitReboot(TEST_MAC_1, TEST_INETADDR_2); } @Test public void testRequestLease_InitRebootUnknownAddr() throws Exception { // init-reboot with unknown requested address - DhcpLease lease = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_2, false, HOSTNAME_NONE); + final DhcpLease lease = requestLeaseInitReboot(TEST_MAC_1, TEST_INETADDR_2); // RFC2131 says we should not reply to accommodate other servers, but since we are // authoritative we allow creating the lease to avoid issues with lost lease DB (same as // dnsmasq behavior) @@ -368,22 +361,17 @@ public class DhcpLeaseRepositoryTest { @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) public void testRequestLease_InitRebootWrongSubnet() throws Exception { - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - parseAddr4("192.168.254.2"), false /* sidSet */, HOSTNAME_NONE); + requestLeaseInitReboot(TEST_MAC_1, parseAddr4("192.168.254.2")); } @Test public void testRequestLease_Renewing() throws Exception { - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, - INET4_ANY /* clientAddr */, TEST_INETADDR_1 /* reqAddr */, true, HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1); final long newTime = TEST_TIME + 100; when(mClock.elapsedRealtime()).thenReturn(newTime); - // Renewing: clientAddr filled in, no reqAddr - DhcpLease lease = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, - TEST_INETADDR_1 /* clientAddr */, INETADDR_UNSPEC /* reqAddr */, false, - HOSTNAME_NONE); + final DhcpLease lease = requestLeaseRenewing(TEST_MAC_1, TEST_INETADDR_1); assertEquals(TEST_INETADDR_1, lease.getNetAddr()); assertEquals(newTime + TEST_LEASE_TIME_MS, lease.getExpTime()); @@ -393,9 +381,7 @@ public class DhcpLeaseRepositoryTest { public void testRequestLease_RenewingUnknownAddr() throws Exception { final long newTime = TEST_TIME + 100; when(mClock.elapsedRealtime()).thenReturn(newTime); - DhcpLease lease = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, - TEST_INETADDR_1 /* clientAddr */, INETADDR_UNSPEC /* reqAddr */, false, - HOSTNAME_NONE); + final DhcpLease lease = requestLeaseRenewing(TEST_MAC_1, TEST_INETADDR_1); // Allows renewing an unknown address if available assertEquals(TEST_INETADDR_1, lease.getNetAddr()); assertEquals(newTime + TEST_LEASE_TIME_MS, lease.getExpTime()); @@ -403,31 +389,24 @@ public class DhcpLeaseRepositoryTest { @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) public void testRequestLease_RenewingAddrInUse() throws Exception { - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_2, - INET4_ANY /* clientAddr */, TEST_INETADDR_1 /* reqAddr */, true, HOSTNAME_NONE); - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, - TEST_INETADDR_1 /* clientAddr */, INETADDR_UNSPEC /* reqAddr */, false, - HOSTNAME_NONE); + requestLeaseSelecting(TEST_MAC_2, TEST_INETADDR_1); + requestLeaseRenewing(TEST_MAC_1, TEST_INETADDR_1); } @Test(expected = DhcpLeaseRepository.InvalidAddressException.class) public void testRequestLease_RenewingInvalidAddr() throws Exception { - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, parseAddr4("192.168.254.2") /* clientAddr */, - INETADDR_UNSPEC /* reqAddr */, false, HOSTNAME_NONE); + requestLeaseRenewing(TEST_MAC_1, parseAddr4("192.168.254.2")); } @Test public void testReleaseLease() throws Exception { - DhcpLease lease1 = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, HOSTNAME_NONE); + final DhcpLease lease1 = requestLeaseSelecting(TEST_MAC_1, TEST_INETADDR_1); assertHasLease(lease1); assertTrue(mRepo.releaseLease(CLIENTID_UNSPEC, TEST_MAC_1, TEST_INETADDR_1)); assertNoLease(lease1); - DhcpLease lease2 = mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_2, INET4_ANY, - TEST_INETADDR_1, true /* sidSet */, HOSTNAME_NONE); - + final DhcpLease lease2 = requestLeaseSelecting(TEST_MAC_2, TEST_INETADDR_1); assertEquals(TEST_INETADDR_1, lease2.getNetAddr()); } @@ -440,15 +419,14 @@ public class DhcpLeaseRepositoryTest { public void testReleaseLease_StableOffer() throws Exception { for (MacAddress mac : new MacAddress[] { TEST_MAC_1, TEST_MAC_2, TEST_MAC_3 }) { final DhcpLease lease = mRepo.getOffer(CLIENTID_UNSPEC, mac, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); - mRepo.requestLease( - CLIENTID_UNSPEC, mac, INET4_ANY, lease.getNetAddr(), true, - HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); + + requestLeaseSelecting(mac, lease.getNetAddr()); mRepo.releaseLease(CLIENTID_UNSPEC, mac, lease.getNetAddr()); // Same lease is offered after it was released final DhcpLease newLease = mRepo.getOffer(CLIENTID_UNSPEC, mac, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); assertEquals(lease.getNetAddr(), newLease.getNetAddr()); } } @@ -456,13 +434,13 @@ public class DhcpLeaseRepositoryTest { @Test public void testMarkLeaseDeclined() throws Exception { final DhcpLease lease = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); mRepo.markLeaseDeclined(lease.getNetAddr()); // Same lease is not offered again final DhcpLease newLease = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); assertNotEquals(lease.getNetAddr(), newLease.getNetAddr()); } @@ -475,22 +453,20 @@ public class DhcpLeaseRepositoryTest { mRepo.markLeaseDeclined(TEST_INETADDR_2); // /28 should have 16 addresses, 14 w/o the first/last, 11 w/o excluded addresses - requestAddresses((byte)9); + requestAddresses((byte) 9); // Last 2 addresses: addresses marked declined should be used final DhcpLease firstLease = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_1, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, TEST_HOSTNAME_1); - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_1, INET4_ANY, firstLease.getNetAddr(), true, - HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, TEST_HOSTNAME_1); + requestLeaseSelecting(TEST_MAC_1, firstLease.getNetAddr()); final DhcpLease secondLease = mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_2, - INETADDR_UNSPEC /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, TEST_HOSTNAME_2); - mRepo.requestLease(CLIENTID_UNSPEC, TEST_MAC_2, INET4_ANY, secondLease.getNetAddr(), true, - HOSTNAME_NONE); + INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, TEST_HOSTNAME_2); + requestLeaseSelecting(TEST_MAC_2, secondLease.getNetAddr()); // Now out of addresses try { - mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_3, INETADDR_UNSPEC /* relayAddr */, + mRepo.getOffer(CLIENTID_UNSPEC, TEST_MAC_3, INET4_ANY /* relayAddr */, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE); fail("Repository should be out of addresses and throw"); } catch (DhcpLeaseRepository.OutOfAddressesException e) { /* expected */ } @@ -501,6 +477,50 @@ public class DhcpLeaseRepositoryTest { assertEquals(TEST_HOSTNAME_2, secondLease.getHostname()); } + private DhcpLease requestLease(@NonNull MacAddress macAddr, @NonNull Inet4Address clientAddr, + @Nullable Inet4Address reqAddr, @Nullable String hostname, boolean sidSet) + throws DhcpLeaseRepository.DhcpLeaseException { + return mRepo.requestLease(CLIENTID_UNSPEC, macAddr, clientAddr, INET4_ANY /* relayAddr */, + reqAddr, sidSet, hostname); + } + + /** + * Request a lease simulating a client in the SELECTING state. + */ + private DhcpLease requestLeaseSelecting(@NonNull MacAddress macAddr, + @NonNull Inet4Address reqAddr, @Nullable String hostname) + throws DhcpLeaseRepository.DhcpLeaseException { + return requestLease(macAddr, INET4_ANY /* clientAddr */, reqAddr, hostname, + true /* sidSet */); + } + + /** + * Request a lease simulating a client in the SELECTING state. + */ + private DhcpLease requestLeaseSelecting(@NonNull MacAddress macAddr, + @NonNull Inet4Address reqAddr) throws DhcpLeaseRepository.DhcpLeaseException { + return requestLeaseSelecting(macAddr, reqAddr, HOSTNAME_NONE); + } + + /** + * Request a lease simulating a client in the INIT-REBOOT state. + */ + private DhcpLease requestLeaseInitReboot(@NonNull MacAddress macAddr, + @NonNull Inet4Address reqAddr) throws DhcpLeaseRepository.DhcpLeaseException { + return requestLease(macAddr, INET4_ANY /* clientAddr */, reqAddr, HOSTNAME_NONE, + false /* sidSet */); + } + + /** + * Request a lease simulating a client in the RENEWING state. + */ + private DhcpLease requestLeaseRenewing(@NonNull MacAddress macAddr, + @NonNull Inet4Address clientAddr) throws DhcpLeaseRepository.DhcpLeaseException { + // Renewing: clientAddr filled in, no reqAddr + return requestLease(macAddr, clientAddr, INETADDR_UNSPEC /* reqAddr */, HOSTNAME_NONE, + true /* sidSet */); + } + private void assertNoLease(DhcpLease lease) { assertFalse("Leases contain " + lease, mRepo.getCommittedLeases().contains(lease)); } diff --git a/tests/net/java/android/net/dhcp/DhcpPacketTest.java b/tests/net/java/android/net/dhcp/DhcpPacketTest.java index 050183c1ac1f..312b3d1878d6 100644 --- a/tests/net/java/android/net/dhcp/DhcpPacketTest.java +++ b/tests/net/java/android/net/dhcp/DhcpPacketTest.java @@ -16,6 +16,8 @@ package android.net.dhcp; +import static android.net.NetworkUtils.getBroadcastAddress; +import static android.net.NetworkUtils.getPrefixMaskAsInet4Address; import static android.net.dhcp.DhcpPacket.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; @@ -29,14 +31,15 @@ import android.net.NetworkUtils; import android.net.metrics.DhcpErrorEvent; import android.support.test.runner.AndroidJUnit4; import android.support.test.filters.SmallTest; -import android.system.OsConstants; import com.android.internal.util.HexDump; +import java.io.ByteArrayOutputStream; import java.net.Inet4Address; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Random; import org.junit.Before; @@ -47,13 +50,17 @@ import org.junit.runner.RunWith; @SmallTest public class DhcpPacketTest { - private static Inet4Address SERVER_ADDR = v4Address("192.0.2.1"); - private static Inet4Address CLIENT_ADDR = v4Address("192.0.2.234"); + private static final Inet4Address SERVER_ADDR = v4Address("192.0.2.1"); + private static final Inet4Address CLIENT_ADDR = v4Address("192.0.2.234"); + private static final int PREFIX_LENGTH = 22; + private static final Inet4Address NETMASK = getPrefixMaskAsInet4Address(PREFIX_LENGTH); + private static final Inet4Address BROADCAST_ADDR = getBroadcastAddress( + SERVER_ADDR, PREFIX_LENGTH); // Use our own empty address instead of Inet4Address.ANY or INADDR_ANY to ensure that the code // doesn't use == instead of equals when comparing addresses. - private static Inet4Address ANY = (Inet4Address) v4Address("0.0.0.0"); + private static final Inet4Address ANY = (Inet4Address) v4Address("0.0.0.0"); - private static byte[] CLIENT_MAC = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05 }; + private static final byte[] CLIENT_MAC = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05 }; private static final Inet4Address v4Address(String addrString) throws IllegalArgumentException { return (Inet4Address) NetworkUtils.numericToInetAddress(addrString); @@ -952,4 +959,96 @@ public class DhcpPacketTest { "\nActual:\n " + Arrays.toString(actual); assertTrue(msg, Arrays.equals(expected, actual)); } + + public void checkBuildOfferPacket(int leaseTimeSecs) throws Exception { + final int renewalTime = (int) (Integer.toUnsignedLong(leaseTimeSecs) / 2); + final int rebindingTime = (int) (Integer.toUnsignedLong(leaseTimeSecs) * 875 / 1000); + final int transactionId = 0xdeadbeef; + + final ByteBuffer packet = DhcpPacket.buildOfferPacket( + DhcpPacket.ENCAP_BOOTP, transactionId, false /* broadcast */, + SERVER_ADDR, INADDR_ANY /* relayIp */, CLIENT_ADDR /* yourIp */, + CLIENT_MAC, leaseTimeSecs, NETMASK /* netMask */, + BROADCAST_ADDR /* bcAddr */, Collections.singletonList(SERVER_ADDR) /* gateways */, + Collections.singletonList(SERVER_ADDR) /* dnsServers */, + SERVER_ADDR /* dhcpServerIdentifier */, null /* domainName */, false /* metered */); + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + // BOOTP headers + bos.write(new byte[] { + (byte) 0x02, (byte) 0x01, (byte) 0x06, (byte) 0x00, + (byte) 0xde, (byte) 0xad, (byte) 0xbe, (byte) 0xef, + (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, + // ciaddr + (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, + }); + // yiaddr + bos.write(CLIENT_ADDR.getAddress()); + // siaddr + bos.write(SERVER_ADDR.getAddress()); + // giaddr + bos.write(INADDR_ANY.getAddress()); + // chaddr + bos.write(CLIENT_MAC); + + // Padding + bos.write(new byte[202]); + + // Options + bos.write(new byte[]{ + // Magic cookie 0x63825363. + (byte) 0x63, (byte) 0x82, (byte) 0x53, (byte) 0x63, + // Message type OFFER. + (byte) 0x35, (byte) 0x01, (byte) 0x02, + }); + // Server ID + bos.write(new byte[] { (byte) 0x36, (byte) 0x04 }); + bos.write(SERVER_ADDR.getAddress()); + // Lease time + bos.write(new byte[] { (byte) 0x33, (byte) 0x04 }); + bos.write(intToByteArray(leaseTimeSecs)); + if (leaseTimeSecs != INFINITE_LEASE) { + // Renewal time + bos.write(new byte[]{(byte) 0x3a, (byte) 0x04}); + bos.write(intToByteArray(renewalTime)); + // Rebinding time + bos.write(new byte[]{(byte) 0x3b, (byte) 0x04}); + bos.write(intToByteArray(rebindingTime)); + } + // Subnet mask + bos.write(new byte[] { (byte) 0x01, (byte) 0x04 }); + bos.write(NETMASK.getAddress()); + // Broadcast address + bos.write(new byte[] { (byte) 0x1c, (byte) 0x04 }); + bos.write(BROADCAST_ADDR.getAddress()); + // Router + bos.write(new byte[] { (byte) 0x03, (byte) 0x04 }); + bos.write(SERVER_ADDR.getAddress()); + // Nameserver + bos.write(new byte[] { (byte) 0x06, (byte) 0x04 }); + bos.write(SERVER_ADDR.getAddress()); + // End options. + bos.write(0xff); + + final byte[] expected = bos.toByteArray(); + assertTrue((expected.length & 1) == 0); + + final byte[] actual = new byte[packet.limit()]; + packet.get(actual); + final String msg = "Expected:\n " + HexDump.dumpHexString(expected) + + "\nActual:\n " + HexDump.dumpHexString(actual); + assertTrue(msg, Arrays.equals(expected, actual)); + } + + @Test + public void testOfferPacket() throws Exception { + checkBuildOfferPacket(3600); + checkBuildOfferPacket(Integer.MAX_VALUE); + checkBuildOfferPacket(0x80000000); + checkBuildOfferPacket(INFINITE_LEASE); + } + + private static byte[] intToByteArray(int val) { + return ByteBuffer.allocate(4).putInt(val).array(); + } } diff --git a/tests/net/java/android/net/dhcp/DhcpServerTest.java b/tests/net/java/android/net/dhcp/DhcpServerTest.java new file mode 100644 index 000000000000..45a50d9a8b5f --- /dev/null +++ b/tests/net/java/android/net/dhcp/DhcpServerTest.java @@ -0,0 +1,315 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.net.dhcp; + +import static android.net.dhcp.DhcpPacket.DHCP_CLIENT; +import static android.net.dhcp.DhcpPacket.ENCAP_BOOTP; +import static android.net.dhcp.DhcpPacket.INADDR_ANY; +import static android.net.dhcp.DhcpPacket.INADDR_BROADCAST; + +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertNotNull; +import static junit.framework.Assert.assertNull; +import static junit.framework.Assert.assertTrue; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyBoolean; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import static java.net.InetAddress.parseNumericAddress; + +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.net.LinkAddress; +import android.net.MacAddress; +import android.net.dhcp.DhcpLeaseRepository.InvalidAddressException; +import android.net.dhcp.DhcpLeaseRepository.OutOfAddressesException; +import android.net.dhcp.DhcpServer.Clock; +import android.net.dhcp.DhcpServer.Dependencies; +import android.net.util.InterfaceParams; +import android.net.util.SharedLog; +import android.os.test.TestLooper; +import android.support.test.filters.SmallTest; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.net.Inet4Address; +import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +@RunWith(AndroidJUnit4.class) +@SmallTest +public class DhcpServerTest { + private static final String PROP_DEXMAKER_SHARE_CLASSLOADER = "dexmaker.share_classloader"; + private static final String TEST_IFACE = "testiface"; + private static final MacAddress TEST_IFACE_MAC = MacAddress.fromString("11:22:33:44:55:66"); + private static final InterfaceParams TEST_IFACEPARAMS = + new InterfaceParams(TEST_IFACE, 1, TEST_IFACE_MAC); + + private static final Inet4Address TEST_SERVER_ADDR = parseAddr("192.168.0.2"); + private static final LinkAddress TEST_SERVER_LINKADDR = new LinkAddress(TEST_SERVER_ADDR, 20); + private static final Set<Inet4Address> TEST_DEFAULT_ROUTERS = new HashSet<>( + Arrays.asList(parseAddr("192.168.0.123"), parseAddr("192.168.0.124"))); + private static final Set<Inet4Address> TEST_DNS_SERVERS = new HashSet<>( + Arrays.asList(parseAddr("192.168.0.126"), parseAddr("192.168.0.127"))); + private static final Set<Inet4Address> TEST_EXCLUDED_ADDRS = new HashSet<>( + Arrays.asList(parseAddr("192.168.0.200"), parseAddr("192.168.0.201"))); + private static final long TEST_LEASE_TIME_SECS = 3600L; + private static final int TEST_MTU = 1500; + + private static final int TEST_TRANSACTION_ID = 123; + private static final byte[] TEST_CLIENT_MAC_BYTES = new byte [] { 1, 2, 3, 4, 5, 6 }; + private static final MacAddress TEST_CLIENT_MAC = MacAddress.fromBytes(TEST_CLIENT_MAC_BYTES); + private static final Inet4Address TEST_CLIENT_ADDR = parseAddr("192.168.0.42"); + + private static final long TEST_CLOCK_TIME = 1234L; + private static final int TEST_LEASE_EXPTIME_SECS = 3600; + private static final DhcpLease TEST_LEASE = new DhcpLease(null, TEST_CLIENT_MAC, + TEST_CLIENT_ADDR, TEST_LEASE_EXPTIME_SECS*1000L + TEST_CLOCK_TIME, null /* hostname */); + + @NonNull @Mock + private Dependencies mDeps; + @NonNull @Mock + private DhcpLeaseRepository mRepository; + @NonNull @Mock + private Clock mClock; + @NonNull @Mock + private DhcpPacketListener mPacketListener; + + @NonNull @Captor + private ArgumentCaptor<ByteBuffer> mSentPacketCaptor; + @NonNull @Captor + private ArgumentCaptor<Inet4Address> mResponseDstAddrCaptor; + + @NonNull + private TestLooper mLooper; + @NonNull + private DhcpServer mServer; + + @Nullable + private String mPrevShareClassloaderProp; + + @Before + public void setUp() throws Exception { + // Allow mocking package-private classes + mPrevShareClassloaderProp = System.getProperty(PROP_DEXMAKER_SHARE_CLASSLOADER); + System.setProperty(PROP_DEXMAKER_SHARE_CLASSLOADER, "true"); + MockitoAnnotations.initMocks(this); + + when(mDeps.makeLeaseRepository(any(), any(), any())).thenReturn(mRepository); + when(mDeps.makeClock()).thenReturn(mClock); + when(mDeps.makePacketListener()).thenReturn(mPacketListener); + doNothing().when(mDeps) + .sendPacket(any(), mSentPacketCaptor.capture(), mResponseDstAddrCaptor.capture()); + when(mClock.elapsedRealtime()).thenReturn(TEST_CLOCK_TIME); + + final DhcpServingParams servingParams = new DhcpServingParams.Builder() + .setDefaultRouters(TEST_DEFAULT_ROUTERS) + .setDhcpLeaseTimeSecs(TEST_LEASE_TIME_SECS) + .setDnsServers(TEST_DNS_SERVERS) + .setServerAddr(TEST_SERVER_LINKADDR) + .setLinkMtu(TEST_MTU) + .setExcludedAddrs(TEST_EXCLUDED_ADDRS) + .build(); + + mLooper = new TestLooper(); + mServer = new DhcpServer(mLooper.getLooper(), TEST_IFACEPARAMS, servingParams, + new SharedLog(DhcpServerTest.class.getSimpleName()), mDeps); + + mServer.start(); + mLooper.dispatchAll(); + } + + @After + public void tearDown() { + // Calling stop() several times is not an issue + mServer.stop(); + System.setProperty(PROP_DEXMAKER_SHARE_CLASSLOADER, + (mPrevShareClassloaderProp == null ? "" : mPrevShareClassloaderProp)); + } + + @Test + public void testStart() throws Exception { + verify(mPacketListener, times(1)).start(); + } + + @Test + public void testStop() throws Exception { + mServer.stop(); + mLooper.dispatchAll(); + verify(mPacketListener, times(1)).stop(); + } + + @Test + public void testDiscover() throws Exception { + // TODO: refactor packet construction to eliminate unnecessary/confusing/duplicate fields + when(mRepository.getOffer(isNull() /* clientId */, eq(TEST_CLIENT_MAC), + eq(INADDR_ANY) /* relayAddr */, isNull() /* reqAddr */, isNull() /* hostname */)) + .thenReturn(TEST_LEASE); + + final DhcpDiscoverPacket discover = new DhcpDiscoverPacket(TEST_TRANSACTION_ID, + (short) 0 /* secs */, INADDR_ANY /* relayIp */, TEST_CLIENT_MAC_BYTES, + false /* broadcast */, INADDR_ANY /* srcIp */); + mServer.processPacket(discover, DHCP_CLIENT); + + assertResponseSentTo(TEST_CLIENT_ADDR); + final DhcpOfferPacket packet = assertOffer(getPacket()); + assertMatchesTestLease(packet); + } + + @Test + public void testDiscover_OutOfAddresses() throws Exception { + when(mRepository.getOffer(isNull() /* clientId */, eq(TEST_CLIENT_MAC), + eq(INADDR_ANY) /* relayAddr */, isNull() /* reqAddr */, isNull() /* hostname */)) + .thenThrow(new OutOfAddressesException("Test exception")); + + final DhcpDiscoverPacket discover = new DhcpDiscoverPacket(TEST_TRANSACTION_ID, + (short) 0 /* secs */, INADDR_ANY /* relayIp */, TEST_CLIENT_MAC_BYTES, + false /* broadcast */, INADDR_ANY /* srcIp */); + mServer.processPacket(discover, DHCP_CLIENT); + + assertResponseSentTo(INADDR_BROADCAST); + final DhcpNakPacket packet = assertNak(getPacket()); + assertMatchesClient(packet); + } + + private DhcpRequestPacket makeRequestSelectingPacket() { + final DhcpRequestPacket request = new DhcpRequestPacket(TEST_TRANSACTION_ID, + (short) 0 /* secs */, INADDR_ANY /* clientIp */, INADDR_ANY /* relayIp */, + TEST_CLIENT_MAC_BYTES, false /* broadcast */); + request.mServerIdentifier = TEST_SERVER_ADDR; + request.mRequestedIp = TEST_CLIENT_ADDR; + return request; + } + + @Test + public void testRequest_Selecting_Ack() throws Exception { + when(mRepository.requestLease(isNull() /* clientId */, eq(TEST_CLIENT_MAC), + eq(INADDR_ANY) /* clientAddr */, eq(INADDR_ANY) /* relayAddr */, + eq(TEST_CLIENT_ADDR) /* reqAddr */, eq(true) /* sidSet */, isNull() /* hostname */)) + .thenReturn(TEST_LEASE); + + final DhcpRequestPacket request = makeRequestSelectingPacket(); + mServer.processPacket(request, DHCP_CLIENT); + + assertResponseSentTo(TEST_CLIENT_ADDR); + final DhcpAckPacket packet = assertAck(getPacket()); + assertMatchesTestLease(packet); + } + + @Test + public void testRequest_Selecting_Nak() throws Exception { + when(mRepository.requestLease(isNull(), eq(TEST_CLIENT_MAC), + eq(INADDR_ANY) /* clientAddr */, eq(INADDR_ANY) /* relayAddr */, + eq(TEST_CLIENT_ADDR) /* reqAddr */, eq(true) /* sidSet */, isNull() /* hostname */)) + .thenThrow(new InvalidAddressException("Test error")); + + final DhcpRequestPacket request = makeRequestSelectingPacket(); + mServer.processPacket(request, DHCP_CLIENT); + + assertResponseSentTo(INADDR_BROADCAST); + final DhcpNakPacket packet = assertNak(getPacket()); + assertMatchesClient(packet); + } + + @Test + public void testRequest_Selecting_WrongClientPort() throws Exception { + final DhcpRequestPacket request = makeRequestSelectingPacket(); + mServer.processPacket(request, 50000); + + verify(mRepository, never()) + .requestLease(any(), any(), any(), any(), any(), anyBoolean(), any()); + verify(mDeps, never()).sendPacket(any(), any(), any()); + } + + @Test + public void testRelease() throws Exception { + final DhcpReleasePacket release = new DhcpReleasePacket(TEST_TRANSACTION_ID, + TEST_SERVER_ADDR, TEST_CLIENT_ADDR, + INADDR_ANY /* relayIp */, TEST_CLIENT_MAC_BYTES); + mServer.processPacket(release, DHCP_CLIENT); + + verify(mRepository, times(1)) + .releaseLease(isNull(), eq(TEST_CLIENT_MAC), eq(TEST_CLIENT_ADDR)); + } + + /* TODO: add more tests once packet construction is refactored, including: + * - usage of giaddr + * - usage of broadcast bit + * - other request states (init-reboot/renewing/rebinding) + */ + + private void assertMatchesTestLease(@NonNull DhcpPacket packet) { + assertMatchesClient(packet); + assertFalse(packet.hasExplicitClientId()); + assertEquals(TEST_SERVER_ADDR, packet.mServerIdentifier); + assertEquals(TEST_CLIENT_ADDR, packet.mYourIp); + assertNotNull(packet.mLeaseTime); + assertEquals(TEST_LEASE_EXPTIME_SECS, (int) packet.mLeaseTime); + assertNull(packet.mHostName); + } + + private void assertMatchesClient(@NonNull DhcpPacket packet) { + assertEquals(TEST_TRANSACTION_ID, packet.mTransId); + assertEquals(TEST_CLIENT_MAC, MacAddress.fromBytes(packet.mClientMac)); + } + + private void assertResponseSentTo(@NonNull Inet4Address addr) { + assertEquals(addr, mResponseDstAddrCaptor.getValue()); + } + + private static DhcpNakPacket assertNak(@Nullable DhcpPacket packet) { + assertTrue(packet instanceof DhcpNakPacket); + return (DhcpNakPacket) packet; + } + + private static DhcpAckPacket assertAck(@Nullable DhcpPacket packet) { + assertTrue(packet instanceof DhcpAckPacket); + return (DhcpAckPacket) packet; + } + + private static DhcpOfferPacket assertOffer(@Nullable DhcpPacket packet) { + assertTrue(packet instanceof DhcpOfferPacket); + return (DhcpOfferPacket) packet; + } + + private DhcpPacket getPacket() throws Exception { + verify(mDeps, times(1)).sendPacket(any(), any(), any()); + return DhcpPacket.decodeFullPacket(mSentPacketCaptor.getValue(), ENCAP_BOOTP); + } + + private static Inet4Address parseAddr(@Nullable String inet4Addr) { + return (Inet4Address) parseNumericAddress(inet4Addr); + } +} diff --git a/tests/net/java/com/android/server/connectivity/NetworkMonitorTest.java b/tests/net/java/com/android/server/connectivity/NetworkMonitorTest.java index b01713006254..b399b0d51577 100644 --- a/tests/net/java/com/android/server/connectivity/NetworkMonitorTest.java +++ b/tests/net/java/com/android/server/connectivity/NetworkMonitorTest.java @@ -106,6 +106,7 @@ public class NetworkMonitorTest { anyString())).thenReturn(TEST_HTTP_URL); when(mDependencies.getSetting(any(), eq(Settings.Global.CAPTIVE_PORTAL_HTTPS_URL), anyString())).thenReturn(TEST_HTTPS_URL); + when(mNetwork.getPrivateDnsBypassingCopy()).thenReturn(mNetwork); when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephony); when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifi); diff --git a/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java b/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java index f025f41f292b..4dc63f249a52 100644 --- a/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java +++ b/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java @@ -21,7 +21,9 @@ import static android.Manifest.permission.CHANGE_WIFI_STATE; import static android.Manifest.permission.CONNECTIVITY_INTERNAL; import static android.Manifest.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS; import static android.Manifest.permission.NETWORK_STACK; -import static android.content.pm.ApplicationInfo.FLAG_SYSTEM; +import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_OEM; +import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_PRODUCT; +import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_VENDOR; import static android.content.pm.PackageManager.GET_PERMISSIONS; import static org.junit.Assert.assertFalse; @@ -34,6 +36,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; +import android.os.Build; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; @@ -48,6 +51,10 @@ import org.mockito.MockitoAnnotations; public class PermissionMonitorTest { private static final int MOCK_UID = 10001; private static final String[] MOCK_PACKAGE_NAMES = new String[] { "com.foo.bar" }; + private static final String PARTITION_SYSTEM = "system"; + private static final String PARTITION_OEM = "oem"; + private static final String PARTITION_PRODUCT = "product"; + private static final String PARTITION_VENDOR = "vendor"; @Mock private Context mContext; @Mock private PackageManager mPackageManager; @@ -62,39 +69,53 @@ public class PermissionMonitorTest { mPermissionMonitor = new PermissionMonitor(mContext, null); } - private void expectPermission(String[] permissions, boolean preinstalled) throws Exception { - final PackageInfo packageInfo = packageInfoWithPermissions(permissions, preinstalled); + private void expectPermission(String[] permissions, String partition, + int targetSdkVersion) throws Exception { + final PackageInfo packageInfo = packageInfoWithPermissions(permissions, partition); + packageInfo.applicationInfo.targetSdkVersion = targetSdkVersion; when(mPackageManager.getPackageInfoAsUser( eq(MOCK_PACKAGE_NAMES[0]), eq(GET_PERMISSIONS), anyInt())).thenReturn(packageInfo); } - private PackageInfo packageInfoWithPermissions(String[] permissions, boolean preinstalled) { + private PackageInfo packageInfoWithPermissions(String[] permissions, String partition) { final PackageInfo packageInfo = new PackageInfo(); packageInfo.requestedPermissions = permissions; packageInfo.applicationInfo = new ApplicationInfo(); - packageInfo.applicationInfo.flags = preinstalled ? FLAG_SYSTEM : 0; + int privateFlags = 0; + switch (partition) { + case PARTITION_OEM: + privateFlags = PRIVATE_FLAG_OEM; + break; + case PARTITION_PRODUCT: + privateFlags = PRIVATE_FLAG_PRODUCT; + break; + case PARTITION_VENDOR: + privateFlags = PRIVATE_FLAG_VENDOR; + break; + } + packageInfo.applicationInfo.privateFlags = privateFlags; return packageInfo; } @Test public void testHasPermission() { - PackageInfo app = packageInfoWithPermissions(new String[] {}, false); + PackageInfo app = packageInfoWithPermissions(new String[] {}, PARTITION_SYSTEM); assertFalse(mPermissionMonitor.hasPermission(app, CHANGE_NETWORK_STATE)); assertFalse(mPermissionMonitor.hasPermission(app, NETWORK_STACK)); assertFalse(mPermissionMonitor.hasPermission(app, CONNECTIVITY_USE_RESTRICTED_NETWORKS)); assertFalse(mPermissionMonitor.hasPermission(app, CONNECTIVITY_INTERNAL)); app = packageInfoWithPermissions(new String[] { - CHANGE_NETWORK_STATE, NETWORK_STACK - }, false); + CHANGE_NETWORK_STATE, NETWORK_STACK + }, PARTITION_SYSTEM); assertTrue(mPermissionMonitor.hasPermission(app, CHANGE_NETWORK_STATE)); assertTrue(mPermissionMonitor.hasPermission(app, NETWORK_STACK)); assertFalse(mPermissionMonitor.hasPermission(app, CONNECTIVITY_USE_RESTRICTED_NETWORKS)); assertFalse(mPermissionMonitor.hasPermission(app, CONNECTIVITY_INTERNAL)); app = packageInfoWithPermissions(new String[] { - CONNECTIVITY_USE_RESTRICTED_NETWORKS, CONNECTIVITY_INTERNAL - }, false); + CONNECTIVITY_USE_RESTRICTED_NETWORKS, CONNECTIVITY_INTERNAL + }, PARTITION_SYSTEM); assertFalse(mPermissionMonitor.hasPermission(app, CHANGE_NETWORK_STATE)); assertFalse(mPermissionMonitor.hasPermission(app, NETWORK_STACK)); assertTrue(mPermissionMonitor.hasPermission(app, CONNECTIVITY_USE_RESTRICTED_NETWORKS)); @@ -102,35 +123,64 @@ public class PermissionMonitorTest { } @Test - public void testIsPreinstalledSystemApp() { - PackageInfo app = packageInfoWithPermissions(new String[] {}, false); - assertFalse(mPermissionMonitor.isPreinstalledSystemApp(app)); - - app = packageInfoWithPermissions(new String[] {}, true); - assertTrue(mPermissionMonitor.isPreinstalledSystemApp(app)); + public void testIsVendorApp() { + PackageInfo app = packageInfoWithPermissions(new String[] {}, PARTITION_SYSTEM); + assertFalse(mPermissionMonitor.isVendorApp(app.applicationInfo)); + app = packageInfoWithPermissions(new String[] {}, PARTITION_OEM); + assertTrue(mPermissionMonitor.isVendorApp(app.applicationInfo)); + app = packageInfoWithPermissions(new String[] {}, PARTITION_PRODUCT); + assertTrue(mPermissionMonitor.isVendorApp(app.applicationInfo)); + app = packageInfoWithPermissions(new String[] {}, PARTITION_VENDOR); + assertTrue(mPermissionMonitor.isVendorApp(app.applicationInfo)); } @Test public void testHasUseBackgroundNetworksPermission() throws Exception { - expectPermission(new String[] { CHANGE_NETWORK_STATE }, false); + expectPermission(new String[] { CHANGE_NETWORK_STATE }, + PARTITION_SYSTEM, Build.VERSION_CODES.P); assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); - - expectPermission(new String[] { NETWORK_STACK, CONNECTIVITY_INTERNAL }, false); + expectPermission(new String[] { NETWORK_STACK }, PARTITION_SYSTEM, Build.VERSION_CODES.P); assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); - - // TODO : make this false when b/31479477 is fixed - expectPermission(new String[] {}, true); + expectPermission(new String[] { CONNECTIVITY_INTERNAL }, + PARTITION_SYSTEM, Build.VERSION_CODES.P); assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); - expectPermission(new String[] { CHANGE_WIFI_STATE }, true); + expectPermission(new String[] { CONNECTIVITY_USE_RESTRICTED_NETWORKS }, + PARTITION_SYSTEM, Build.VERSION_CODES.P); assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); - expectPermission(new String[] { NETWORK_STACK, CONNECTIVITY_INTERNAL }, true); + expectPermission(new String[] { CHANGE_NETWORK_STATE }, + PARTITION_VENDOR, Build.VERSION_CODES.P); + assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] { NETWORK_STACK }, + PARTITION_VENDOR, Build.VERSION_CODES.P); + assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] { CONNECTIVITY_INTERNAL }, + PARTITION_VENDOR, Build.VERSION_CODES.P); + assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] { CONNECTIVITY_USE_RESTRICTED_NETWORKS }, + PARTITION_VENDOR, Build.VERSION_CODES.P); assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); - expectPermission(new String[] {}, false); + expectPermission(new String[] {}, PARTITION_SYSTEM, Build.VERSION_CODES.P); assertFalse(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] { CHANGE_WIFI_STATE }, + PARTITION_SYSTEM, Build.VERSION_CODES.P); + assertFalse(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] {}, PARTITION_VENDOR, Build.VERSION_CODES.P); + assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] { CHANGE_WIFI_STATE }, + PARTITION_VENDOR, Build.VERSION_CODES.P); + assertTrue(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); - expectPermission(new String[] { CHANGE_WIFI_STATE }, false); + expectPermission(new String[] {}, PARTITION_SYSTEM, Build.VERSION_CODES.Q); + assertFalse(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] { CHANGE_WIFI_STATE }, + PARTITION_SYSTEM, Build.VERSION_CODES.Q); + assertFalse(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] {}, PARTITION_VENDOR, Build.VERSION_CODES.Q); + assertFalse(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); + expectPermission(new String[] { CHANGE_WIFI_STATE }, + PARTITION_VENDOR, Build.VERSION_CODES.Q); assertFalse(mPermissionMonitor.hasUseBackgroundNetworksPermission(MOCK_UID)); } } diff --git a/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java b/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java index 19d3a2e11904..593465380263 100644 --- a/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java +++ b/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java @@ -16,6 +16,7 @@ package com.android.server.connectivity.tethering; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; @@ -23,7 +24,9 @@ import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.inOrder; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; +import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; @@ -40,9 +43,15 @@ import static com.android.server.connectivity.tethering.IControlsTethering.STATE import android.net.INetworkStatsService; import android.net.InterfaceConfiguration; +import android.net.IpPrefix; import android.net.LinkAddress; import android.net.LinkProperties; +import android.net.MacAddress; import android.net.RouteInfo; +import android.net.dhcp.DhcpServer; +import android.net.dhcp.DhcpServingParams; +import android.net.ip.RouterAdvertisementDaemon; +import android.net.util.InterfaceParams; import android.net.util.InterfaceSet; import android.net.util.SharedLog; import android.os.INetworkManagementService; @@ -58,6 +67,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; +import org.mockito.Captor; import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -68,33 +78,58 @@ public class TetherInterfaceStateMachineTest { private static final String IFACE_NAME = "testnet1"; private static final String UPSTREAM_IFACE = "upstream0"; private static final String UPSTREAM_IFACE2 = "upstream1"; + private static final int DHCP_LEASE_TIME_SECS = 3600; + + private static final InterfaceParams TEST_IFACE_PARAMS = new InterfaceParams( + IFACE_NAME, 42 /* index */, MacAddress.ALL_ZEROS_ADDRESS, 1500 /* defaultMtu */); @Mock private INetworkManagementService mNMService; @Mock private INetworkStatsService mStatsService; @Mock private IControlsTethering mTetherHelper; @Mock private InterfaceConfiguration mInterfaceConfiguration; @Mock private SharedLog mSharedLog; + @Mock private DhcpServer mDhcpServer; + @Mock private RouterAdvertisementDaemon mRaDaemon; @Mock private TetheringDependencies mTetheringDependencies; + @Captor private ArgumentCaptor<DhcpServingParams> mDhcpParamsCaptor; + private final TestLooper mLooper = new TestLooper(); private final ArgumentCaptor<LinkProperties> mLinkPropertiesCaptor = ArgumentCaptor.forClass(LinkProperties.class); private TetherInterfaceStateMachine mTestedSm; private void initStateMachine(int interfaceType) throws Exception { + initStateMachine(interfaceType, false /* usingLegacyDhcp */); + } + + private void initStateMachine(int interfaceType, boolean usingLegacyDhcp) throws Exception { mTestedSm = new TetherInterfaceStateMachine( IFACE_NAME, mLooper.getLooper(), interfaceType, mSharedLog, - mNMService, mStatsService, mTetherHelper, mTetheringDependencies); + mNMService, mStatsService, mTetherHelper, usingLegacyDhcp, + mTetheringDependencies); mTestedSm.start(); // Starting the state machine always puts us in a consistent state and notifies // the rest of the world that we've changed from an unknown to available state. mLooper.dispatchAll(); reset(mNMService, mStatsService, mTetherHelper); when(mNMService.getInterfaceConfig(IFACE_NAME)).thenReturn(mInterfaceConfiguration); + when(mTetheringDependencies.makeDhcpServer( + any(), any(), mDhcpParamsCaptor.capture(), any())).thenReturn(mDhcpServer); + when(mTetheringDependencies.getRouterAdvertisementDaemon(any())).thenReturn(mRaDaemon); + when(mTetheringDependencies.getInterfaceParams(IFACE_NAME)).thenReturn(TEST_IFACE_PARAMS); + + when(mRaDaemon.start()).thenReturn(true); + } + + private void initTetheredStateMachine(int interfaceType, String upstreamIface) + throws Exception { + initTetheredStateMachine(interfaceType, upstreamIface, false); } - private void initTetheredStateMachine(int interfaceType, String upstreamIface) throws Exception { - initStateMachine(interfaceType); + private void initTetheredStateMachine(int interfaceType, String upstreamIface, + boolean usingLegacyDhcp) throws Exception { + initStateMachine(interfaceType, usingLegacyDhcp); dispatchCommand(TetherInterfaceStateMachine.CMD_TETHER_REQUESTED, STATE_TETHERED); if (upstreamIface != null) { dispatchTetherConnectionChanged(upstreamIface); @@ -112,7 +147,7 @@ public class TetherInterfaceStateMachineTest { public void startsOutAvailable() { mTestedSm = new TetherInterfaceStateMachine(IFACE_NAME, mLooper.getLooper(), TETHERING_BLUETOOTH, mSharedLog, mNMService, mStatsService, mTetherHelper, - mTetheringDependencies); + false /* usingLegacyDhcp */, mTetheringDependencies); mTestedSm.start(); mLooper.dispatchAll(); verify(mTetherHelper).updateInterfaceState( @@ -345,6 +380,45 @@ public class TetherInterfaceStateMachineTest { } } + @Test + public void startsDhcpServer() throws Exception { + initTetheredStateMachine(TETHERING_WIFI, UPSTREAM_IFACE); + dispatchTetherConnectionChanged(UPSTREAM_IFACE); + + assertDhcpStarted(new IpPrefix("192.168.43.0/24")); + } + + @Test + public void startsDhcpServerOnBluetooth() throws Exception { + initTetheredStateMachine(TETHERING_BLUETOOTH, UPSTREAM_IFACE); + dispatchTetherConnectionChanged(UPSTREAM_IFACE); + + assertDhcpStarted(new IpPrefix("192.168.44.0/24")); + } + + @Test + public void doesNotStartDhcpServerIfDisabled() throws Exception { + initTetheredStateMachine(TETHERING_WIFI, UPSTREAM_IFACE, true /* usingLegacyDhcp */); + dispatchTetherConnectionChanged(UPSTREAM_IFACE); + + verify(mTetheringDependencies, never()).makeDhcpServer(any(), any(), any(), any()); + } + + private void assertDhcpStarted(IpPrefix expectedPrefix) { + verify(mTetheringDependencies, times(1)).makeDhcpServer( + eq(mLooper.getLooper()), eq(TEST_IFACE_PARAMS), any(), eq(mSharedLog)); + verify(mDhcpServer, times(1)).start(); + final DhcpServingParams params = mDhcpParamsCaptor.getValue(); + // Last address byte is random + assertTrue(expectedPrefix.contains(params.serverAddr.getAddress())); + assertEquals(expectedPrefix.getPrefixLength(), params.serverAddr.getPrefixLength()); + assertEquals(1, params.defaultRouters.size()); + assertEquals(params.serverAddr.getAddress(), params.defaultRouters.iterator().next()); + assertEquals(1, params.dnsServers.size()); + assertEquals(params.serverAddr.getAddress(), params.dnsServers.iterator().next()); + assertEquals(DHCP_LEASE_TIME_SECS, params.dhcpLeaseTimeSecs); + } + /** * Send a command to the state machine under test, and run the event loop to idle. * diff --git a/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java b/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java index b68f203d869f..bb312309b34f 100644 --- a/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java +++ b/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java @@ -21,6 +21,8 @@ import static android.net.ConnectivityManager.TYPE_MOBILE; import static android.net.ConnectivityManager.TYPE_MOBILE_DUN; import static android.net.ConnectivityManager.TYPE_MOBILE_HIPRI; import static android.net.ConnectivityManager.TYPE_WIFI; +import static android.provider.Settings.Global.TETHER_ENABLE_LEGACY_DHCP_SERVER; + import static com.android.server.connectivity.tethering.TetheringConfiguration.DUN_NOT_REQUIRED; import static com.android.server.connectivity.tethering.TetheringConfiguration.DUN_REQUIRED; import static com.android.server.connectivity.tethering.TetheringConfiguration.DUN_UNSPECIFIED; @@ -29,15 +31,18 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; +import android.content.ContentResolver; import android.content.Context; -import android.content.ContextWrapper; import android.content.res.Resources; import android.net.util.SharedLog; +import android.provider.Settings; import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; import android.telephony.TelephonyManager; +import android.test.mock.MockContentResolver; import com.android.internal.util.test.BroadcastInterceptingContext; +import com.android.internal.util.test.FakeSettingsProvider; import java.util.Iterator; @@ -55,6 +60,7 @@ public class TetheringConfigurationTest { @Mock private Context mContext; @Mock private TelephonyManager mTelephonyManager; @Mock private Resources mResources; + private MockContentResolver mContentResolver; private Context mMockContext; private boolean mHasTelephonyManager; @@ -73,6 +79,11 @@ public class TetheringConfigurationTest { } return super.getSystemService(name); } + + @Override + public ContentResolver getContentResolver() { + return mContentResolver; + } } @Before @@ -86,6 +97,10 @@ public class TetheringConfigurationTest { .thenReturn(new String[]{ "test_wlan\\d" }); when(mResources.getStringArray(com.android.internal.R.array.config_tether_bluetooth_regexs)) .thenReturn(new String[0]); + when(mResources.getIntArray(com.android.internal.R.array.config_tether_upstream_types)) + .thenReturn(new int[0]); + mContentResolver = new MockContentResolver(); + mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider()); mMockContext = new MockContext(mContext); } @@ -194,4 +209,29 @@ public class TetheringConfigurationTest { assertEquals(TYPE_MOBILE_HIPRI, upstreamIterator.next().intValue()); assertFalse(upstreamIterator.hasNext()); } + + @Test + public void testNewDhcpServerDisabled() { + Settings.Global.putInt(mContentResolver, TETHER_ENABLE_LEGACY_DHCP_SERVER, 1); + + final TetheringConfiguration cfg = new TetheringConfiguration(mMockContext, mLog); + assertTrue(cfg.enableLegacyDhcpServer); + } + + @Test + public void testNewDhcpServerEnabled() { + Settings.Global.putInt(mContentResolver, TETHER_ENABLE_LEGACY_DHCP_SERVER, 0); + + final TetheringConfiguration cfg = new TetheringConfiguration(mMockContext, mLog); + assertFalse(cfg.enableLegacyDhcpServer); + } + + @Test + public void testNewDhcpServerDefault() { + Settings.Global.putString(mContentResolver, TETHER_ENABLE_LEGACY_DHCP_SERVER, null); + + final TetheringConfiguration cfg = new TetheringConfiguration(mMockContext, mLog); + // TODO: change to false when new server is promoted to default + assertTrue(cfg.enableLegacyDhcpServer); + } } diff --git a/tools/aapt/Android.bp b/tools/aapt/Android.bp index e26c9c3fdf63..a594e5bf0ce1 100644 --- a/tools/aapt/Android.bp +++ b/tools/aapt/Android.bp @@ -99,6 +99,17 @@ cc_library_host_static { } // ========================================================== +// Build the host executable: aapt +// ========================================================== +cc_binary_host { + name: "aapt", + defaults: ["aapt_defaults"], + srcs: ["Main.cpp"], + use_version_lib: true, + static_libs: ["libaapt"], +} + +// ========================================================== // Build the host tests: libaapt_tests // ========================================================== cc_test_host { diff --git a/tools/aapt/Android.mk b/tools/aapt/Android.mk deleted file mode 100644 index 7bcf631da652..000000000000 --- a/tools/aapt/Android.mk +++ /dev/null @@ -1,51 +0,0 @@ -# -# Copyright (C) 2014 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) - -# ========================================================== -# Setup some common variables for the different build -# targets here. -# ========================================================== -LOCAL_PATH:= $(call my-dir) - -aaptHostStaticLibs := \ - libandroidfw \ - libpng \ - libutils \ - liblog \ - libcutils \ - libexpat \ - libziparchive \ - libbase \ - libz - -aaptCFlags := -Wall -Werror - -# ========================================================== -# Build the host executable: aapt -# ========================================================== -include $(CLEAR_VARS) - -LOCAL_MODULE := aapt -LOCAL_MODULE_HOST_OS := darwin linux windows -LOCAL_CFLAGS := -DAAPT_VERSION=\"$(BUILD_NUMBER_FROM_FILE)\" $(aaptCFlags) -LOCAL_SRC_FILES := Main.cpp -LOCAL_STATIC_LIBRARIES := libaapt $(aaptHostStaticLibs) - -include $(BUILD_HOST_EXECUTABLE) - -endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK diff --git a/tools/aapt/Main.cpp b/tools/aapt/Main.cpp index d714687ee914..2f2ef92e72b4 100644 --- a/tools/aapt/Main.cpp +++ b/tools/aapt/Main.cpp @@ -6,6 +6,7 @@ #include "Main.h" #include "Bundle.h" +#include <build/version.h> #include <utils/Compat.h> #include <utils/Log.h> #include <utils/threads.h> @@ -20,10 +21,6 @@ using namespace android; static const char* gProgName = "aapt"; -#ifndef AAPT_VERSION - #define AAPT_VERSION "" -#endif - /* * Show version info. All the cool kids do it. */ @@ -32,7 +29,7 @@ int doVersion(Bundle* bundle) if (bundle->getFileSpecCount() != 0) { printf("(ignoring extra arguments)\n"); } - printf("Android Asset Packaging Tool, v0.2-" AAPT_VERSION "\n"); + printf("Android Asset Packaging Tool, v0.2-%s\n", android::build::GetBuildNumber().c_str()); return 0; } diff --git a/tools/hiddenapi/generate_hiddenapi_lists.py b/tools/hiddenapi/generate_hiddenapi_lists.py new file mode 100755 index 000000000000..4a0931a149af --- /dev/null +++ b/tools/hiddenapi/generate_hiddenapi_lists.py @@ -0,0 +1,241 @@ +#!/usr/bin/env python +# +# Copyright (C) 2018 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Generate API lists for non-SDK API enforcement. + +usage: generate-hiddenapi-lists.py [-h] + --input-public INPUT_PUBLIC + --input-private INPUT_PRIVATE + [--input-whitelists [INPUT_WHITELISTS [INPUT_WHITELISTS ...]]] + [--input-greylists [INPUT_GREYLISTS [INPUT_GREYLISTS ...]]] + [--input-blacklists [INPUT_BLACKLISTS [INPUT_BLACKLISTS ...]]] + --output-whitelist OUTPUT_WHITELIST + --output-light-greylist OUTPUT_LIGHT_GREYLIST + --output-dark-greylist OUTPUT_DARK_GREYLIST + --output-blacklist OUTPUT_BLACKLIST +""" +import argparse +import os +import sys +import re + +def get_args(): + """Parses command line arguments. + + Returns: + Namespace: dictionary of parsed arguments + """ + parser = argparse.ArgumentParser() + parser.add_argument('--input-public', required=True, help='List of all public members') + parser.add_argument('--input-private', required=True, help='List of all private members') + parser.add_argument( + '--input-whitelists', nargs='*', + help='Lists of members to force on whitelist') + parser.add_argument( + '--input-greylists', nargs='*', + help='Lists of members to force on light greylist') + parser.add_argument( + '--input-blacklists', nargs='*', + help='Lists of members to force on blacklist') + parser.add_argument('--output-whitelist', required=True) + parser.add_argument('--output-light-greylist', required=True) + parser.add_argument('--output-dark-greylist', required=True) + parser.add_argument('--output-blacklist', required=True) + return parser.parse_args() + +def read_lines(filename): + """Reads entire file and return it as a list of lines. + + Args: + filename (string): Path to the file to read from. + + Returns: + list: Lines of the loaded file as a list of strings. + """ + with open(filename, 'r') as f: + return f.readlines() + +def write_lines(filename, lines): + """Writes list of lines into a file, overwriting the file it it exists. + + Args: + filename (string): Path to the file to be writting into. + lines (list): List of strings to write into the file. + """ + with open(filename, 'w') as f: + f.writelines(lines) + +def move_between_sets(subset, src, dst, source = "<unknown>"): + """Removes a subset of elements from one set and add it to another. + + Args: + subset (set): The subset of `src` to be moved from `src` to `dst`. + src (set): Source set. Must be a superset of `subset`. + dst (set): Destination set. Must be disjoint with `subset`. + """ + assert src.issuperset(subset), ( + "Error processing: {}\n" + "The following entries were not found:\n" + "{}" + "Please visit go/hiddenapi for more information.").format( + source, "".join(map(lambda x: " " + str(x), subset.difference(src)))) + assert dst.isdisjoint(subset) + # Order matters if `src` and `subset` are the same object. + dst.update(subset) + src.difference_update(subset) + +def get_package_name(signature): + """Returns the package name prefix of a class member signature. + + Example: "Ljava/lang/String;->hashCode()J" --> "Ljava/lang/" + + Args: + signature (string): Member signature + + Returns + string: Package name of the given member + """ + class_name_end = signature.find("->") + assert class_name_end != -1, "Invalid signature: {}".format(signature) + package_name_end = signature.rfind("/", 0, class_name_end) + assert package_name_end != -1, "Invalid signature: {}".format(signature) + return signature[:package_name_end + 1] + +def all_package_names(*args): + """Returns a set of packages names in given lists of member signatures. + + Example: args = [ set([ "Lpkg1/ClassA;->foo()V", "Lpkg2/ClassB;->bar()J" ]), + set([ "Lpkg1/ClassC;->baz()Z" ]) ] + return value = set([ "Lpkg1/", "Lpkg2" ]) + + Args: + *args (list): List of sets to iterate over and extract the package names + of its elements (member signatures) + + Returns: + set: All package names extracted from the given lists of signatures. + """ + packages = set() + for arg in args: + packages = packages.union(map(get_package_name, arg)) + return packages + +def move_all(src, dst): + """Moves all elements of one set to another. + + Args: + src (set): Source set. Will become empty. + dst (set): Destination set. Will contain all elements of `src`. + """ + move_between_sets(src, src, dst) + +def move_from_files(filenames, src, dst): + """Loads member signatures from a list of files and moves them to a given set. + + Opens files in `filenames`, reads all their lines and moves those from `src` + set to `dst` set. + + Args: + filenames (list): List of paths to files to be loaded. + src (set): Set that loaded lines should be moved from. + dst (set): Set that loaded lines should be moved to. + """ + if filenames: + for filename in filenames: + move_between_sets(set(read_lines(filename)), src, dst, filename) + +def move_serialization(src, dst): + """Moves all members matching serialization API signatures between given sets. + + Args: + src (set): Set that will be searched for serialization API and that API + will be removed from it. + dst (set): Set that serialization API will be moved to. + """ + serialization_patterns = [ + r'readObject\(Ljava/io/ObjectInputStream;\)V', + r'readObjectNoData\(\)V', + r'readResolve\(\)Ljava/lang/Object;', + r'serialVersionUID:J', + r'serialPersistentFields:\[Ljava/io/ObjectStreamField;', + r'writeObject\(Ljava/io/ObjectOutputStream;\)V', + r'writeReplace\(\)Ljava/lang/Object;', + ] + regex = re.compile(r'.*->(' + '|'.join(serialization_patterns) + r')$') + move_between_sets(filter(lambda api: regex.match(api), src), src, dst) + +def move_from_packages(packages, src, dst): + """Moves all members of given package names from one set to another. + + Args: + packages (list): List of string package names. + src (set): Set that will be searched for API matching one of the given + package names. Surch API will be removed from the set. + dst (set): Set that matching API will be moved to. + """ + move_between_sets(filter(lambda api: get_package_name(api) in packages, src), src, dst) + +def main(argv): + args = get_args() + + # Initialize API sets by loading lists of public and private API. Public API + # are all members resolvable from SDK API stubs, other members are private. + # As an optimization, skip the step of moving public API from a full set of + # members and start with a populated whitelist. + whitelist = set(read_lines(args.input_public)) + uncategorized = set(read_lines(args.input_private)) + light_greylist = set() + dark_greylist = set() + blacklist = set() + + # Assert that there is no overlap between public and private API. + assert whitelist.isdisjoint(uncategorized) + num_all_api = len(whitelist) + len(uncategorized) + + # Read all files which manually assign members to specific lists. + move_from_files(args.input_whitelists, uncategorized, whitelist) + move_from_files(args.input_greylists, uncategorized, light_greylist) + move_from_files(args.input_blacklists, uncategorized, blacklist) + + # Iterate over all uncategorized members and move serialization API to light greylist. + move_serialization(uncategorized, light_greylist) + + # Extract package names of members from whitelist and light greylist, which + # are assumed to have been finalized at this point. Assign all uncategorized + # members from the same packages to the dark greylist. + dark_greylist_packages = all_package_names(whitelist, light_greylist) + move_from_packages(dark_greylist_packages, uncategorized, dark_greylist) + + # Assign all uncategorized members to the blacklist. + move_all(uncategorized, blacklist) + + # Assert we have not missed anything. + assert whitelist.isdisjoint(light_greylist) + assert whitelist.isdisjoint(dark_greylist) + assert whitelist.isdisjoint(blacklist) + assert light_greylist.isdisjoint(dark_greylist) + assert light_greylist.isdisjoint(blacklist) + assert dark_greylist.isdisjoint(blacklist) + assert num_all_api == len(whitelist) + len(light_greylist) + len(dark_greylist) + len(blacklist) + + # Write final lists to disk. + write_lines(args.output_whitelist, whitelist) + write_lines(args.output_light_greylist, light_greylist) + write_lines(args.output_dark_greylist, dark_greylist) + write_lines(args.output_blacklist, blacklist) + +if __name__ == "__main__": + main(sys.argv) diff --git a/tools/hiddenapi/generate_hiddenapi_lists_test.py b/tools/hiddenapi/generate_hiddenapi_lists_test.py new file mode 100755 index 000000000000..8f793189650c --- /dev/null +++ b/tools/hiddenapi/generate_hiddenapi_lists_test.py @@ -0,0 +1,89 @@ +#!/usr/bin/env python +# +# Copyright (C) 2018 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Unit tests for Hidden API list generation.""" +import unittest +from generate_hiddenapi_lists import * + +class TestHiddenapiListGeneration(unittest.TestCase): + + def test_move_between_sets(self): + A = set([1, 2, 3, 4]) + B = set([5, 6, 7, 8]) + move_between_sets(set([2, 4]), A, B) + self.assertEqual(A, set([1, 3])) + self.assertEqual(B, set([2, 4, 5, 6, 7, 8])) + + def test_move_between_sets_fail_not_superset(self): + A = set([1, 2, 3, 4]) + B = set([5, 6, 7, 8]) + with self.assertRaises(AssertionError) as ar: + move_between_sets(set([0, 2]), A, B) + + def test_move_between_sets_fail_not_disjoint(self): + A = set([1, 2, 3, 4]) + B = set([4, 5, 6, 7, 8]) + with self.assertRaises(AssertionError) as ar: + move_between_sets(set([1, 4]), A, B) + + def test_get_package_name(self): + self.assertEqual(get_package_name("Ljava/lang/String;->clone()V"), "Ljava/lang/") + + def test_get_package_name_fail_no_arrow(self): + with self.assertRaises(AssertionError) as ar: + get_package_name("Ljava/lang/String;-clone()V") + with self.assertRaises(AssertionError) as ar: + get_package_name("Ljava/lang/String;>clone()V") + with self.assertRaises(AssertionError) as ar: + get_package_name("Ljava/lang/String;__clone()V") + + def test_get_package_name_fail_no_package(self): + with self.assertRaises(AssertionError) as ar: + get_package_name("LString;->clone()V") + + def test_all_package_names(self): + self.assertEqual(all_package_names(), set()) + self.assertEqual(all_package_names(set(["Lfoo/Bar;->baz()V"])), set(["Lfoo/"])) + self.assertEqual( + all_package_names(set(["Lfoo/Bar;->baz()V", "Lfoo/BarX;->bazx()I"])), + set(["Lfoo/"])) + self.assertEqual( + all_package_names( + set(["Lfoo/Bar;->baz()V"]), + set(["Lfoo/BarX;->bazx()I", "Labc/xyz/Mno;->ijk()J"])), + set(["Lfoo/", "Labc/xyz/"])) + + def test_move_all(self): + src = set([ "abc", "xyz" ]) + dst = set([ "def" ]) + move_all(src, dst) + self.assertEqual(src, set()) + self.assertEqual(dst, set([ "abc", "def", "xyz" ])) + + def test_move_from_packages(self): + src = set([ "Lfoo/bar/ClassA;->abc()J", # will be moved + "Lfoo/bar/ClassA;->def()J", # will be moved + "Lcom/pkg/example/ClassD;->ijk:J", # not moved: different package + "Lfoo/bar/xyz/ClassC;->xyz()Z" ]) # not moved: subpackage + dst = set() + packages = set([ "Lfoo/bar/" ]) + move_from_packages(packages, src, dst) + self.assertEqual( + src, set([ "Lfoo/bar/xyz/ClassC;->xyz()Z", "Lcom/pkg/example/ClassD;->ijk:J" ])) + self.assertEqual( + dst, set([ "Lfoo/bar/ClassA;->abc()J", "Lfoo/bar/ClassA;->def()J" ])) + +if __name__ == '__main__': + unittest.main() diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java index 1e03891019f6..e37a85670972 100644 --- a/wifi/java/android/net/wifi/WifiInfo.java +++ b/wifi/java/android/net/wifi/WifiInfo.java @@ -17,14 +17,14 @@ package android.net.wifi; import android.annotation.UnsupportedAppUsage; -import android.os.Parcelable; -import android.os.Parcel; import android.net.NetworkInfo.DetailedState; import android.net.NetworkUtils; +import android.os.Parcel; +import android.os.Parcelable; import android.text.TextUtils; -import java.net.InetAddress; import java.net.Inet4Address; +import java.net.InetAddress; import java.net.UnknownHostException; import java.util.EnumMap; import java.util.Locale; @@ -540,9 +540,13 @@ public class WifiInfo implements Parcelable { dest.writeInt(mMeteredHint ? 1 : 0); dest.writeInt(mEphemeral ? 1 : 0); dest.writeInt(score); + dest.writeLong(txSuccess); dest.writeDouble(txSuccessRate); + dest.writeLong(txRetries); dest.writeDouble(txRetriesRate); + dest.writeLong(txBad); dest.writeDouble(txBadRate); + dest.writeLong(rxSuccess); dest.writeDouble(rxSuccessRate); mSupplicantState.writeToParcel(dest, flags); } @@ -570,9 +574,13 @@ public class WifiInfo implements Parcelable { info.mMeteredHint = in.readInt() != 0; info.mEphemeral = in.readInt() != 0; info.score = in.readInt(); + info.txSuccess = in.readLong(); info.txSuccessRate = in.readDouble(); + info.txRetries = in.readLong(); info.txRetriesRate = in.readDouble(); + info.txBad = in.readLong(); info.txBadRate = in.readDouble(); + info.rxSuccess = in.readLong(); info.rxSuccessRate = in.readDouble(); info.mSupplicantState = SupplicantState.CREATOR.createFromParcel(in); return info; diff --git a/wifi/tests/src/android/net/wifi/WifiInfoTest.java b/wifi/tests/src/android/net/wifi/WifiInfoTest.java new file mode 100644 index 000000000000..f5a8b29167bf --- /dev/null +++ b/wifi/tests/src/android/net/wifi/WifiInfoTest.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2018 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.net.wifi; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import android.os.Parcel; +import android.support.test.filters.SmallTest; + +import org.junit.Test; + +/** + * Unit tests for {@link android.net.wifi.WifiInfo}. + */ +@SmallTest +public class WifiInfoTest { + private static final long TEST_TX_SUCCESS = 1; + private static final long TEST_TX_RETRIES = 2; + private static final long TEST_TX_BAD = 3; + private static final long TEST_RX_SUCCESS = 4; + + /** + * Verify parcel write/read with WifiInfo. + */ + @Test + public void testWifiInfoParcelWriteRead() throws Exception { + WifiInfo writeWifiInfo = new WifiInfo(); + writeWifiInfo.txSuccess = TEST_TX_SUCCESS; + writeWifiInfo.txRetries = TEST_TX_RETRIES; + writeWifiInfo.txBad = TEST_TX_BAD; + writeWifiInfo.rxSuccess = TEST_RX_SUCCESS; + + Parcel parcel = Parcel.obtain(); + writeWifiInfo.writeToParcel(parcel, 0); + // Rewind the pointer to the head of the parcel. + parcel.setDataPosition(0); + WifiInfo readWifiInfo = WifiInfo.CREATOR.createFromParcel(parcel); + + assertNotNull(readWifiInfo); + assertEquals(TEST_TX_SUCCESS, readWifiInfo.txSuccess); + assertEquals(TEST_TX_RETRIES, readWifiInfo.txRetries); + assertEquals(TEST_TX_BAD, readWifiInfo.txBad); + assertEquals(TEST_RX_SUCCESS, readWifiInfo.rxSuccess); + } +} |