Merge "DO NOT MERGE Revert Privacy Indicators to P" into qt-r1-dev
diff --git a/cmds/app_process/Android.mk b/cmds/app_process/Android.mk
index 72fe051..570d740 100644
--- a/cmds/app_process/Android.mk
+++ b/cmds/app_process/Android.mk
@@ -5,7 +5,7 @@
libbinder \
libcutils \
libdl \
- libhwbinder \
+ libhidlbase \
liblog \
libnativeloader \
libutils \
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index d457ff9..3d060fe 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -309,10 +309,20 @@
212 [(log_from_module) = "permissioncontroller"];
GrantPermissionsActivityButtonActions grant_permissions_activity_button_actions =
213 [(log_from_module) = "permissioncontroller"];
+ LocationAccessCheckNotificationAction location_access_check_notification_action =
+ 214 [(log_from_module) = "permissioncontroller"];
+ AppPermissionFragmentActionReported app_permission_fragment_action_reported =
+ 215 [(log_from_module) = "permissioncontroller"];
+ AppPermissionFragmentViewed app_permission_fragment_viewed =
+ 216 [(log_from_module) = "permissioncontroller"];
+ AppPermissionsFragmentViewed app_permissions_fragment_viewed =
+ 217 [(log_from_module) = "permissioncontroller"];
+ PermissionAppsFragmentViewed permission_apps_fragment_viewed =
+ 218 [(log_from_module) = "permissioncontroller"];
}
// Pulled events will start at field 10000.
- // Next: 10059
+ // Next: 10062
oneof pulled {
WifiBytesTransfer wifi_bytes_transfer = 10000;
WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001;
@@ -375,6 +385,7 @@
FaceSettings face_settings = 10058;
CoolingDevice cooling_device = 10059;
AppOps app_ops = 10060;
+ ProcessSystemIonHeapSize process_system_ion_heap_size = 10061;
}
// DO NOT USE field numbers above 100,000 in AOSP.
@@ -3280,6 +3291,8 @@
optional int32 error_info_vendor = 7;
// Dictates if this message should trigger additional debugging.
optional bool debug = 8;
+ // Time spent during the authentication attempt.
+ optional int64 latency_millis = 9;
}
/**
@@ -3948,7 +3961,7 @@
optional int64 page_major_fault = 5;
// RSS
- // Value is read from /proc/PID/stat, field 24. Or from memory.stat, field
+ // Value is read from /proc/PID/status. Or from memory.stat, field
// total_rss if per-app memory cgroups are enabled.
optional int64 rss_in_bytes = 6;
@@ -3968,6 +3981,9 @@
// Elapsed real time when the process started.
// Value is read from /proc/PID/stat, field 22. 0 if read from per-app memory cgroups.
optional int64 start_time_nanos = 10;
+
+ // Anonymous page size plus swap size. Values are read from /proc/PID/status.
+ optional int32 anon_rss_and_swap_in_kilobytes = 11;
}
/*
@@ -3990,7 +4006,7 @@
optional int64 page_major_fault = 4;
// RSS
- // Value read from /proc/PID/stat, field 24.
+ // Value read from /proc/PID/status.
optional int64 rss_in_bytes = 5;
// Deprecated: use ProcessMemoryHighWaterMark atom instead. Always 0.
@@ -4003,6 +4019,9 @@
// SWAP
// Value read from /proc/PID/status, field VmSwap.
optional int64 swap_in_bytes = 8;
+
+ // Anonymous page size plus swap size. Values are read from /proc/PID/status.
+ optional int32 anon_rss_and_swap_in_kilobytes = 9;
}
/*
@@ -6353,6 +6372,28 @@
optional int64 size_in_bytes = 1;
}
+/*
+ * Logs the per-process size of the system ion heap.
+ *
+ * Pulled from StatsCompanionService.
+ */
+message ProcessSystemIonHeapSize {
+ // The uid if available. -1 means not available.
+ optional int32 uid = 1 [(is_uid) = true];
+
+ // The process name (from /proc/PID/cmdline).
+ optional string process_name = 2;
+
+ // Sum of sizes of all allocations.
+ optional int32 total_size_in_kilobytes = 3;
+
+ // Number of allocations.
+ optional int32 allocation_count = 4;
+
+ // Size of the largest allocation.
+ optional int32 max_size_in_kilobytes = 5;
+}
+
/**
* Push network stack events.
*
@@ -6607,3 +6648,133 @@
// Button clicked by user - same as bit flags in buttons_presented with only single bit set
optional int32 button_clicked = 5;
}
+
+/**
+ * Information about LocationAccessCheck notification presented to user
+ */
+message LocationAccessCheckNotificationAction {
+
+ // id which identifies single session of user interacting with permission controller
+ optional int64 session_id = 1;
+
+ // Uid of package for which location access check is presented
+ optional int32 package_uid = 2;
+
+ // Name of package for which location access check is presented
+ optional string package_name = 3;
+
+ enum Result {
+ UNDEFINED = 0;
+ // notification was presented to the user
+ NOTIFICATION_PRESENTED = 1;
+ // notification was declined by the user
+ NOTIFICATION_DECLINED = 2;
+ // notification was clicked by the user
+ NOTIFICATION_CLICKED = 3;
+ }
+
+ // View / interaction recorded
+ optional Result result = 4;
+}
+
+/**
+ * Information about a permission grant or revoke made by user inside AppPermissionFragment
+ */
+message AppPermissionFragmentActionReported {
+ // id which identifies single session of user interacting with permission controller
+ optional int64 session_id = 1;
+
+ // unique value identifying a permission group change. A permission group change might result
+ // in multiple of these atoms
+ optional int64 change_id = 2;
+
+ // UID of package the permission belongs to
+ optional int32 uid = 3 [(is_uid) = true];
+
+ // Name of package the permission belongs to
+ optional string package_name = 4;
+
+ // The permission to be granted
+ optional string permission_name = 5;
+
+ // The result of the permission grant
+ optional bool permission_granted = 6;
+}
+
+/**
+* Information about a AppPermissionFragment viewed by user
+*/
+message AppPermissionFragmentViewed {
+ // id which identifies single session of user interacting with permission controller
+ optional int64 session_id = 1;
+
+ // UID of package for which permissions are viewed
+ optional int32 uid = 2 [(is_uid) = true];
+
+ // Name of package for which permissions are viewed
+ optional string package_name = 3;
+
+ // Permission group viewed
+ optional string permission_group_name = 4;
+}
+
+/**
+* Information about a AppPermissionsFragment viewed by user
+*/
+message AppPermissionsFragmentViewed {
+ // id which identifies single session of user interacting with permission controller
+ optional int64 session_id = 1;
+
+ // id which identifies single view as every view might have several logging records
+ // with different package information attached
+ optional int64 view_id = 2;
+
+ // Permission group viewed
+ optional string permission_group_name = 3;
+
+ // UID of package for which permissions are viewed
+ optional int32 uid = 4 [(is_uid) = true];
+
+ // Name of package for which permissions are viewed
+ optional string package_name = 5;
+
+ // Category in which permission is included
+ enum Category {
+ UNDEFINED = 0;
+ ALLOWED = 1;
+ ALLOWED_FOREGROUND = 2;
+ DENIED = 3;
+ }
+ optional Category category = 6;
+}
+
+/**
+* Information about a PermissionAppsFragment viewed by user.
+* Logged from ui/handheld/PermissionAppsFragment.java
+*/
+message PermissionAppsFragmentViewed {
+ // id which identifies single session of user interacting with permission controller
+ optional int64 session_id = 1;
+
+ // id which identifies single view as every view might have several logging records
+ // with different package information attached
+ optional int64 view_id = 2;
+
+ // Permission group viewed
+ optional string permission_group_name = 3;
+
+ // UID of package for which permissions are viewed
+ optional int32 uid = 4 [(is_uid) = true];
+
+ // Name of package for which permissions are viewed
+ optional string package_name = 5;
+
+ // Category in which app is included
+ enum Category {
+ UNDEFINED = 0;
+ ALLOWED = 1;
+ ALLOWED_FOREGROUND = 2;
+ DENIED = 3;
+ }
+ optional Category category = 6;
+}
diff --git a/cmds/statsd/src/external/StatsPullerManager.cpp b/cmds/statsd/src/external/StatsPullerManager.cpp
index 914d60d..475f18a 100644
--- a/cmds/statsd/src/external/StatsPullerManager.cpp
+++ b/cmds/statsd/src/external/StatsPullerManager.cpp
@@ -156,6 +156,9 @@
// system_ion_heap_size
{android::util::SYSTEM_ION_HEAP_SIZE,
{.puller = new StatsCompanionServicePuller(android::util::SYSTEM_ION_HEAP_SIZE)}},
+ // process_system_ion_heap_size
+ {android::util::PROCESS_SYSTEM_ION_HEAP_SIZE,
+ {.puller = new StatsCompanionServicePuller(android::util::PROCESS_SYSTEM_ION_HEAP_SIZE)}},
// temperature
{android::util::TEMPERATURE,
{.puller = new StatsCompanionServicePuller(android::util::TEMPERATURE)}},
diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt
index 09a8546..2ac8409 100644
--- a/config/boot-image-profile.txt
+++ b/config/boot-image-profile.txt
@@ -24,6 +24,7 @@
HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->getResolveInfo()Landroid/content/pm/ResolveInfo;
HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->initFromParcel(Landroid/os/Parcel;)V
HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->isDirectBootAware()Z
+HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->loadSummary(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/accounts/Account$1;-><init>()V
HSPLandroid/accounts/Account$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/Account;
@@ -36,6 +37,8 @@
HSPLandroid/accounts/Account;->equals(Ljava/lang/Object;)Z
HPLandroid/accounts/Account;->getAccessId()Ljava/lang/String;
HSPLandroid/accounts/Account;->hashCode()I
+HPLandroid/accounts/Account;->toSafeName(Ljava/lang/String;C)Ljava/lang/String;
+HPLandroid/accounts/Account;->toSafeString()Ljava/lang/String;
HSPLandroid/accounts/Account;->toString()Ljava/lang/String;
HSPLandroid/accounts/Account;->writeToParcel(Landroid/os/Parcel;I)V
HPLandroid/accounts/AccountAndUser;-><init>(Landroid/accounts/Account;I)V
@@ -76,6 +79,7 @@
HSPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
HPLandroid/accounts/AccountManager;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
HSPLandroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
+HSPLandroid/accounts/AccountManager;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/accounts/AuthenticatorDescription$1;-><init>()V
HSPLandroid/accounts/AuthenticatorDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/AuthenticatorDescription;
HSPLandroid/accounts/AuthenticatorDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -98,10 +102,11 @@
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->onAccountAccessed(Ljava/lang/String;)V
HSPLandroid/accounts/IAccountManager$Stub$Proxy;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/accounts/IAccountManager$Stub;-><init>()V
-PLandroid/accounts/IAccountManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/accounts/IAccountManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HPLandroid/accounts/IAccountManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HPLandroid/accounts/IAccountManagerResponse$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLandroid/accounts/IAccountManagerResponse$Stub$Proxy;->onResult(Landroid/os/Bundle;)V
@@ -129,6 +134,7 @@
HSPLandroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState;
HSPLandroid/animation/Animator;->getChangingConfigurations()I
HSPLandroid/animation/Animator;->getListeners()Ljava/util/ArrayList;
+HSPLandroid/animation/Animator;->pause()V
HSPLandroid/animation/Animator;->removeAllListeners()V
HSPLandroid/animation/Animator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V
HSPLandroid/animation/Animator;->setAllowRunningAsynchronously(Z)V
@@ -154,6 +160,7 @@
HSPLandroid/animation/AnimatorSet$3;->compare(Landroid/animation/AnimatorSet$AnimationEvent;Landroid/animation/AnimatorSet$AnimationEvent;)I
HSPLandroid/animation/AnimatorSet$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLandroid/animation/AnimatorSet$AnimationEvent;->getTime()J
+HSPLandroid/animation/AnimatorSet$Builder;->after(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
HSPLandroid/animation/AnimatorSet$Builder;->before(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
HSPLandroid/animation/AnimatorSet$Builder;->with(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
HSPLandroid/animation/AnimatorSet$Node;->addChild(Landroid/animation/AnimatorSet$Node;)V
@@ -185,10 +192,12 @@
HSPLandroid/animation/AnimatorSet;->isStarted()Z
HSPLandroid/animation/AnimatorSet;->play(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;
HSPLandroid/animation/AnimatorSet;->playSequentially([Landroid/animation/Animator;)V
+HSPLandroid/animation/AnimatorSet;->playTogether(Ljava/util/Collection;)V
HSPLandroid/animation/AnimatorSet;->playTogether([Landroid/animation/Animator;)V
HSPLandroid/animation/AnimatorSet;->pulseAnimationFrame(J)Z
HSPLandroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/AnimatorSet;
HSPLandroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V
+HSPLandroid/animation/AnimatorSet;->setStartDelay(J)V
HSPLandroid/animation/AnimatorSet;->setTarget(Ljava/lang/Object;)V
HSPLandroid/animation/AnimatorSet;->shouldPlayTogether()Z
HSPLandroid/animation/AnimatorSet;->skipToEndValue(Z)V
@@ -279,6 +288,7 @@
HSPLandroid/animation/ObjectAnimator;->isInitialized()Z
HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator;
HSPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;
+HSPLandroid/animation/ObjectAnimator;->ofInt(Ljava/lang/Object;Landroid/util/Property;[I)Landroid/animation/ObjectAnimator;
HSPLandroid/animation/ObjectAnimator;->ofInt(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator;
HSPLandroid/animation/ObjectAnimator;->ofPropertyValuesHolder(Ljava/lang/Object;[Landroid/animation/PropertyValuesHolder;)Landroid/animation/ObjectAnimator;
HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/Animator;
@@ -286,13 +296,19 @@
HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
HSPLandroid/animation/ObjectAnimator;->setFloatValues([F)V
HSPLandroid/animation/ObjectAnimator;->setIntValues([I)V
+HSPLandroid/animation/ObjectAnimator;->setObjectValues([Ljava/lang/Object;)V
HSPLandroid/animation/ObjectAnimator;->setProperty(Landroid/util/Property;)V
HSPLandroid/animation/ObjectAnimator;->setTarget(Ljava/lang/Object;)V
HSPLandroid/animation/ObjectAnimator;->setupEndValues()V
HSPLandroid/animation/ObjectAnimator;->setupStartValues()V
HSPLandroid/animation/ObjectAnimator;->start()V
+HSPLandroid/animation/PathKeyframes$1;->getFloatValue(F)F
+HSPLandroid/animation/PathKeyframes$2;->getFloatValue(F)F
+HSPLandroid/animation/PathKeyframes$FloatKeyframesBase;->getValue(F)Ljava/lang/Object;
HSPLandroid/animation/PathKeyframes$SimpleKeyframes;->clone()Landroid/animation/Keyframes;
HSPLandroid/animation/PathKeyframes;-><init>(Landroid/graphics/Path;F)V
+HSPLandroid/animation/PathKeyframes;->getValue(F)Ljava/lang/Object;
+HSPLandroid/animation/PathKeyframes;->interpolateInRange(FII)Landroid/graphics/PointF;
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->calculateValue(F)V
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;
HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;
@@ -333,6 +349,7 @@
HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V
HSPLandroid/animation/RectEvaluator;-><init>()V
HSPLandroid/animation/StateListAnimator$1;->onAnimationEnd(Landroid/animation/Animator;)V
+HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->getChangingConfigurations()I
HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Landroid/animation/StateListAnimator;
HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Ljava/lang/Object;
HSPLandroid/animation/StateListAnimator;-><init>()V
@@ -347,6 +364,12 @@
HSPLandroid/animation/StateListAnimator;->setChangingConfigurations(I)V
HSPLandroid/animation/StateListAnimator;->setState([I)V
HSPLandroid/animation/StateListAnimator;->setTarget(Landroid/view/View;)V
+HSPLandroid/animation/TimeAnimator;-><init>()V
+HSPLandroid/animation/TimeAnimator;->animateBasedOnTime(J)Z
+HSPLandroid/animation/TimeAnimator;->initAnimation()V
+HSPLandroid/animation/TimeAnimator;->setCurrentPlayTime(J)V
+HSPLandroid/animation/TimeAnimator;->setTimeListener(Landroid/animation/TimeAnimator$TimeListener;)V
+HSPLandroid/animation/TimeAnimator;->start()V
HSPLandroid/animation/ValueAnimator;-><init>()V
HSPLandroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
HSPLandroid/animation/ValueAnimator;->animateBasedOnTime(J)Z
@@ -378,6 +401,7 @@
HSPLandroid/animation/ValueAnimator;->ofInt([I)Landroid/animation/ValueAnimator;
HSPLandroid/animation/ValueAnimator;->ofObject(Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ValueAnimator;
HSPLandroid/animation/ValueAnimator;->overrideDurationScale(F)V
+HSPLandroid/animation/ValueAnimator;->pause()V
HSPLandroid/animation/ValueAnimator;->pulseAnimationFrame(J)Z
HSPLandroid/animation/ValueAnimator;->setAllowRunningAsynchronously(Z)V
HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V
@@ -406,7 +430,7 @@
PLandroid/apex/ApexInfo$1;->newArray(I)[Landroid/apex/ApexInfo;
PLandroid/apex/ApexInfo$1;->newArray(I)[Ljava/lang/Object;
PLandroid/apex/ApexInfo;->readFromParcel(Landroid/os/Parcel;)V
-PLandroid/apex/IApexService$Stub$Proxy;->getActivePackages()[Landroid/apex/ApexInfo;
+HPLandroid/apex/IApexService$Stub$Proxy;->getActivePackages()[Landroid/apex/ApexInfo;
HSPLandroid/apex/IApexService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/apex/IApexService;
HSPLandroid/app/-$$Lambda$ActivityThread$ActivityClientRecord$HOrG1qglSjSUHSjKBn2rXtX0gGg;->onConfigurationChanged(Landroid/content/res/Configuration;I)V
HSPLandroid/app/-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38;-><init>()V
@@ -421,12 +445,16 @@
HSPLandroid/app/-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM;->test(Ljava/lang/Object;)Z
HSPLandroid/app/-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0;->run()V
HSPLandroid/app/ActionBar$LayoutParams;-><init>(II)V
+HSPLandroid/app/ActionBar$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/app/Activity$HostCallbacks;->onAttachFragment(Landroid/app/Fragment;)V
+HSPLandroid/app/Activity$HostCallbacks;->onFindViewById(I)Landroid/view/View;
HSPLandroid/app/Activity$HostCallbacks;->onGetLayoutInflater()Landroid/view/LayoutInflater;
+HSPLandroid/app/Activity$HostCallbacks;->onHasView()Z
HSPLandroid/app/Activity$HostCallbacks;->onUseFragmentManagerInflaterFactory()Z
HSPLandroid/app/Activity;-><init>()V
HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;)V
HSPLandroid/app/Activity;->attachBaseContext(Landroid/content/Context;)V
+HSPLandroid/app/Activity;->autofillClientGetComponentName()Landroid/content/ComponentName;
HSPLandroid/app/Activity;->autofillClientIsFillUiShowing()Z
HSPLandroid/app/Activity;->autofillClientRequestHideFillUi()Z
HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;
@@ -437,6 +465,7 @@
HSPLandroid/app/Activity;->finish()V
HSPLandroid/app/Activity;->finish(I)V
HSPLandroid/app/Activity;->finishAfterTransition()V
+HSPLandroid/app/Activity;->finishAndRemoveTask()V
HSPLandroid/app/Activity;->getActionBar()Landroid/app/ActionBar;
HSPLandroid/app/Activity;->getActivityOptions()Landroid/app/ActivityOptions;
HSPLandroid/app/Activity;->getApplication()Landroid/app/Application;
@@ -454,6 +483,7 @@
HSPLandroid/app/Activity;->getTitle()Ljava/lang/CharSequence;
HSPLandroid/app/Activity;->getWindow()Landroid/view/Window;
HSPLandroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;
+HSPLandroid/app/Activity;->hasWindowFocus()Z
HSPLandroid/app/Activity;->initWindowDecorActionBar()V
HSPLandroid/app/Activity;->invalidateOptionsMenu()V
HSPLandroid/app/Activity;->isChangingConfigurations()Z
@@ -478,6 +508,7 @@
HSPLandroid/app/Activity;->onEnterAnimationComplete()V
HSPLandroid/app/Activity;->onKeyDown(ILandroid/view/KeyEvent;)Z
HSPLandroid/app/Activity;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HSPLandroid/app/Activity;->onNewIntent(Landroid/content/Intent;)V
HSPLandroid/app/Activity;->onPause()V
HSPLandroid/app/Activity;->onPostCreate(Landroid/os/Bundle;)V
HSPLandroid/app/Activity;->onPostResume()V
@@ -485,12 +516,15 @@
HSPLandroid/app/Activity;->onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z
HSPLandroid/app/Activity;->onProvideReferrer()Landroid/net/Uri;
HSPLandroid/app/Activity;->onRestart()V
+HSPLandroid/app/Activity;->onRestoreInstanceState(Landroid/os/Bundle;)V
HSPLandroid/app/Activity;->onResume()V
HSPLandroid/app/Activity;->onSaveInstanceState(Landroid/os/Bundle;)V
HSPLandroid/app/Activity;->onStart()V
+HSPLandroid/app/Activity;->onStateNotSaved()V
HSPLandroid/app/Activity;->onStop()V
HSPLandroid/app/Activity;->onTitleChanged(Ljava/lang/CharSequence;I)V
HSPLandroid/app/Activity;->onTopResumedActivityChanged(Z)V
+HSPLandroid/app/Activity;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/app/Activity;->onTrimMemory(I)V
HSPLandroid/app/Activity;->onUserInteraction()V
HSPLandroid/app/Activity;->onUserLeaveHint()V
@@ -505,11 +539,15 @@
HSPLandroid/app/Activity;->performStart(Ljava/lang/String;)V
HSPLandroid/app/Activity;->performStop(ZLjava/lang/String;)V
HSPLandroid/app/Activity;->reportFullyDrawn()V
+HSPLandroid/app/Activity;->requestWindowFeature(I)Z
+HSPLandroid/app/Activity;->restoreManagedDialogs(Landroid/os/Bundle;)V
HSPLandroid/app/Activity;->saveManagedDialogs(Landroid/os/Bundle;)V
+HSPLandroid/app/Activity;->setActionBar(Landroid/widget/Toolbar;)V
HSPLandroid/app/Activity;->setContentView(I)V
HSPLandroid/app/Activity;->setIntent(Landroid/content/Intent;)V
HSPLandroid/app/Activity;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
HSPLandroid/app/Activity;->setTheme(I)V
+HSPLandroid/app/Activity;->setTitle(I)V
HSPLandroid/app/Activity;->setTitle(Ljava/lang/CharSequence;)V
HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;)V
HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V
@@ -572,7 +610,7 @@
HSPLandroid/app/ActivityManager$TaskDescription;->setBackgroundColor(I)V
HSPLandroid/app/ActivityManager$TaskDescription;->setIcon(I)V
HSPLandroid/app/ActivityManager$TaskDescription;->setIconFilename(Ljava/lang/String;)V
-PLandroid/app/ActivityManager$TaskDescription;->setLabel(Ljava/lang/String;)V
+HPLandroid/app/ActivityManager$TaskDescription;->setLabel(Ljava/lang/String;)V
HSPLandroid/app/ActivityManager$TaskDescription;->setNavigationBarColor(I)V
HSPLandroid/app/ActivityManager$TaskDescription;->setPrimaryColor(I)V
HSPLandroid/app/ActivityManager$TaskDescription;->setStatusBarColor(I)V
@@ -600,6 +638,7 @@
HSPLandroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
HSPLandroid/app/ActivityManager;->getAppTasks()Ljava/util/List;
HSPLandroid/app/ActivityManager;->getCurrentUser()I
+HSPLandroid/app/ActivityManager;->getLargeMemoryClass()I
HSPLandroid/app/ActivityManager;->getMemoryClass()I
HSPLandroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
HSPLandroid/app/ActivityManager;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
@@ -607,14 +646,14 @@
HSPLandroid/app/ActivityManager;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
HSPLandroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;
HSPLandroid/app/ActivityManager;->getService()Landroid/app/IActivityManager;
-PLandroid/app/ActivityManager;->getUidImportance(I)I
+HPLandroid/app/ActivityManager;->getUidImportance(I)I
HSPLandroid/app/ActivityManager;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
HSPLandroid/app/ActivityManager;->isHighEndGfx()Z
HSPLandroid/app/ActivityManager;->isLowRamDevice()Z
HSPLandroid/app/ActivityManager;->isLowRamDeviceStatic()Z
HSPLandroid/app/ActivityManager;->isRunningInTestHarness()Z
HSPLandroid/app/ActivityManager;->isSmallBatteryDevice()Z
-PLandroid/app/ActivityManager;->isSystemReady()Z
+HPLandroid/app/ActivityManager;->isSystemReady()Z
HSPLandroid/app/ActivityManager;->isUserAMonkey()Z
HSPLandroid/app/ActivityManager;->isUserRunning(I)Z
HSPLandroid/app/ActivityManager;->noteAlarmFinish(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;)V
@@ -623,24 +662,24 @@
HSPLandroid/app/ActivityManager;->processStateAmToProto(I)I
HSPLandroid/app/ActivityManager;->staticGetMemoryClass()I
HSPLandroid/app/ActivityOptions;-><init>(Landroid/os/Bundle;)V
-PLandroid/app/ActivityOptions;->abort()V
+HPLandroid/app/ActivityOptions;->abort()V
HSPLandroid/app/ActivityOptions;->abort(Landroid/app/ActivityOptions;)V
HSPLandroid/app/ActivityOptions;->disallowEnterPictureInPictureWhileLaunching()Z
-PLandroid/app/ActivityOptions;->freezeRecentTasksReordering()Z
+HPLandroid/app/ActivityOptions;->freezeRecentTasksReordering()Z
HSPLandroid/app/ActivityOptions;->fromBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;
HSPLandroid/app/ActivityOptions;->getAnimationType()I
HSPLandroid/app/ActivityOptions;->getAvoidMoveToFront()Z
-PLandroid/app/ActivityOptions;->getCustomEnterResId()I
-PLandroid/app/ActivityOptions;->getCustomExitResId()I
-PLandroid/app/ActivityOptions;->getLaunchActivityType()I
+HPLandroid/app/ActivityOptions;->getCustomEnterResId()I
+HPLandroid/app/ActivityOptions;->getCustomExitResId()I
+HPLandroid/app/ActivityOptions;->getLaunchActivityType()I
HSPLandroid/app/ActivityOptions;->getLaunchBounds()Landroid/graphics/Rect;
HSPLandroid/app/ActivityOptions;->getLaunchDisplayId()I
HSPLandroid/app/ActivityOptions;->getLaunchTaskBehind()Z
HSPLandroid/app/ActivityOptions;->getLaunchTaskId()I
HSPLandroid/app/ActivityOptions;->getLaunchWindowingMode()I
HSPLandroid/app/ActivityOptions;->getLockTaskMode()Z
-PLandroid/app/ActivityOptions;->getOnAnimationStartListener()Landroid/os/IRemoteCallback;
-PLandroid/app/ActivityOptions;->getPackageName()Ljava/lang/String;
+HPLandroid/app/ActivityOptions;->getOnAnimationStartListener()Landroid/os/IRemoteCallback;
+HPLandroid/app/ActivityOptions;->getPackageName()Ljava/lang/String;
HPLandroid/app/ActivityOptions;->getPendingIntentLaunchFlags()I
HSPLandroid/app/ActivityOptions;->getRemoteAnimationAdapter()Landroid/view/RemoteAnimationAdapter;
HSPLandroid/app/ActivityOptions;->getRotationAnimationHint()I
@@ -651,7 +690,7 @@
HSPLandroid/app/ActivityOptions;->setLaunchActivityType(I)V
HSPLandroid/app/ActivityOptions;->setLaunchDisplayId(I)Landroid/app/ActivityOptions;
HSPLandroid/app/ActivityOptions;->setLaunchWindowingMode(I)V
-PLandroid/app/ActivityOptions;->setRemoteAnimationAdapter(Landroid/view/RemoteAnimationAdapter;)V
+HPLandroid/app/ActivityOptions;->setRemoteAnimationAdapter(Landroid/view/RemoteAnimationAdapter;)V
HSPLandroid/app/ActivityOptions;->toBundle()Landroid/os/Bundle;
HSPLandroid/app/ActivityTaskManager$1;-><init>()V
HSPLandroid/app/ActivityTaskManager$1;->create()Landroid/app/IActivityTaskManager;
@@ -677,10 +716,11 @@
HSPLandroid/app/ActivityThread$ApplicationThread;->clearDnsCache()V
HSPLandroid/app/ActivityThread$ApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->dumpDbInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-PLandroid/app/ActivityThread$ApplicationThread;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
+HPLandroid/app/ActivityThread$ApplicationThread;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZZ[Ljava/lang/String;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZZ)V
-PLandroid/app/ActivityThread$ApplicationThread;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
+HSPLandroid/app/ActivityThread$ApplicationThread;->dumpProvider(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
+HPLandroid/app/ActivityThread$ApplicationThread;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
@@ -688,7 +728,8 @@
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-PLandroid/app/ActivityThread$ApplicationThread;->scheduleLowMemory()V
+HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
+HPLandroid/app/ActivityThread$ApplicationThread;->scheduleLowMemory()V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
@@ -728,6 +769,7 @@
HSPLandroid/app/ActivityThread;->currentApplication()Landroid/app/Application;
HSPLandroid/app/ActivityThread;->currentOpPackageName()Ljava/lang/String;
HSPLandroid/app/ActivityThread;->currentPackageName()Ljava/lang/String;
+HSPLandroid/app/ActivityThread;->currentProcessName()Ljava/lang/String;
HSPLandroid/app/ActivityThread;->deliverNewIntents(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/util/List;)V
HSPLandroid/app/ActivityThread;->dumpMemInfoTable(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZILjava/lang/String;JJJJJJ)V
HSPLandroid/app/ActivityThread;->getActivitiesToBeDestroyed()Ljava/util/Map;
@@ -753,7 +795,9 @@
HSPLandroid/app/ActivityThread;->handleDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)V
HSPLandroid/app/ActivityThread;->handleDestroyBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
HSPLandroid/app/ActivityThread;->handleDispatchPackageBroadcast(I[Ljava/lang/String;)V
-PLandroid/app/ActivityThread;->handleDumpService(Landroid/app/ActivityThread$DumpComponentInfo;)V
+HSPLandroid/app/ActivityThread;->handleDumpProvider(Landroid/app/ActivityThread$DumpComponentInfo;)V
+HPLandroid/app/ActivityThread;->handleDumpService(Landroid/app/ActivityThread$DumpComponentInfo;)V
+HSPLandroid/app/ActivityThread;->handleInstallProvider(Landroid/content/pm/ProviderInfo;)V
HSPLandroid/app/ActivityThread;->handleLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;Landroid/content/Intent;)Landroid/app/Activity;
HPLandroid/app/ActivityThread;->handleLowMemory()V
HSPLandroid/app/ActivityThread;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;Z)V
@@ -824,14 +868,14 @@
HSPLandroid/app/AlarmManager;->cancel(Landroid/app/AlarmManager$OnAlarmListener;)V
HSPLandroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
HSPLandroid/app/AlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-PLandroid/app/AlarmManager;->getNextWakeFromIdleTime()J
+HPLandroid/app/AlarmManager;->getNextWakeFromIdleTime()J
HSPLandroid/app/AlarmManager;->set(IJJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V
HSPLandroid/app/AlarmManager;->set(IJLandroid/app/PendingIntent;)V
HSPLandroid/app/AlarmManager;->set(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
HSPLandroid/app/AlarmManager;->setExact(IJLandroid/app/PendingIntent;)V
HSPLandroid/app/AlarmManager;->setExact(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
HSPLandroid/app/AlarmManager;->setExactAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V
-PLandroid/app/AlarmManager;->setIdleUntil(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
+HPLandroid/app/AlarmManager;->setIdleUntil(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
HSPLandroid/app/AlarmManager;->setImpl(IJJJILandroid/app/PendingIntent;Landroid/app/AlarmManager$OnAlarmListener;Ljava/lang/String;Landroid/os/Handler;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
HSPLandroid/app/AlarmManager;->setInexactRepeating(IJJLandroid/app/PendingIntent;)V
HSPLandroid/app/AlarmManager;->setTime(J)V
@@ -869,7 +913,7 @@
HSPLandroid/app/AppOpsManager$HistoricalOps;->merge(Landroid/app/AppOpsManager$HistoricalOps;)V
HSPLandroid/app/AppOpsManager$HistoricalOps;->round(D)D
HPLandroid/app/AppOpsManager$HistoricalOps;->splice(DZ)Landroid/app/AppOpsManager$HistoricalOps;
-PLandroid/app/AppOpsManager$HistoricalOps;->spliceFromEnd(D)Landroid/app/AppOpsManager$HistoricalOps;
+HPLandroid/app/AppOpsManager$HistoricalOps;->spliceFromEnd(D)Landroid/app/AppOpsManager$HistoricalOps;
HSPLandroid/app/AppOpsManager$HistoricalPackageOps$1;-><init>()V
HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2700(Landroid/app/AppOpsManager$HistoricalPackageOps;IIIJ)V
HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->access$2800(Landroid/app/AppOpsManager$HistoricalPackageOps;IIIJ)V
@@ -904,7 +948,7 @@
HSPLandroid/app/AppOpsManager;->getPackagesForOps([I)Ljava/util/List;
HSPLandroid/app/AppOpsManager;->getSystemAlertWindowDefault()I
HSPLandroid/app/AppOpsManager;->getToken(Lcom/android/internal/app/IAppOpsService;)Landroid/os/IBinder;
-PLandroid/app/AppOpsManager;->isOperationActive(IILjava/lang/String;)Z
+HPLandroid/app/AppOpsManager;->isOperationActive(IILjava/lang/String;)Z
HSPLandroid/app/AppOpsManager;->logOperationIfNeeded(ILjava/lang/String;Ljava/lang/String;)V
HSPLandroid/app/AppOpsManager;->maxForFlagsInStates(Landroid/util/LongSparseLongArray;III)J
HSPLandroid/app/AppOpsManager;->noteOp(IILjava/lang/String;)I
@@ -973,11 +1017,12 @@
HSPLandroid/app/Application;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
HSPLandroid/app/Application;->onConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/app/Application;->onCreate()V
-PLandroid/app/Application;->onLowMemory()V
+HPLandroid/app/Application;->onLowMemory()V
HSPLandroid/app/Application;->onTrimMemory(I)V
HSPLandroid/app/Application;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
HSPLandroid/app/Application;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V
HSPLandroid/app/Application;->unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
+HSPLandroid/app/Application;->unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V
HSPLandroid/app/ApplicationErrorReport$1;-><init>()V
HSPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>(Ljava/lang/Throwable;)V
@@ -999,6 +1044,7 @@
HSPLandroid/app/ApplicationPackageManager$ResourceName;->hashCode()I
HSPLandroid/app/ApplicationPackageManager;-><init>(Landroid/app/ContextImpl;Landroid/content/pm/IPackageManager;)V
HSPLandroid/app/ApplicationPackageManager;->addOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V
+HSPLandroid/app/ApplicationPackageManager;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
HSPLandroid/app/ApplicationPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/app/ApplicationPackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/app/ApplicationPackageManager;->configurationChanged()V
@@ -1010,6 +1056,7 @@
HSPLandroid/app/ApplicationPackageManager;->getCachedIcon(Landroid/app/ApplicationPackageManager$ResourceName;)Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->getCachedString(Landroid/app/ApplicationPackageManager$ResourceName;)Ljava/lang/CharSequence;
HSPLandroid/app/ApplicationPackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;)I
+HSPLandroid/app/ApplicationPackageManager;->getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->getDrawable(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
HSPLandroid/app/ApplicationPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
HSPLandroid/app/ApplicationPackageManager;->getInstalledApplications(I)Ljava/util/List;
@@ -1018,6 +1065,7 @@
HSPLandroid/app/ApplicationPackageManager;->getInstalledPackages(I)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->getInstalledPackagesAsUser(II)Ljava/util/List;
HSPLandroid/app/ApplicationPackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/app/ApplicationPackageManager;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
HSPLandroid/app/ApplicationPackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
HSPLandroid/app/ApplicationPackageManager;->getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;
HSPLandroid/app/ApplicationPackageManager;->getNameForUid(I)Ljava/lang/String;
@@ -1032,7 +1080,7 @@
HSPLandroid/app/ApplicationPackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
HSPLandroid/app/ApplicationPackageManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I
HSPLandroid/app/ApplicationPackageManager;->getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-PLandroid/app/ApplicationPackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
+HPLandroid/app/ApplicationPackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
HSPLandroid/app/ApplicationPackageManager;->getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;
HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
@@ -1086,6 +1134,7 @@
HSPLandroid/app/BackStackRecord;->expandOps(Ljava/util/ArrayList;Landroid/app/Fragment;)Landroid/app/Fragment;
HSPLandroid/app/BackStackRecord;->generateOps(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
HSPLandroid/app/BackStackRecord;->interactsWith(I)Z
+HSPLandroid/app/BackStackRecord;->isEmpty()Z
HSPLandroid/app/BroadcastOptions;-><init>(Landroid/os/Bundle;)V
HSPLandroid/app/BroadcastOptions;->allowsBackgroundActivityStarts()Z
HSPLandroid/app/BroadcastOptions;->getMaxManifestReceiverApiLevel()I
@@ -1094,6 +1143,7 @@
HSPLandroid/app/BroadcastOptions;->isDontSendToRestrictedApps()Z
HSPLandroid/app/BroadcastOptions;->makeBasic()Landroid/app/BroadcastOptions;
HSPLandroid/app/BroadcastOptions;->setBackgroundActivityStartsAllowed(Z)V
+HPLandroid/app/BroadcastOptions;->setDontSendToRestrictedApps(Z)V
HSPLandroid/app/BroadcastOptions;->setMaxManifestReceiverApiLevel(I)V
HSPLandroid/app/BroadcastOptions;->setTemporaryAppWhitelistDuration(J)V
HSPLandroid/app/BroadcastOptions;->toBundle()Landroid/os/Bundle;
@@ -1201,7 +1251,7 @@
HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
HSPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;I)V
-PLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/os/Bundle;)V
HSPLandroid/app/ContextImpl;->sendBroadcastAsUserMultiplePermissions(Landroid/content/Intent;Landroid/os/UserHandle;[Ljava/lang/String;)V
HSPLandroid/app/ContextImpl;->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
HSPLandroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
@@ -1239,6 +1289,8 @@
HSPLandroid/app/Dialog;->dismissDialog()V
HSPLandroid/app/Dialog;->dispatchOnCreate(Landroid/os/Bundle;)V
HSPLandroid/app/Dialog;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
+HSPLandroid/app/Dialog;->findViewById(I)Landroid/view/View;
+HSPLandroid/app/Dialog;->getContext()Landroid/content/Context;
HSPLandroid/app/Dialog;->getWindow()Landroid/view/Window;
HSPLandroid/app/Dialog;->hide()V
HSPLandroid/app/Dialog;->onAttachedToWindow()V
@@ -1247,6 +1299,7 @@
HSPLandroid/app/Dialog;->onDetachedFromWindow()V
HSPLandroid/app/Dialog;->onStart()V
HSPLandroid/app/Dialog;->onStop()V
+HSPLandroid/app/Dialog;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/app/Dialog;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
HSPLandroid/app/Dialog;->onWindowFocusChanged(Z)V
HSPLandroid/app/Dialog;->setCancelable(Z)V
@@ -1314,6 +1367,7 @@
HSPLandroid/app/Fragment;->setIndex(ILandroid/app/Fragment;)V
HSPLandroid/app/Fragment;->setNextAnim(I)V
HSPLandroid/app/Fragment;->setNextTransition(II)V
+HSPLandroid/app/Fragment;->setRetainInstance(Z)V
HSPLandroid/app/FragmentContainer;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;
HSPLandroid/app/FragmentController;->attachHost(Landroid/app/Fragment;)V
HSPLandroid/app/FragmentController;->createController(Landroid/app/FragmentHostCallback;)Landroid/app/FragmentController;
@@ -1346,6 +1400,7 @@
HSPLandroid/app/FragmentHostCallback;->getFragmentManagerImpl()Landroid/app/FragmentManagerImpl;
HSPLandroid/app/FragmentHostCallback;->getHandler()Landroid/os/Handler;
HSPLandroid/app/FragmentHostCallback;->getLoaderManager(Ljava/lang/String;ZZ)Landroid/app/LoaderManagerImpl;
+HSPLandroid/app/FragmentHostCallback;->getRetainLoaders()Z
HSPLandroid/app/FragmentHostCallback;->inactivateFragment(Ljava/lang/String;)V
HSPLandroid/app/FragmentHostCallback;->reportLoaderStart()V
HSPLandroid/app/FragmentManagerImpl$1;->run()V
@@ -1401,6 +1456,7 @@
HSPLandroid/app/FragmentManagerImpl;->restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V
HSPLandroid/app/FragmentManagerImpl;->saveAllState()Landroid/os/Parcelable;
HSPLandroid/app/FragmentManagerImpl;->saveFragmentBasicState(Landroid/app/Fragment;)Landroid/os/Bundle;
+HSPLandroid/app/FragmentManagerImpl;->saveFragmentViewState(Landroid/app/Fragment;)V
HSPLandroid/app/FragmentManagerImpl;->saveNonConfig()V
HSPLandroid/app/FragmentManagerImpl;->scheduleCommit()V
HSPLandroid/app/FragmentManagerState$1;-><init>()V
@@ -1432,6 +1488,7 @@
HSPLandroid/app/IActivityManager$Stub$Proxy;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
HSPLandroid/app/IActivityManager$Stub$Proxy;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
HSPLandroid/app/IActivityManager$Stub$Proxy;->getRunningAppProcesses()Ljava/util/List;
+HSPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserAMonkey()Z
HSPLandroid/app/IActivityManager$Stub$Proxy;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
HSPLandroid/app/IActivityManager$Stub$Proxy;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
@@ -1469,12 +1526,13 @@
HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getTaskForActivity(Landroid/os/IBinder;Z)I
HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->isInMultiWindowMode(Landroid/os/IBinder;)Z
HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->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
HSPLandroid/app/IActivityTaskManager$Stub;-><init>()V
-PLandroid/app/IActivityTaskManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/IActivityTaskManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/IActivityTaskManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/IAlarmCompleteListener$Stub$Proxy;->alarmComplete(Landroid/os/IBinder;)V
HSPLandroid/app/IAlarmCompleteListener$Stub;-><init>()V
@@ -1491,19 +1549,19 @@
HSPLandroid/app/IAlarmManager$Stub$Proxy;->setTimeZone(Ljava/lang/String;)V
HSPLandroid/app/IAlarmManager$Stub;-><init>()V
HSPLandroid/app/IAlarmManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmManager;
-PLandroid/app/IAlarmManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/IAlarmManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/IAlarmManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/IAppTask$Stub$Proxy;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
HSPLandroid/app/IAppTask$Stub$Proxy;->setExcludeFromRecents(Z)V
-PLandroid/app/IAppTask$Stub;-><init>()V
+HPLandroid/app/IAppTask$Stub;-><init>()V
HPLandroid/app/IAppTask$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/IApplicationThread$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/app/IApplicationThread$Stub$Proxy;->bindApplication(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;Landroid/content/ComponentName;Landroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;IZZZZLandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/util/Map;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/AutofillOptions;Landroid/content/ContentCaptureOptions;)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->clearDnsCache()V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
-PLandroid/app/IApplicationThread$Stub$Proxy;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-PLandroid/app/IApplicationThread$Stub$Proxy;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->runIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;II)V
@@ -1511,18 +1569,19 @@
HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleLowMemory()V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleSleeping(Landroid/os/IBinder;Z)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleStopService(Landroid/os/IBinder;)V
-PLandroid/app/IApplicationThread$Stub$Proxy;->scheduleSuicide()V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleSuicide()V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleTrimMemory(I)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->setNetworkBlockSeq(J)V
HSPLandroid/app/IApplicationThread$Stub$Proxy;->setProcessState(I)V
-PLandroid/app/IApplicationThread$Stub$Proxy;->unstableProviderDied(Landroid/os/IBinder;)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->unstableProviderDied(Landroid/os/IBinder;)V
HSPLandroid/app/IApplicationThread$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/app/IApplicationThread$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IApplicationThread;
HSPLandroid/app/IApplicationThread$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -1531,7 +1590,7 @@
HPLandroid/app/IBackupAgent$Stub$Proxy;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JLandroid/app/backup/IBackupCallback;I)V
PLandroid/app/IBackupAgent$Stub$Proxy;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
HPLandroid/app/IBackupAgent$Stub$Proxy;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
-PLandroid/app/IBackupAgent$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IBackupAgent;
+HPLandroid/app/IBackupAgent$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IBackupAgent;
HSPLandroid/app/IBackupAgent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HPLandroid/app/IInstantAppResolver$Stub$Proxy;->getInstantAppResolveInfoList(Landroid/content/Intent;[IILjava/lang/String;ILandroid/os/IRemoteCallback;)V
PLandroid/app/IInstantAppResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstantAppResolver;
@@ -1549,7 +1608,7 @@
HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenMode()I
HSPLandroid/app/INotificationManager$Stub;-><init>()V
HSPLandroid/app/INotificationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/INotificationManager;
-PLandroid/app/INotificationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/INotificationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/INotificationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/IProcessObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLandroid/app/IProcessObserver$Stub$Proxy;->onForegroundActivitiesChanged(IIZ)V
@@ -1557,6 +1616,7 @@
HPLandroid/app/IProcessObserver$Stub$Proxy;->onProcessDied(II)V
HSPLandroid/app/IProcessObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IProcessObserver;
HSPLandroid/app/ISearchManager$Stub;-><init>()V
+HPLandroid/app/ISearchManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/IServiceConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/app/IServiceConnection$Stub$Proxy;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
HSPLandroid/app/IServiceConnection$Stub;->asBinder()Landroid/os/IBinder;
@@ -1577,8 +1637,9 @@
PLandroid/app/ITransientNotification$Stub$Proxy;->show(Landroid/os/IBinder;)V
HSPLandroid/app/ITransientNotification$Stub;-><init>()V
HSPLandroid/app/ITransientNotification$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/app/ITransientNotification$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITransientNotification;
+HPLandroid/app/ITransientNotification$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITransientNotification;
HSPLandroid/app/IUiAutomationConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiAutomationConnection;
+HSPLandroid/app/IUiModeManager$Stub$Proxy;->getCurrentModeType()I
HSPLandroid/app/IUiModeManager$Stub$Proxy;->getNightMode()I
HSPLandroid/app/IUiModeManager$Stub;-><init>()V
HSPLandroid/app/IUiModeManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiModeManager;
@@ -1592,13 +1653,14 @@
HSPLandroid/app/IUidObserver$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/app/IUidObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUidObserver;
HSPLandroid/app/IUriGrantsManager$Stub;-><init>()V
-PLandroid/app/IUriGrantsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/IUriGrantsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/IUserSwitchObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/app/IUserSwitchObserver$Stub$Proxy;->onForegroundProfileSwitch(I)V
+HPLandroid/app/IUserSwitchObserver$Stub$Proxy;->onForegroundProfileSwitch(I)V
HSPLandroid/app/IUserSwitchObserver$Stub$Proxy;->onLockedBootComplete(I)V
HSPLandroid/app/IUserSwitchObserver$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/app/IUserSwitchObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUserSwitchObserver;
HSPLandroid/app/IUserSwitchObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperColors(III)Landroid/app/WallpaperColors;
HSPLandroid/app/IWallpaperManager$Stub;-><init>()V
HSPLandroid/app/IWallpaperManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -1612,6 +1674,7 @@
HSPLandroid/app/Instrumentation;->callActivityOnPause(Landroid/app/Activity;)V
HSPLandroid/app/Instrumentation;->callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
HSPLandroid/app/Instrumentation;->callActivityOnRestart(Landroid/app/Activity;)V
+HSPLandroid/app/Instrumentation;->callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
HSPLandroid/app/Instrumentation;->callActivityOnResume(Landroid/app/Activity;)V
HSPLandroid/app/Instrumentation;->callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
HSPLandroid/app/Instrumentation;->callActivityOnStart(Landroid/app/Activity;)V
@@ -1641,8 +1704,8 @@
HSPLandroid/app/JobSchedulerImpl;->schedule(Landroid/app/job/JobInfo;)I
HSPLandroid/app/JobSchedulerImpl;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
HSPLandroid/app/KeyguardManager;-><init>(Landroid/content/Context;)V
-PLandroid/app/KeyguardManager;->createConfirmDeviceCredentialIntent(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Landroid/content/Intent;
-PLandroid/app/KeyguardManager;->getSettingsPackageForIntent(Landroid/content/Intent;)Ljava/lang/String;
+HPLandroid/app/KeyguardManager;->createConfirmDeviceCredentialIntent(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Landroid/content/Intent;
+HPLandroid/app/KeyguardManager;->getSettingsPackageForIntent(Landroid/content/Intent;)Ljava/lang/String;
HSPLandroid/app/KeyguardManager;->inKeyguardRestrictedInputMode()Z
HSPLandroid/app/KeyguardManager;->isDeviceLocked()Z
HSPLandroid/app/KeyguardManager;->isDeviceLocked(I)Z
@@ -1702,7 +1765,8 @@
HSPLandroid/app/Notification$Action$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Action$Builder;
HSPLandroid/app/Notification$Action$Builder;->build()Landroid/app/Notification$Action;
HSPLandroid/app/Notification$Action$Builder;->setAllowGeneratedReplies(Z)Landroid/app/Notification$Action$Builder;
-PLandroid/app/Notification$Action$Builder;->setContextual(Z)Landroid/app/Notification$Action$Builder;
+HPLandroid/app/Notification$Action$Builder;->setContextual(Z)Landroid/app/Notification$Action$Builder;
+HSPLandroid/app/Notification$Action$Builder;->setSemanticAction(I)Landroid/app/Notification$Action$Builder;
HSPLandroid/app/Notification$Action;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/app/RemoteInput;ZIZ)V
HSPLandroid/app/Notification$Action;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/Notification$Action;->clone()Landroid/app/Notification$Action;
@@ -1713,11 +1777,13 @@
HSPLandroid/app/Notification$Action;->isContextual()Z
HSPLandroid/app/Notification$Action;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/Notification$BigTextStyle;-><init>()V
+HSPLandroid/app/Notification$BigTextStyle;-><init>(Landroid/app/Notification$Builder;)V
HSPLandroid/app/Notification$BigTextStyle;->addExtras(Landroid/os/Bundle;)V
HPLandroid/app/Notification$BigTextStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
HSPLandroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
-PLandroid/app/Notification$BigTextStyle;->getBigText()Ljava/lang/CharSequence;
+HPLandroid/app/Notification$BigTextStyle;->getBigText()Ljava/lang/CharSequence;
HSPLandroid/app/Notification$BigTextStyle;->restoreFromExtras(Landroid/os/Bundle;)V
+HSPLandroid/app/Notification$BigTextStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;)V
HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;Landroid/app/Notification;)V
HSPLandroid/app/Notification$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
@@ -1737,6 +1803,7 @@
HSPLandroid/app/Notification$Builder;->setCategory(Ljava/lang/String;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setChannelId(Ljava/lang/String;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setColor(I)Landroid/app/Notification$Builder;
+HSPLandroid/app/Notification$Builder;->setColorized(Z)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setContent(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setContentInfo(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setContentIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
@@ -1780,15 +1847,19 @@
HSPLandroid/app/Notification$Builder;->setVisibility(I)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->setWhen(J)Landroid/app/Notification$Builder;
HSPLandroid/app/Notification$Builder;->usesStandardHeader()Z
+HSPLandroid/app/Notification$InboxStyle;-><init>()V
+HSPLandroid/app/Notification$InboxStyle;->restoreFromExtras(Landroid/os/Bundle;)V
HSPLandroid/app/Notification$MediaStyle;-><init>()V
+HPLandroid/app/Notification$MediaStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
+HSPLandroid/app/Notification$MediaStyle;->restoreFromExtras(Landroid/os/Bundle;)V
HSPLandroid/app/Notification$MessagingStyle$Message;->getMessageFromBundle(Landroid/os/Bundle;)Landroid/app/Notification$MessagingStyle$Message;
HSPLandroid/app/Notification$MessagingStyle$Message;->getMessagesFromBundleArray([Landroid/os/Parcelable;)Ljava/util/List;
-PLandroid/app/Notification$MessagingStyle$Message;->getSenderPerson()Landroid/app/Person;
-PLandroid/app/Notification$MessagingStyle$Message;->getText()Ljava/lang/CharSequence;
-PLandroid/app/Notification$MessagingStyle$Message;->getTimestamp()J
+HPLandroid/app/Notification$MessagingStyle$Message;->getSenderPerson()Landroid/app/Person;
+HPLandroid/app/Notification$MessagingStyle$Message;->getText()Ljava/lang/CharSequence;
+HPLandroid/app/Notification$MessagingStyle$Message;->getTimestamp()J
HSPLandroid/app/Notification$MessagingStyle;-><init>()V
HPLandroid/app/Notification$MessagingStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-PLandroid/app/Notification$MessagingStyle;->getMessages()Ljava/util/List;
+HPLandroid/app/Notification$MessagingStyle;->getMessages()Ljava/util/List;
HSPLandroid/app/Notification$MessagingStyle;->restoreFromExtras(Landroid/os/Bundle;)V
HSPLandroid/app/Notification$Style;->addExtras(Landroid/os/Bundle;)V
HSPLandroid/app/Notification$Style;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
@@ -1808,7 +1879,7 @@
HSPLandroid/app/Notification;->clone()Landroid/app/Notification;
HSPLandroid/app/Notification;->cloneInto(Landroid/app/Notification;Z)V
HSPLandroid/app/Notification;->findRemoteInputActionPair(Z)Landroid/util/Pair;
-PLandroid/app/Notification;->getAllowSystemGeneratedContextualActions()Z
+HPLandroid/app/Notification;->getAllowSystemGeneratedContextualActions()Z
HSPLandroid/app/Notification;->getChannelId()Ljava/lang/String;
HSPLandroid/app/Notification;->getContextualActions()Ljava/util/List;
HSPLandroid/app/Notification;->getGroup()Ljava/lang/String;
@@ -1883,6 +1954,7 @@
HSPLandroid/app/NotificationManager$Policy;->allowAlarms()Z
HSPLandroid/app/NotificationManager$Policy;->allowCalls()Z
HSPLandroid/app/NotificationManager$Policy;->allowMedia()Z
+HPLandroid/app/NotificationManager$Policy;->allowMessages()Z
HSPLandroid/app/NotificationManager$Policy;->allowRepeatCallers()Z
HSPLandroid/app/NotificationManager$Policy;->allowSystem()Z
HSPLandroid/app/NotificationManager$Policy;->areAllVisualEffectsSuppressed(I)Z
@@ -1914,6 +1986,7 @@
HSPLandroid/app/NotificationManager;->getNotificationChannels()Ljava/util/List;
HSPLandroid/app/NotificationManager;->getService()Landroid/app/INotificationManager;
HSPLandroid/app/NotificationManager;->getZenMode()I
+HPLandroid/app/NotificationManager;->matchesCallFilter(Landroid/os/Bundle;)Z
HSPLandroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
HSPLandroid/app/NotificationManager;->notify(Ljava/lang/String;ILandroid/app/Notification;)V
HSPLandroid/app/NotificationManager;->notifyAsUser(Ljava/lang/String;ILandroid/app/Notification;Landroid/os/UserHandle;)V
@@ -1937,7 +2010,7 @@
HSPLandroid/app/PendingIntent;->getBroadcastAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/UserHandle;)Landroid/app/PendingIntent;
HSPLandroid/app/PendingIntent;->getCreatorPackage()Ljava/lang/String;
HSPLandroid/app/PendingIntent;->getCreatorUid()I
-PLandroid/app/PendingIntent;->getIntent()Landroid/content/Intent;
+HPLandroid/app/PendingIntent;->getIntent()Landroid/content/Intent;
HSPLandroid/app/PendingIntent;->getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
HSPLandroid/app/PendingIntent;->getTag(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/app/PendingIntent;->hashCode()I
@@ -1960,9 +2033,9 @@
HSPLandroid/app/Person$Builder;->setKey(Ljava/lang/String;)Landroid/app/Person$Builder;
HSPLandroid/app/Person;-><init>(Landroid/app/Person$Builder;)V
HSPLandroid/app/Person;-><init>(Landroid/os/Parcel;)V
-PLandroid/app/Person;->equals(Ljava/lang/Object;)Z
-PLandroid/app/Person;->getKey()Ljava/lang/String;
-PLandroid/app/Person;->getName()Ljava/lang/CharSequence;
+HPLandroid/app/Person;->equals(Ljava/lang/Object;)Z
+HPLandroid/app/Person;->getKey()Ljava/lang/String;
+HPLandroid/app/Person;->getName()Ljava/lang/CharSequence;
HPLandroid/app/Person;->hashCode()I
HPLandroid/app/Person;->resolveToLegacyUri()Ljava/lang/String;
HSPLandroid/app/Person;->writeToParcel(Landroid/os/Parcel;I)V
@@ -1993,8 +2066,8 @@
HSPLandroid/app/RemoteInput$1;->newArray(I)[Landroid/app/RemoteInput;
HSPLandroid/app/RemoteInput$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/app/RemoteInput;-><init>(Landroid/os/Parcel;)V
-PLandroid/app/RemoteInput;->getAllowFreeFormInput()Z
-PLandroid/app/RemoteInput;->getChoices()[Ljava/lang/CharSequence;
+HPLandroid/app/RemoteInput;->getAllowFreeFormInput()Z
+HPLandroid/app/RemoteInput;->getChoices()[Ljava/lang/CharSequence;
HSPLandroid/app/RemoteInput;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/ResourcesManager$ApkKey;->equals(Ljava/lang/Object;)Z
HSPLandroid/app/ResourcesManager$ApkKey;->hashCode()I
@@ -2005,6 +2078,7 @@
HSPLandroid/app/ResourcesManager;->createAssetManager(Landroid/content/res/ResourcesKey;)Landroid/content/res/AssetManager;
HSPLandroid/app/ResourcesManager;->createBaseActivityResources(Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
HSPLandroid/app/ResourcesManager;->createResourcesImpl(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
+HSPLandroid/app/ResourcesManager;->findKeyForResourceImplLocked(Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
HSPLandroid/app/ResourcesManager;->findResourcesImplForKeyLocked(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
HSPLandroid/app/ResourcesManager;->generateConfig(Landroid/content/res/ResourcesKey;Landroid/util/DisplayMetrics;)Landroid/content/res/Configuration;
HSPLandroid/app/ResourcesManager;->getAdjustedDisplay(ILandroid/content/res/Resources;)Landroid/view/Display;
@@ -2023,19 +2097,19 @@
HSPLandroid/app/ResourcesManager;->redirectResourcesToNewImplLocked(Landroid/util/ArrayMap;)V
HSPLandroid/app/ResourcesManager;->updateResourcesForActivity(Landroid/os/IBinder;Landroid/content/res/Configuration;IZ)V
HSPLandroid/app/ResultInfo$1;-><init>()V
-PLandroid/app/ResultInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/ResultInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/SearchableInfo$1;-><init>()V
HSPLandroid/app/SearchableInfo;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/content/ComponentName;)V
HSPLandroid/app/SearchableInfo;->createActivityContext(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/content/Context;
HSPLandroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Landroid/content/pm/ActivityInfo;I)Landroid/app/SearchableInfo;
HSPLandroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
HSPLandroid/app/Service;-><init>()V
-PLandroid/app/Service;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLandroid/app/Service;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
HSPLandroid/app/Service;->getApplication()Landroid/app/Application;
HSPLandroid/app/Service;->onConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/app/Service;->onCreate()V
HSPLandroid/app/Service;->onDestroy()V
-PLandroid/app/Service;->onLowMemory()V
+HPLandroid/app/Service;->onLowMemory()V
HSPLandroid/app/Service;->onStart(Landroid/content/Intent;I)V
HSPLandroid/app/Service;->onStartCommand(Landroid/content/Intent;II)I
HSPLandroid/app/Service;->onTrimMemory(I)V
@@ -2088,6 +2162,7 @@
HSPLandroid/app/SharedPreferencesImpl;->startReloadIfChangedUnexpectedly()V
HSPLandroid/app/SharedPreferencesImpl;->unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V
HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V
+HSPLandroid/app/StatsManager;->getIStatsManagerLocked()Landroid/os/IStatsManager;
HSPLandroid/app/StatusBarManager;->getService()Lcom/android/internal/statusbar/IStatusBarService;
HSPLandroid/app/SynchronousUserSwitchObserver;-><init>()V
HSPLandroid/app/SystemServiceRegistry$100;-><init>()V
@@ -2107,6 +2182,8 @@
HSPLandroid/app/SystemServiceRegistry$108;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$109;-><init>()V
HSPLandroid/app/SystemServiceRegistry$10;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Landroid/bluetooth/BluetoothManager;
+HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$110;-><init>()V
HSPLandroid/app/SystemServiceRegistry$110;->createService(Landroid/app/ContextImpl;)Landroid/app/timedetector/TimeDetector;
HSPLandroid/app/SystemServiceRegistry$110;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2203,6 +2280,8 @@
HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Landroid/accounts/AccountManager;
HSPLandroid/app/SystemServiceRegistry$3;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$40;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Landroid/app/StatsManager;
+HSPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$41;-><init>()V
HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Landroid/app/StatusBarManager;
HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2257,6 +2336,8 @@
HSPLandroid/app/SystemServiceRegistry$5;->createService(Landroid/app/ContextImpl;)Landroid/app/ActivityTaskManager;
HSPLandroid/app/SystemServiceRegistry$5;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$60;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$60;->createService()Landroid/net/wifi/p2p/WifiP2pManager;
+HSPLandroid/app/SystemServiceRegistry$60;->createService()Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$61;-><init>()V
HSPLandroid/app/SystemServiceRegistry$62;-><init>()V
HSPLandroid/app/SystemServiceRegistry$63;-><init>()V
@@ -2276,6 +2357,8 @@
HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$6;-><init>()V
HSPLandroid/app/SystemServiceRegistry$70;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$70;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/LauncherApps;
+HSPLandroid/app/SystemServiceRegistry$70;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$71;-><init>()V
HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Landroid/content/RestrictionsManager;
HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
@@ -2331,6 +2414,8 @@
HSPLandroid/app/SystemServiceRegistry$95;-><init>()V
HSPLandroid/app/SystemServiceRegistry$96;-><init>()V
HSPLandroid/app/SystemServiceRegistry$97;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Landroid/os/health/SystemHealthManager;
+HSPLandroid/app/SystemServiceRegistry$97;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
HSPLandroid/app/SystemServiceRegistry$98;-><init>()V
HSPLandroid/app/SystemServiceRegistry$99;-><init>()V
HSPLandroid/app/SystemServiceRegistry$9;-><init>()V
@@ -2347,12 +2432,12 @@
HSPLandroid/app/TaskStackListener;->onTaskCreated(ILandroid/content/ComponentName;)V
HSPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
HSPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(Landroid/app/ActivityManager$RunningTaskInfo;)V
-PLandroid/app/TaskStackListener;->onTaskMovedToFront(I)V
-PLandroid/app/TaskStackListener;->onTaskMovedToFront(Landroid/app/ActivityManager$RunningTaskInfo;)V
+HPLandroid/app/TaskStackListener;->onTaskMovedToFront(I)V
+HPLandroid/app/TaskStackListener;->onTaskMovedToFront(Landroid/app/ActivityManager$RunningTaskInfo;)V
HSPLandroid/app/TaskStackListener;->onTaskRemovalStarted(I)V
HSPLandroid/app/TaskStackListener;->onTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
HSPLandroid/app/TaskStackListener;->onTaskRemoved(I)V
-PLandroid/app/TaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
+HPLandroid/app/TaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
HSPLandroid/app/UiModeManager;->getCurrentModeType()I
HSPLandroid/app/UiModeManager;->getNightMode()I
HSPLandroid/app/UriGrantsManager$1;-><init>()V
@@ -2360,7 +2445,7 @@
HSPLandroid/app/UriGrantsManager$1;->create()Ljava/lang/Object;
HSPLandroid/app/UriGrantsManager;->getService()Landroid/app/IUriGrantsManager;
HSPLandroid/app/UserSwitchObserver;-><init>()V
-PLandroid/app/UserSwitchObserver;->onForegroundProfileSwitch(I)V
+HPLandroid/app/UserSwitchObserver;->onForegroundProfileSwitch(I)V
HSPLandroid/app/UserSwitchObserver;->onLockedBootComplete(I)V
HSPLandroid/app/WallpaperColors$1;-><init>()V
HSPLandroid/app/WallpaperColors$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WallpaperColors;
@@ -2374,16 +2459,21 @@
HSPLandroid/app/WallpaperInfo;->getPackageName()Ljava/lang/String;
HSPLandroid/app/WallpaperInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/WallpaperManager$Globals;->forgetLoadedWallpaper()V
+HSPLandroid/app/WallpaperManager$Globals;->getWallpaperColors(III)Landroid/app/WallpaperColors;
HSPLandroid/app/WallpaperManager;->getDefaultWallpaperComponent(Landroid/content/Context;)Landroid/content/ComponentName;
+HSPLandroid/app/WallpaperManager;->getWallpaperColors(I)Landroid/app/WallpaperColors;
+HSPLandroid/app/WallpaperManager;->getWallpaperColors(II)Landroid/app/WallpaperColors;
HSPLandroid/app/WallpaperManager;->getWallpaperFile(II)Landroid/os/ParcelFileDescriptor;
HSPLandroid/app/WallpaperManager;->getWallpaperIdForUser(II)I
HSPLandroid/app/WallpaperManager;->initGlobals(Landroid/app/IWallpaperManager;Landroid/os/Looper;)V
+HPLandroid/app/WallpaperManager;->isWallpaperBackupEligible(I)Z
HSPLandroid/app/WindowConfiguration$1;-><init>()V
HSPLandroid/app/WindowConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WindowConfiguration;
HSPLandroid/app/WindowConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/WindowConfiguration;-><init>()V
HSPLandroid/app/WindowConfiguration;->activityTypeToString(I)Ljava/lang/String;
HSPLandroid/app/WindowConfiguration;->canReceiveKeys()Z
+HPLandroid/app/WindowConfiguration;->canResizeTask()Z
HSPLandroid/app/WindowConfiguration;->compareTo(Landroid/app/WindowConfiguration;)I
HSPLandroid/app/WindowConfiguration;->diff(Landroid/app/WindowConfiguration;Z)J
HSPLandroid/app/WindowConfiguration;->equals(Ljava/lang/Object;)Z
@@ -2430,24 +2520,26 @@
PLandroid/app/admin/DevicePolicyEventLogger;->createEvent(I)Landroid/app/admin/DevicePolicyEventLogger;
PLandroid/app/admin/DevicePolicyEventLogger;->write()V
HSPLandroid/app/admin/DevicePolicyManager;->checkDeviceIdentifierAccessAsUser(Ljava/lang/String;I)Z
+HPLandroid/app/admin/DevicePolicyManager;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentInner(Z)Landroid/content/ComponentName;
HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnAnyUser()Landroid/content/ComponentName;
HSPLandroid/app/admin/DevicePolicyManager;->getGuestUserDisabled(Landroid/content/ComponentName;)Z
HSPLandroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;I)I
HSPLandroid/app/admin/DevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;I)J
+HSPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I
HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
-PLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(Landroid/os/UserHandle;)Landroid/content/ComponentName;
-PLandroid/app/admin/DevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;I)J
+HPLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(Landroid/os/UserHandle;)Landroid/content/ComponentName;
+HPLandroid/app/admin/DevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;I)J
HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus()I
HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus(I)I
HSPLandroid/app/admin/DevicePolicyManager;->isDeviceManaged()Z
HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerApp(Ljava/lang/String;)Z
HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnCallingUser(Ljava/lang/String;)Z
-PLandroid/app/admin/DevicePolicyManager;->isDeviceProvisioned()Z
-PLandroid/app/admin/DevicePolicyManager;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
+HPLandroid/app/admin/DevicePolicyManager;->isDeviceProvisioned()Z
+HPLandroid/app/admin/DevicePolicyManager;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
HSPLandroid/app/admin/DevicePolicyManager;->isProfileOwnerApp(Ljava/lang/String;)Z
HSPLandroid/app/admin/DevicePolicyManager;->myUserId()I
-PLandroid/app/admin/DevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
+HPLandroid/app/admin/DevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
PLandroid/app/admin/IDeviceAdminService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDeviceAdminService;
HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->checkDeviceIdentifierAccess(Ljava/lang/String;III)Z
HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
@@ -2457,10 +2549,10 @@
HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasDeviceOwner()Z
HSPLandroid/app/admin/IDevicePolicyManager$Stub;-><init>()V
HSPLandroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager;
-PLandroid/app/admin/IDevicePolicyManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/admin/IDevicePolicyManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/admin/PasswordMetrics$1;-><init>()V
-PLandroid/app/admin/PasswordMetrics;->computeForCredential(I[B)Landroid/app/admin/PasswordMetrics;
+HPLandroid/app/admin/PasswordMetrics;->computeForCredential(I[B)Landroid/app/admin/PasswordMetrics;
HSPLandroid/app/admin/PasswordMetrics;->computeForPassword([B)Landroid/app/admin/PasswordMetrics;
HSPLandroid/app/admin/PasswordMetrics;->maxLengthSequence([B)I
HSPLandroid/app/admin/SecurityLog$SecurityEvent$1;-><init>()V
@@ -2473,8 +2565,8 @@
HSPLandroid/app/assist/AssistContent;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/assist/AssistContent;->getClipData()Landroid/content/ClipData;
HSPLandroid/app/assist/AssistContent;->getIntent()Landroid/content/Intent;
-PLandroid/app/assist/AssistContent;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/app/assist/AssistContent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V
HSPLandroid/app/assist/AssistStructure$1;-><init>()V
HSPLandroid/app/assist/AssistStructure$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/assist/AssistStructure;
HSPLandroid/app/assist/AssistStructure$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -2489,11 +2581,11 @@
HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeView(Landroid/app/assist/AssistStructure$ViewNode;Landroid/os/Parcel;Landroid/os/PooledStringWriter;I)V
HSPLandroid/app/assist/AssistStructure$SendChannel;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/assist/AssistStructure$ViewNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;I)V
-PLandroid/app/assist/AssistStructure$ViewNode;->getAutofillId()Landroid/view/autofill/AutofillId;
+HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillId()Landroid/view/autofill/AutofillId;
HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillType()I
HSPLandroid/app/assist/AssistStructure$ViewNode;->getChildAt(I)Landroid/app/assist/AssistStructure$ViewNode;
HSPLandroid/app/assist/AssistStructure$ViewNode;->getChildCount()I
-PLandroid/app/assist/AssistStructure$ViewNode;->setAutofillOverlay(Landroid/app/assist/AssistStructure$AutofillOverlay;)V
+HPLandroid/app/assist/AssistStructure$ViewNode;->setAutofillOverlay(Landroid/app/assist/AssistStructure$AutofillOverlay;)V
HSPLandroid/app/assist/AssistStructure$ViewNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;Z[F)I
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->getChildCount()I
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->newChild(I)Landroid/view/ViewStructure;
@@ -2510,6 +2602,7 @@
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setImportantForAutofill(I)V
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setInputType(I)V
+HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setLongClickable(Z)V
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextEms(I)V
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextLength(I)V
HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMinTextEms(I)V
@@ -2528,19 +2621,19 @@
HSPLandroid/app/assist/AssistStructure;-><init>(Landroid/app/Activity;ZI)V
HSPLandroid/app/assist/AssistStructure;-><init>(Landroid/os/Parcel;)V
HSPLandroid/app/assist/AssistStructure;->ensureData()V
-PLandroid/app/assist/AssistStructure;->ensureDataForAutofill()V
-PLandroid/app/assist/AssistStructure;->getFlags()I
+HPLandroid/app/assist/AssistStructure;->ensureDataForAutofill()V
+HPLandroid/app/assist/AssistStructure;->getFlags()I
HSPLandroid/app/assist/AssistStructure;->getWindowNodeAt(I)Landroid/app/assist/AssistStructure$WindowNode;
HSPLandroid/app/assist/AssistStructure;->getWindowNodeCount()I
-PLandroid/app/assist/AssistStructure;->sanitizeForParceling(Z)V
-PLandroid/app/assist/AssistStructure;->setActivityComponent(Landroid/content/ComponentName;)V
-PLandroid/app/assist/AssistStructure;->setHomeActivity(Z)V
-PLandroid/app/assist/AssistStructure;->setTaskId(I)V
+HPLandroid/app/assist/AssistStructure;->sanitizeForParceling(Z)V
+HPLandroid/app/assist/AssistStructure;->setActivityComponent(Landroid/content/ComponentName;)V
+HPLandroid/app/assist/AssistStructure;->setHomeActivity(Z)V
+HPLandroid/app/assist/AssistStructure;->setTaskId(I)V
HSPLandroid/app/assist/AssistStructure;->waitForReady()Z
HSPLandroid/app/assist/AssistStructure;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JLandroid/app/backup/IBackupCallback;I)V
-PLandroid/app/backup/BackupAgent$BackupServiceBinder;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-PLandroid/app/backup/BackupAgent$BackupServiceBinder;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
+HPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
+HPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
HSPLandroid/app/backup/BackupAgent$SharedPrefsSynchronizer;->run()V
HSPLandroid/app/backup/BackupAgent;-><init>()V
HSPLandroid/app/backup/BackupAgent;->attach(Landroid/content/Context;)V
@@ -2553,11 +2646,11 @@
HSPLandroid/app/backup/BackupAgentHelper;-><init>()V
HSPLandroid/app/backup/BackupAgentHelper;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
HSPLandroid/app/backup/BackupAgentHelper;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-PLandroid/app/backup/BackupDataInput;-><init>(Ljava/io/FileDescriptor;)V
-PLandroid/app/backup/BackupDataInput;->finalize()V
-PLandroid/app/backup/BackupDataInput;->getKey()Ljava/lang/String;
-PLandroid/app/backup/BackupDataInput;->readNextHeader()Z
-PLandroid/app/backup/BackupDataInput;->skipEntityData()V
+HPLandroid/app/backup/BackupDataInput;-><init>(Ljava/io/FileDescriptor;)V
+HPLandroid/app/backup/BackupDataInput;->finalize()V
+HPLandroid/app/backup/BackupDataInput;->getKey()Ljava/lang/String;
+HPLandroid/app/backup/BackupDataInput;->readNextHeader()Z
+HPLandroid/app/backup/BackupDataInput;->skipEntityData()V
HSPLandroid/app/backup/BackupDataOutput;-><init>(Ljava/io/FileDescriptor;JI)V
HSPLandroid/app/backup/BackupDataOutput;->finalize()V
HSPLandroid/app/backup/BackupDataOutput;->setKeyPrefix(Ljava/lang/String;)V
@@ -2574,22 +2667,30 @@
PLandroid/app/backup/BlobBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
PLandroid/app/backup/BlobBackupHelper;->readOldState(Landroid/os/ParcelFileDescriptor;)Landroid/util/ArrayMap;
PLandroid/app/backup/BlobBackupHelper;->writeBackupState(Landroid/util/ArrayMap;Landroid/os/ParcelFileDescriptor;)V
-PLandroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;JI)V
-PLandroid/app/backup/FullBackupDataOutput;->addSize(J)V
+HSPLandroid/app/backup/FileBackupHelperBase;->finalize()V
+HSPLandroid/app/backup/FileBackupHelperBase;->performBackup_checked(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;[Ljava/lang/String;)V
+HPLandroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;JI)V
+HPLandroid/app/backup/FullBackupDataOutput;->addSize(J)V
PLandroid/app/backup/IBackupCallback$Stub;-><init>()V
PLandroid/app/backup/IBackupCallback$Stub;->asBinder()Landroid/os/IBinder;
PLandroid/app/backup/IBackupCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->dataChanged(Ljava/lang/String;)V
+HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->isBackupServiceActive(I)Z
+HPLandroid/app/backup/IBackupManager$Stub$Proxy;->opCompleteForUser(IIJ)V
HSPLandroid/app/backup/IBackupManager$Stub;-><init>()V
HSPLandroid/app/backup/IBackupManager$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
HSPLandroid/app/backup/IBackupManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/backup/SharedPreferencesBackupHelper;-><init>(Landroid/content/Context;[Ljava/lang/String;)V
+HSPLandroid/app/backup/SharedPreferencesBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
HSPLandroid/app/contentsuggestions/IContentSuggestionsManager$Stub;-><init>()V
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->acknowledgeStartMessage(IZ)V
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->acknowledgeStopMessage(IZ)V
+HSPLandroid/app/job/IJobCallback$Stub$Proxy;->completeWork(II)Z
+HSPLandroid/app/job/IJobCallback$Stub$Proxy;->dequeueWork(I)Landroid/app/job/JobWorkItem;
HSPLandroid/app/job/IJobCallback$Stub$Proxy;->jobFinished(IZ)V
HSPLandroid/app/job/IJobCallback$Stub;-><init>()V
-PLandroid/app/job/IJobCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/job/IJobCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/job/IJobCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->cancel(I)V
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
@@ -2597,7 +2698,7 @@
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->getPendingJob(I)Landroid/app/job/JobInfo;
HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->schedule(Landroid/app/job/JobInfo;)I
HSPLandroid/app/job/IJobScheduler$Stub;-><init>()V
-PLandroid/app/job/IJobScheduler$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/job/IJobScheduler$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/job/IJobScheduler$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/job/IJobService$Stub$Proxy;->startJob(Landroid/app/job/JobParameters;)V
HPLandroid/app/job/IJobService$Stub$Proxy;->stopJob(Landroid/app/job/JobParameters;)V
@@ -2620,11 +2721,13 @@
HSPLandroid/app/job/JobInfo$Builder;->setRequiredNetworkType(I)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setRequiresCharging(Z)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$Builder;->setRequiresDeviceIdle(Z)Landroid/app/job/JobInfo$Builder;
+HSPLandroid/app/job/JobInfo$Builder;->setTriggerContentMaxDelay(J)Landroid/app/job/JobInfo$Builder;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;-><init>()V
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobInfo$TriggerContentUri;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Landroid/app/job/JobInfo$TriggerContentUri;
HSPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/app/job/JobInfo$TriggerContentUri;-><init>(Landroid/net/Uri;I)V
HPLandroid/app/job/JobInfo$TriggerContentUri;->equals(Ljava/lang/Object;)Z
HPLandroid/app/job/JobInfo$TriggerContentUri;->hashCode()I
HSPLandroid/app/job/JobInfo$TriggerContentUri;->writeToParcel(Landroid/os/Parcel;I)V
@@ -2662,6 +2765,8 @@
HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobParameters;
HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/job/JobParameters;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/job/JobParameters;->completeWork(Landroid/app/job/JobWorkItem;)V
+HSPLandroid/app/job/JobParameters;->dequeueWork()Landroid/app/job/JobWorkItem;
HSPLandroid/app/job/JobParameters;->getCallback()Landroid/app/job/IJobCallback;
HPLandroid/app/job/JobParameters;->getDebugStopReason()Ljava/lang/String;
HSPLandroid/app/job/JobParameters;->getExtras()Landroid/os/PersistableBundle;
@@ -2684,7 +2789,9 @@
HSPLandroid/app/job/JobWorkItem$1;-><init>()V
HSPLandroid/app/job/JobWorkItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobWorkItem;
HSPLandroid/app/job/JobWorkItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/job/JobWorkItem;-><init>(Landroid/content/Intent;)V
HSPLandroid/app/job/JobWorkItem;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/job/JobWorkItem;->getIntent()Landroid/content/Intent;
HSPLandroid/app/job/JobWorkItem;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/prediction/AppPredictionContext$1;-><init>()V
HSPLandroid/app/prediction/AppPredictionContext$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/prediction/AppPredictionContext;
@@ -2709,7 +2816,7 @@
HSPLandroid/app/prediction/AppTargetId;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/prediction/IPredictionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/app/prediction/IPredictionManager$Stub;-><init>()V
-PLandroid/app/prediction/IPredictionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/prediction/IPredictionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/role/-$$Lambda$RoleControllerManager$GrantDefaultRolesRequest$Qrnu382yknLH4_TvruMvYuK_N8M;->run()V
HSPLandroid/app/role/-$$Lambda$RoleControllerManager$GrantDefaultRolesRequest$uMND2yv3BzXWyrtureF8K8b0f0A;->onResult(Landroid/os/Bundle;)V
HSPLandroid/app/role/-$$Lambda$RoleControllerManager$RemoteService$45dMO3SdHJhfBB_YKrC44Sznmoo;-><init>()V
@@ -2742,9 +2849,9 @@
HSPLandroid/app/servertransaction/ActivityRelaunchItem;->recycle()V
HSPLandroid/app/servertransaction/ActivityRelaunchItem;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/servertransaction/ActivityResultItem$1;-><init>()V
-PLandroid/app/servertransaction/ActivityResultItem;->obtain(Ljava/util/List;)Landroid/app/servertransaction/ActivityResultItem;
-PLandroid/app/servertransaction/ActivityResultItem;->recycle()V
-PLandroid/app/servertransaction/ActivityResultItem;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/servertransaction/ActivityResultItem;->obtain(Ljava/util/List;)Landroid/app/servertransaction/ActivityResultItem;
+HPLandroid/app/servertransaction/ActivityResultItem;->recycle()V
+HPLandroid/app/servertransaction/ActivityResultItem;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/servertransaction/BaseClientRequest;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
HSPLandroid/app/servertransaction/BaseClientRequest;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
HSPLandroid/app/servertransaction/ClientTransaction$1;-><init>()V
@@ -2864,6 +2971,7 @@
HSPLandroid/app/servertransaction/WindowVisibilityItem;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/String;)I
HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
+HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
HSPLandroid/app/slice/ISliceManager$Stub$Proxy;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
HSPLandroid/app/slice/ISliceManager$Stub;-><init>()V
@@ -2881,18 +2989,25 @@
HSPLandroid/app/slice/Slice$Builder;->build()Landroid/app/slice/Slice;
HSPLandroid/app/slice/Slice;->getHints()Ljava/util/List;
HSPLandroid/app/slice/Slice;->getItems()Ljava/util/List;
+HSPLandroid/app/slice/Slice;->getSpec()Landroid/app/slice/SliceSpec;
+HSPLandroid/app/slice/Slice;->getUri()Landroid/net/Uri;
+HSPLandroid/app/slice/Slice;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/app/slice/SliceItem$1;-><init>()V
HSPLandroid/app/slice/SliceItem;->getAction()Landroid/app/PendingIntent;
+HSPLandroid/app/slice/SliceItem;->getFormat()Ljava/lang/String;
HSPLandroid/app/slice/SliceItem;->getHints()Ljava/util/List;
HSPLandroid/app/slice/SliceItem;->getIcon()Landroid/graphics/drawable/Icon;
HSPLandroid/app/slice/SliceItem;->getLong()J
HSPLandroid/app/slice/SliceItem;->getSlice()Landroid/app/slice/Slice;
+HSPLandroid/app/slice/SliceItem;->getSubType()Ljava/lang/String;
HSPLandroid/app/slice/SliceItem;->getText()Ljava/lang/CharSequence;
+HSPLandroid/app/slice/SliceItem;->writeObj(Landroid/os/Parcel;ILjava/lang/Object;Ljava/lang/String;)V
HSPLandroid/app/slice/SliceManager;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
HSPLandroid/app/slice/SliceManager;->bindSlice(Landroid/net/Uri;Ljava/util/Set;)Landroid/app/slice/Slice;
HSPLandroid/app/slice/SliceManager;->checkSlicePermission(Landroid/net/Uri;II)I
HSPLandroid/app/slice/SliceManager;->enforceSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)V
HSPLandroid/app/slice/SliceManager;->getPinnedSlices()Ljava/util/List;
+HSPLandroid/app/slice/SliceManager;->getPinnedSpecs(Landroid/net/Uri;)Ljava/util/Set;
HSPLandroid/app/slice/SliceManager;->grantSlicePermission(Ljava/lang/String;Landroid/net/Uri;)V
HSPLandroid/app/slice/SliceManager;->pinSlice(Landroid/net/Uri;Ljava/util/Set;)V
HSPLandroid/app/slice/SliceProvider;-><init>([Ljava/lang/String;)V
@@ -2927,6 +3042,7 @@
HSPLandroid/app/trust/ITrustListener$Stub$Proxy;->onTrustManagedChanged(ZI)V
HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceLocked(I)Z
HSPLandroid/app/trust/ITrustManager$Stub;-><init>()V
+HPLandroid/app/trust/ITrustManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/trust/ITrustManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/app/usage/AppStandbyInfo$1;-><init>()V
HSPLandroid/app/usage/AppStandbyInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/AppStandbyInfo;
@@ -2960,6 +3076,7 @@
HSPLandroid/app/usage/ICacheQuotaService$Stub$Proxy;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
HSPLandroid/app/usage/ICacheQuotaService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/ICacheQuotaService;
HSPLandroid/app/usage/ICacheQuotaService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/usage/IStorageStatsManager$Stub$Proxy;->getFreeBytes(Ljava/lang/String;Ljava/lang/String;)J
HSPLandroid/app/usage/IStorageStatsManager$Stub$Proxy;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
HSPLandroid/app/usage/IStorageStatsManager$Stub;-><init>()V
HPLandroid/app/usage/IStorageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -2967,23 +3084,24 @@
HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
HSPLandroid/app/usage/IUsageStatsManager$Stub;-><init>()V
HSPLandroid/app/usage/IUsageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IUsageStatsManager;
-PLandroid/app/usage/IUsageStatsManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/usage/IUsageStatsManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/app/usage/IUsageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/app/usage/NetworkStatsManager$CallbackHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/app/usage/NetworkStatsManager;->registerUsageCallback(Landroid/net/NetworkTemplate;IJLandroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/os/Handler;)V
-PLandroid/app/usage/NetworkStatsManager;->unregisterUsageCallback(Landroid/app/usage/NetworkStatsManager$UsageCallback;)V
+HPLandroid/app/usage/NetworkStatsManager;->unregisterUsageCallback(Landroid/app/usage/NetworkStatsManager$UsageCallback;)V
HSPLandroid/app/usage/StorageStats$1;-><init>()V
HSPLandroid/app/usage/StorageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/StorageStats;
HSPLandroid/app/usage/StorageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/app/usage/StorageStats;->getAppBytes()J
HSPLandroid/app/usage/StorageStats;->getCacheBytes()J
HSPLandroid/app/usage/StorageStats;->getDataBytes()J
-PLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/lang/String;)J
-PLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/util/UUID;)J
-PLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/lang/String;)Z
-PLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/util/UUID;)Z
-PLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
-PLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
+HPLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/lang/String;)J
+HPLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/util/UUID;)J
+HSPLandroid/app/usage/StorageStatsManager;->getFreeBytes(Ljava/util/UUID;)J
+HPLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/lang/String;)Z
+HPLandroid/app/usage/StorageStatsManager;->isQuotaSupported(Ljava/util/UUID;)Z
+HPLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
+HPLandroid/app/usage/StorageStatsManager;->queryExternalStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;
HSPLandroid/app/usage/StorageStatsManager;->queryStatsForPackage(Ljava/util/UUID;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;
HSPLandroid/app/usage/TimeSparseArray;-><init>()V
HSPLandroid/app/usage/TimeSparseArray;->closestIndexOnOrAfter(J)I
@@ -3004,6 +3122,7 @@
HSPLandroid/app/usage/UsageStats;-><init>()V
HSPLandroid/app/usage/UsageStats;-><init>(Landroid/app/usage/UsageStats;)V
HSPLandroid/app/usage/UsageStats;->eventMapToBundle(Landroid/util/ArrayMap;)Landroid/os/Bundle;
+HSPLandroid/app/usage/UsageStats;->getLastTimeUsed()J
HSPLandroid/app/usage/UsageStats;->getPackageName()Ljava/lang/String;
HSPLandroid/app/usage/UsageStats;->getTotalTimeInForeground()J
HSPLandroid/app/usage/UsageStats;->update(Ljava/lang/String;JII)V
@@ -3013,7 +3132,7 @@
HSPLandroid/app/usage/UsageStatsManager;->onCarrierPrivilegedAppsChanged()V
HSPLandroid/app/usage/UsageStatsManager;->queryUsageStats(IJJ)Ljava/util/List;
HPLandroid/app/usage/UsageStatsManager;->reasonToString(I)Ljava/lang/String;
-PLandroid/app/usage/UsageStatsManager;->usageSourceToString(I)Ljava/lang/String;
+HPLandroid/app/usage/UsageStatsManager;->usageSourceToString(I)Ljava/lang/String;
HSPLandroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onUserInteractionStarted(Ljava/lang/String;I)V
HSPLandroid/appwidget/AppWidgetManager;->getAppWidgetIds(Landroid/content/ComponentName;)[I
HSPLandroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager;
@@ -3027,10 +3146,11 @@
HSPLandroid/bluetooth/BluetoothA2dp;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothA2dp;->doBind()Z
HSPLandroid/bluetooth/BluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/BluetoothA2dp;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
HSPLandroid/bluetooth/BluetoothA2dp;->getConnectedDevices()Ljava/util/List;
HSPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;-><init>()V
-PLandroid/bluetooth/BluetoothActivityEnergyInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothActivityEnergyInfo;
-PLandroid/bluetooth/BluetoothActivityEnergyInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothActivityEnergyInfo;
+HPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HPLandroid/bluetooth/BluetoothActivityEnergyInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/bluetooth/BluetoothAdapter$1;-><init>()V
HSPLandroid/bluetooth/BluetoothAdapter$2;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
@@ -3050,6 +3170,10 @@
HSPLandroid/bluetooth/BluetoothClass$1;-><init>()V
HSPLandroid/bluetooth/BluetoothClass;->toString()Ljava/lang/String;
HSPLandroid/bluetooth/BluetoothCodecConfig$1;-><init>()V
+HPLandroid/bluetooth/BluetoothCodecConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothCodecConfig;
+HPLandroid/bluetooth/BluetoothCodecConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/bluetooth/BluetoothCodecConfig$1;->newArray(I)[Landroid/bluetooth/BluetoothCodecConfig;
+HPLandroid/bluetooth/BluetoothCodecConfig$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/bluetooth/BluetoothDevice$1;-><init>()V
HSPLandroid/bluetooth/BluetoothDevice$2;-><init>()V
HSPLandroid/bluetooth/BluetoothDevice$2;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothDevice;
@@ -3068,12 +3192,15 @@
HSPLandroid/bluetooth/BluetoothDevice;->getService()Landroid/bluetooth/IBluetooth;
HSPLandroid/bluetooth/BluetoothDevice;->getUuids()[Landroid/os/ParcelUuid;
HSPLandroid/bluetooth/BluetoothDevice;->hashCode()I
+HSPLandroid/bluetooth/BluetoothDevice;->isConnected()Z
HSPLandroid/bluetooth/BluetoothDevice;->toString()Ljava/lang/String;
HSPLandroid/bluetooth/BluetoothHeadset$1;->onBluetoothStateChange(Z)V
HSPLandroid/bluetooth/BluetoothHeadset$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/BluetoothHeadset$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
HSPLandroid/bluetooth/BluetoothHeadset$3;->handleMessage(Landroid/os/Message;)V
HSPLandroid/bluetooth/BluetoothHeadset;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothHeadset;->doBind()Z
+HSPLandroid/bluetooth/BluetoothHeadset;->doUnbind()V
HSPLandroid/bluetooth/BluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
HSPLandroid/bluetooth/BluetoothHeadset;->getConnectedDevices()Ljava/util/List;
HSPLandroid/bluetooth/BluetoothHeadset;->phoneStateChanged(IIILjava/lang/String;ILjava/lang/String;)V
@@ -3088,6 +3215,7 @@
HSPLandroid/bluetooth/BluetoothHidDevice;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothHidDevice;->doBind()Z
HSPLandroid/bluetooth/BluetoothHidDevice;->getConnectedDevices()Ljava/util/List;
+HSPLandroid/bluetooth/BluetoothHidDevice;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
HSPLandroid/bluetooth/BluetoothHidHost$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
HSPLandroid/bluetooth/BluetoothHidHost;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothHidHost;->doBind()Z
@@ -3096,12 +3224,15 @@
HSPLandroid/bluetooth/BluetoothMap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothMap;->doBind()Z
HSPLandroid/bluetooth/BluetoothMap;->getConnectedDevices()Ljava/util/List;
+HSPLandroid/bluetooth/BluetoothMap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
HSPLandroid/bluetooth/BluetoothPan$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
HSPLandroid/bluetooth/BluetoothPan;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothPan;->doBind()Z
HSPLandroid/bluetooth/BluetoothPbap$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
HSPLandroid/bluetooth/BluetoothPbap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothPbap$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothPbap;->doBind()Z
+HSPLandroid/bluetooth/BluetoothPbap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+HSPLandroid/bluetooth/BluetoothPbap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
HSPLandroid/bluetooth/BluetoothSap$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
HSPLandroid/bluetooth/BluetoothSap;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
HSPLandroid/bluetooth/BluetoothSap;->doBind()Z
@@ -3113,6 +3244,7 @@
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->enable()Z
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getBondState(Landroid/bluetooth/BluetoothDevice;)I
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getBondedDevices()[Landroid/bluetooth/BluetoothDevice;
+HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getName()Ljava/lang/String;
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteAlias(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
@@ -3128,6 +3260,7 @@
HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->requestActivityInfo(Landroid/os/ResultReceiver;)V
HSPLandroid/bluetooth/IBluetooth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetooth;
HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
HSPLandroid/bluetooth/IBluetoothCallback$Stub;-><init>()V
HSPLandroid/bluetooth/IBluetoothCallback$Stub;->asBinder()Landroid/os/IBinder;
@@ -3138,6 +3271,7 @@
HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->phoneStateChanged(IIILjava/lang/String;ILjava/lang/String;)V
HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;-><init>()V
+HPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getActiveDevices()Ljava/util/List;
HSPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
HSPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
@@ -3148,6 +3282,7 @@
HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
HSPLandroid/bluetooth/IBluetoothManager$Stub;-><init>()V
+HPLandroid/bluetooth/IBluetoothManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/bluetooth/IBluetoothManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
@@ -3171,6 +3306,7 @@
HSPLandroid/bluetooth/le/ScanSettings$1;-><init>()V
HSPLandroid/companion/ICompanionDeviceManager$Stub;-><init>()V
HSPLandroid/companion/ICompanionDeviceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/ICompanionDeviceManager;
+HPLandroid/companion/ICompanionDeviceManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;-><init>()V
HSPLandroid/content/AsyncQueryHandler$WorkerHandler;-><init>(Landroid/content/AsyncQueryHandler;Landroid/os/Looper;)V
HSPLandroid/content/AsyncQueryHandler$WorkerHandler;->handleMessage(Landroid/os/Message;)V
@@ -3178,6 +3314,14 @@
HSPLandroid/content/AsyncQueryHandler;->createHandler(Landroid/os/Looper;)Landroid/os/Handler;
HSPLandroid/content/AsyncQueryHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/content/AsyncQueryHandler;->startQuery(ILjava/lang/Object;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/content/AsyncTaskLoader$LoadTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/content/AsyncTaskLoader$LoadTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Object;
+HSPLandroid/content/AsyncTaskLoader$LoadTask;->onPostExecute(Ljava/lang/Object;)V
+HSPLandroid/content/AsyncTaskLoader;->dispatchOnLoadComplete(Landroid/content/AsyncTaskLoader$LoadTask;Ljava/lang/Object;)V
+HSPLandroid/content/AsyncTaskLoader;->executePendingTask()V
+HSPLandroid/content/AsyncTaskLoader;->onCancelLoad()Z
+HSPLandroid/content/AsyncTaskLoader;->onForceLoad()V
+HSPLandroid/content/AsyncTaskLoader;->onLoadInBackground()Ljava/lang/Object;
HSPLandroid/content/AutofillOptions$1;-><init>()V
HSPLandroid/content/AutofillOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/AutofillOptions;
HSPLandroid/content/AutofillOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -3186,12 +3330,13 @@
HSPLandroid/content/BroadcastReceiver$PendingResult$1;->run()V
HSPLandroid/content/BroadcastReceiver$PendingResult;-><init>(ILjava/lang/String;Landroid/os/Bundle;IZZLandroid/os/IBinder;II)V
HSPLandroid/content/BroadcastReceiver$PendingResult;->finish()V
-PLandroid/content/BroadcastReceiver$PendingResult;->getSendingUserId()I
+HPLandroid/content/BroadcastReceiver$PendingResult;->getSendingUserId()I
HSPLandroid/content/BroadcastReceiver$PendingResult;->sendFinished(Landroid/app/IActivityManager;)V
HSPLandroid/content/BroadcastReceiver;-><init>()V
HSPLandroid/content/BroadcastReceiver;->checkSynchronousHint()V
HSPLandroid/content/BroadcastReceiver;->getSendingUserId()I
HSPLandroid/content/BroadcastReceiver;->goAsync()Landroid/content/BroadcastReceiver$PendingResult;
+HSPLandroid/content/BroadcastReceiver;->isInitialStickyBroadcast()Z
HSPLandroid/content/BroadcastReceiver;->isOrderedBroadcast()Z
HSPLandroid/content/BroadcastReceiver;->setResultCode(I)V
HSPLandroid/content/ClipData$1;-><init>()V
@@ -3217,12 +3362,12 @@
HSPLandroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/String;)V
HSPLandroid/content/ComponentName;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/ComponentName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-PLandroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;)V
+HPLandroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;)V
HSPLandroid/content/ComponentName;->compareTo(Landroid/content/ComponentName;)I
HSPLandroid/content/ComponentName;->createRelative(Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
HSPLandroid/content/ComponentName;->equals(Ljava/lang/Object;)Z
HSPLandroid/content/ComponentName;->flattenToShortString()Ljava/lang/String;
-PLandroid/content/ComponentName;->flattenToShortString(Landroid/content/ComponentName;)Ljava/lang/String;
+HPLandroid/content/ComponentName;->flattenToShortString(Landroid/content/ComponentName;)Ljava/lang/String;
HSPLandroid/content/ComponentName;->flattenToString()Ljava/lang/String;
HSPLandroid/content/ComponentName;->getClassName()Ljava/lang/String;
HSPLandroid/content/ComponentName;->getPackageName()Ljava/lang/String;
@@ -3238,6 +3383,7 @@
HSPLandroid/content/ContentProvider$Transport;->bulkInsert(Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
HSPLandroid/content/ContentProvider$Transport;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
HSPLandroid/content/ContentProvider$Transport;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/content/ContentProvider$Transport;->createCancellationSignal()Landroid/os/ICancellationSignal;
HSPLandroid/content/ContentProvider$Transport;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
HSPLandroid/content/ContentProvider$Transport;->enforceFilePermission(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
HSPLandroid/content/ContentProvider$Transport;->getContentProvider()Landroid/content/ContentProvider;
@@ -3255,6 +3401,7 @@
HSPLandroid/content/ContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
HPLandroid/content/ContentProvider;->canonicalize(Landroid/net/Uri;)Landroid/net/Uri;
HSPLandroid/content/ContentProvider;->checkUser(IILandroid/content/Context;)Z
+HSPLandroid/content/ContentProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
HSPLandroid/content/ContentProvider;->enforceReadPermissionInner(Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
HSPLandroid/content/ContentProvider;->enforceWritePermissionInner(Landroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)I
HSPLandroid/content/ContentProvider;->getAuthorityWithoutUserId(Ljava/lang/String;)Ljava/lang/String;
@@ -3268,7 +3415,7 @@
HSPLandroid/content/ContentProvider;->matchesOurAuthorities(Ljava/lang/String;)Z
HSPLandroid/content/ContentProvider;->maybeAddUserId(Landroid/net/Uri;I)Landroid/net/Uri;
HSPLandroid/content/ContentProvider;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLandroid/content/ContentProvider;->onLowMemory()V
+HPLandroid/content/ContentProvider;->onLowMemory()V
HSPLandroid/content/ContentProvider;->onTrimMemory(I)V
HSPLandroid/content/ContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
HSPLandroid/content/ContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;
@@ -3286,15 +3433,27 @@
HSPLandroid/content/ContentProviderClient;->close()V
HSPLandroid/content/ContentProviderClient;->closeInternal()Z
HSPLandroid/content/ContentProviderClient;->finalize()V
+HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
+HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+HSPLandroid/content/ContentProviderClient;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
HSPLandroid/content/ContentProviderClient;->release()Z
HSPLandroid/content/ContentProviderClient;->setDetectNotResponding(J)V
HSPLandroid/content/ContentProviderNative;->asBinder()Landroid/os/IBinder;
HSPLandroid/content/ContentProviderNative;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/content/ContentProviderOperation$1;-><init>()V
+HSPLandroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
+HSPLandroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
+HSPLandroid/content/ContentProviderOperation;-><init>(Landroid/content/ContentProviderOperation$Builder;)V
+HSPLandroid/content/ContentProviderOperation;->apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;
HSPLandroid/content/ContentProviderOperation;->getUri()Landroid/net/Uri;
+HSPLandroid/content/ContentProviderOperation;->isReadOperation()Z
+HSPLandroid/content/ContentProviderOperation;->isWriteOperation()Z
+HSPLandroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
+HSPLandroid/content/ContentProviderOperation;->resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String;
+HSPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;
HSPLandroid/content/ContentProviderProxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/content/ContentProviderProxy;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-PLandroid/content/ContentProviderProxy;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
+HPLandroid/content/ContentProviderProxy;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
HSPLandroid/content/ContentProviderProxy;->createCancellationSignal()Landroid/os/ICancellationSignal;
HSPLandroid/content/ContentProviderProxy;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
HSPLandroid/content/ContentProviderProxy;->getType(Landroid/net/Uri;)Ljava/lang/String;
@@ -3317,12 +3476,13 @@
HPLandroid/content/ContentResolver;->canonicalize(Landroid/net/Uri;)Landroid/net/Uri;
HSPLandroid/content/ContentResolver;->createSqlQueryBundle(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/content/ContentResolver;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
-PLandroid/content/ContentResolver;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
-PLandroid/content/ContentResolver;->getMasterSyncAutomaticallyAsUser(I)Z
+HSPLandroid/content/ContentResolver;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
+HPLandroid/content/ContentResolver;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
+HPLandroid/content/ContentResolver;->getMasterSyncAutomaticallyAsUser(I)Z
HSPLandroid/content/ContentResolver;->getPackageName()Ljava/lang/String;
HSPLandroid/content/ContentResolver;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
HSPLandroid/content/ContentResolver;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
-PLandroid/content/ContentResolver;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
+HPLandroid/content/ContentResolver;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
HSPLandroid/content/ContentResolver;->getType(Landroid/net/Uri;)Ljava/lang/String;
HSPLandroid/content/ContentResolver;->getUserId()I
HSPLandroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
@@ -3342,7 +3502,7 @@
HSPLandroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
HSPLandroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
HSPLandroid/content/ContentResolver;->resolveUserId(Landroid/net/Uri;)I
-PLandroid/content/ContentResolver;->syncErrorToString(I)Ljava/lang/String;
+HPLandroid/content/ContentResolver;->syncErrorToString(I)Ljava/lang/String;
HSPLandroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
HSPLandroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
HSPLandroid/content/ContentUris;->appendId(Landroid/net/Uri$Builder;J)Landroid/net/Uri$Builder;
@@ -3364,6 +3524,8 @@
HSPLandroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/content/ContentValues;->keySet()Ljava/util/Set;
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Boolean;)V
+HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Double;)V
+HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Float;)V
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
HSPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
@@ -3371,11 +3533,13 @@
HSPLandroid/content/ContentValues;->putNull(Ljava/lang/String;)V
HSPLandroid/content/ContentValues;->remove(Ljava/lang/String;)V
HSPLandroid/content/ContentValues;->size()I
+HSPLandroid/content/ContentValues;->toString()Ljava/lang/String;
HSPLandroid/content/Context;->assertRuntimeOverlayThemable()V
HSPLandroid/content/Context;->getColor(I)I
HSPLandroid/content/Context;->getColorStateList(I)Landroid/content/res/ColorStateList;
HSPLandroid/content/Context;->getDrawable(I)Landroid/graphics/drawable/Drawable;
HSPLandroid/content/Context;->getNextAutofillId()I
+HSPLandroid/content/Context;->getSharedPrefsFile(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/Context;->getString(I)Ljava/lang/String;
HSPLandroid/content/Context;->getString(I[Ljava/lang/Object;)Ljava/lang/String;
HSPLandroid/content/Context;->getSystemService(Ljava/lang/Class;)Ljava/lang/Object;
@@ -3421,6 +3585,7 @@
HSPLandroid/content/ContextWrapper;->getDataDir()Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getDir(Ljava/lang/String;I)Ljava/io/File;
+HSPLandroid/content/ContextWrapper;->getDisplay()Landroid/view/Display;
HSPLandroid/content/ContextWrapper;->getDisplayId()I
HSPLandroid/content/ContextWrapper;->getExternalCacheDir()Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
@@ -3436,6 +3601,7 @@
HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager;
HSPLandroid/content/ContextWrapper;->getPackageName()Ljava/lang/String;
HSPLandroid/content/ContextWrapper;->getResources()Landroid/content/res/Resources;
+HPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences;
HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
HSPLandroid/content/ContextWrapper;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/ContextWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
@@ -3454,9 +3620,10 @@
HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V
HSPLandroid/content/ContextWrapper;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
HSPLandroid/content/ContextWrapper;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V
-PLandroid/content/ContextWrapper;->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
+HPLandroid/content/ContextWrapper;->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
HSPLandroid/content/ContextWrapper;->sendStickyBroadcast(Landroid/content/Intent;)V
HSPLandroid/content/ContextWrapper;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
+HSPLandroid/content/ContextWrapper;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
HSPLandroid/content/ContextWrapper;->setAutofillOptions(Landroid/content/AutofillOptions;)V
HSPLandroid/content/ContextWrapper;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V
HSPLandroid/content/ContextWrapper;->setTheme(I)V
@@ -3469,11 +3636,12 @@
HSPLandroid/content/IClipboard$Stub$Proxy;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
HSPLandroid/content/IClipboard$Stub;-><init>()V
HPLandroid/content/IClipboard$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/content/IContentService$Stub$Proxy;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
HSPLandroid/content/IContentService$Stub$Proxy;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
HSPLandroid/content/IContentService$Stub$Proxy;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
HSPLandroid/content/IContentService$Stub$Proxy;->unregisterContentObserver(Landroid/database/IContentObserver;)V
HSPLandroid/content/IContentService$Stub;-><init>()V
-PLandroid/content/IContentService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/content/IContentService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/content/IContentService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/content/IIntentReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/content/IIntentReceiver$Stub$Proxy;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
@@ -3493,15 +3661,15 @@
PLandroid/content/ISyncAdapter$Stub$Proxy;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
HPLandroid/content/ISyncAdapter$Stub$Proxy;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
HPLandroid/content/ISyncAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapter;
-PLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;-><init>()V
-PLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;-><init>()V
+HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HPLandroid/content/ISyncContext$Stub;-><init>()V
HPLandroid/content/ISyncContext$Stub;->asBinder()Landroid/os/IBinder;
HPLandroid/content/ISyncContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/content/ISyncStatusObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLandroid/content/ISyncStatusObserver$Stub$Proxy;->onStatusChanged(I)V
-PLandroid/content/ISyncStatusObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncStatusObserver;
+HPLandroid/content/ISyncStatusObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncStatusObserver;
HSPLandroid/content/Intent$1;-><init>()V
HSPLandroid/content/Intent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/Intent;
HSPLandroid/content/Intent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -3545,6 +3713,7 @@
HSPLandroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
HSPLandroid/content/Intent;->getPackage()Ljava/lang/String;
HSPLandroid/content/Intent;->getParcelableArrayExtra(Ljava/lang/String;)[Landroid/os/Parcelable;
+HSPLandroid/content/Intent;->getParcelableArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;
HSPLandroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;
HSPLandroid/content/Intent;->getScheme()Ljava/lang/String;
HSPLandroid/content/Intent;->getSelector()Landroid/content/Intent;
@@ -3586,7 +3755,7 @@
HSPLandroid/content/Intent;->putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;
HSPLandroid/content/Intent;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/content/Intent;->removeExtra(Ljava/lang/String;)V
-PLandroid/content/Intent;->removeFlags(I)V
+HPLandroid/content/Intent;->removeFlags(I)V
HSPLandroid/content/Intent;->replaceExtras(Landroid/content/Intent;)Landroid/content/Intent;
HSPLandroid/content/Intent;->replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent;
HSPLandroid/content/Intent;->resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;
@@ -3608,6 +3777,7 @@
HSPLandroid/content/Intent;->setFlags(I)Landroid/content/Intent;
HSPLandroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
HSPLandroid/content/Intent;->setSourceBounds(Landroid/graphics/Rect;)V
+HSPLandroid/content/Intent;->setType(Ljava/lang/String;)Landroid/content/Intent;
HSPLandroid/content/Intent;->toInsecureString()Ljava/lang/String;
HSPLandroid/content/Intent;->toShortString(Ljava/lang/StringBuilder;ZZZZ)V
HSPLandroid/content/Intent;->toShortString(ZZZZ)Ljava/lang/String;
@@ -3651,7 +3821,7 @@
HSPLandroid/content/IntentFilter;->getDataAuthority(I)Landroid/content/IntentFilter$AuthorityEntry;
HSPLandroid/content/IntentFilter;->getDataPath(I)Landroid/os/PatternMatcher;
HSPLandroid/content/IntentFilter;->getDataScheme(I)Ljava/lang/String;
-PLandroid/content/IntentFilter;->getDataSchemeSpecificPart(I)Landroid/os/PatternMatcher;
+HPLandroid/content/IntentFilter;->getDataSchemeSpecificPart(I)Landroid/os/PatternMatcher;
HSPLandroid/content/IntentFilter;->getHostsList()Ljava/util/ArrayList;
HSPLandroid/content/IntentFilter;->getPriority()I
HSPLandroid/content/IntentFilter;->handleAllWebDataURI()Z
@@ -3662,16 +3832,17 @@
HSPLandroid/content/IntentFilter;->hasDataPath(Landroid/os/PatternMatcher;)Z
HPLandroid/content/IntentFilter;->hasDataPath(Ljava/lang/String;)Z
HSPLandroid/content/IntentFilter;->hasDataScheme(Ljava/lang/String;)Z
-PLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Landroid/os/PatternMatcher;)Z
+HPLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Landroid/os/PatternMatcher;)Z
HSPLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Ljava/lang/String;)Z
HSPLandroid/content/IntentFilter;->match(Landroid/content/ContentResolver;Landroid/content/Intent;ZLjava/lang/String;)I
HSPLandroid/content/IntentFilter;->match(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/util/Set;Ljava/lang/String;)I
HSPLandroid/content/IntentFilter;->matchCategories(Ljava/util/Set;)Ljava/lang/String;
HSPLandroid/content/IntentFilter;->matchData(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)I
HSPLandroid/content/IntentFilter;->matchDataAuthority(Landroid/net/Uri;)I
-PLandroid/content/IntentFilter;->needsVerification()Z
+HPLandroid/content/IntentFilter;->needsVerification()Z
HSPLandroid/content/IntentFilter;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLandroid/content/IntentFilter;->schemesIterator()Ljava/util/Iterator;
+HSPLandroid/content/IntentFilter;->setPriority(I)V
HSPLandroid/content/IntentFilter;->setVisibilityToInstantApp(I)V
HSPLandroid/content/IntentFilter;->typesIterator()Ljava/util/Iterator;
HSPLandroid/content/IntentFilter;->writeToParcel(Landroid/os/Parcel;I)V
@@ -3680,8 +3851,15 @@
HSPLandroid/content/IntentSender$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/IntentSender;
HSPLandroid/content/IntentSender$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HPLandroid/content/IntentSender;-><init>(Landroid/os/IBinder;)V
-PLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V
+HPLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V
HPLandroid/content/IntentSender;->sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V
+HSPLandroid/content/Loader;->cancelLoad()Z
+HSPLandroid/content/Loader;->commitContentChanged()V
+HSPLandroid/content/Loader;->forceLoad()V
+HSPLandroid/content/Loader;->getContext()Landroid/content/Context;
+HSPLandroid/content/Loader;->isAbandoned()Z
+HSPLandroid/content/Loader;->registerListener(ILandroid/content/Loader$OnLoadCompleteListener;)V
+HSPLandroid/content/Loader;->reset()V
HSPLandroid/content/PeriodicSync$1;-><init>()V
PLandroid/content/PeriodicSync;-><init>(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;JJ)V
PLandroid/content/PeriodicSync;->writeToParcel(Landroid/os/Parcel;I)V
@@ -3699,7 +3877,7 @@
HSPLandroid/content/SyncAdapterType;->equals(Ljava/lang/Object;)Z
HSPLandroid/content/SyncAdapterType;->hashCode()I
HPLandroid/content/SyncAdapterType;->isAlwaysSyncable()Z
-PLandroid/content/SyncAdapterType;->isUserVisible()Z
+HPLandroid/content/SyncAdapterType;->isUserVisible()Z
HSPLandroid/content/SyncAdapterType;->newKey(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SyncAdapterType;
HPLandroid/content/SyncAdapterType;->supportsUploading()Z
HPLandroid/content/SyncAdapterType;->writeToParcel(Landroid/os/Parcel;I)V
@@ -3713,7 +3891,7 @@
HSPLandroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
PLandroid/content/SyncInfo$1;-><init>()V
HSPLandroid/content/SyncRequest$1;-><init>()V
-PLandroid/content/SyncRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncRequest;
+HPLandroid/content/SyncRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncRequest;
HPLandroid/content/SyncRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HPLandroid/content/SyncRequest;-><init>(Landroid/os/Parcel;)V
HPLandroid/content/SyncRequest;->getAccount()Landroid/accounts/Account;
@@ -3723,37 +3901,40 @@
HPLandroid/content/SyncRequest;->getSyncRunTime()J
HPLandroid/content/SyncRequest;->isPeriodic()Z
HSPLandroid/content/SyncResult$1;-><init>()V
-PLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncResult;
-PLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncResult;
+HPLandroid/content/SyncResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HPLandroid/content/SyncResult;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/SyncResult;-><init>(Z)V
HSPLandroid/content/SyncResult;->hasError()Z
HSPLandroid/content/SyncResult;->hasHardError()Z
HSPLandroid/content/SyncResult;->hasSoftError()Z
-PLandroid/content/SyncResult;->madeSomeProgress()Z
+HPLandroid/content/SyncResult;->madeSomeProgress()Z
HSPLandroid/content/SyncResult;->toString()Ljava/lang/String;
HSPLandroid/content/SyncStats$1;-><init>()V
HPLandroid/content/SyncStats;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/SyncStats;->toString()Ljava/lang/String;
HSPLandroid/content/SyncStatusInfo$1;-><init>()V
-PLandroid/content/SyncStatusInfo$Stats;->clear()V
-PLandroid/content/SyncStatusInfo$Stats;->copyTo(Landroid/content/SyncStatusInfo$Stats;)V
+HPLandroid/content/SyncStatusInfo$Stats;->clear()V
+HPLandroid/content/SyncStatusInfo$Stats;->copyTo(Landroid/content/SyncStatusInfo$Stats;)V
HSPLandroid/content/SyncStatusInfo$Stats;->readFromParcel(Landroid/os/Parcel;)V
HPLandroid/content/SyncStatusInfo$Stats;->writeToParcel(Landroid/os/Parcel;)V
+HPLandroid/content/SyncStatusInfo;-><init>(I)V
HSPLandroid/content/SyncStatusInfo;-><init>(Landroid/os/Parcel;)V
HPLandroid/content/SyncStatusInfo;->addEvent(Ljava/lang/String;)V
HPLandroid/content/SyncStatusInfo;->areSameDates(JJ)Z
HPLandroid/content/SyncStatusInfo;->maybeResetTodayStats(ZZ)V
-PLandroid/content/SyncStatusInfo;->setLastFailure(IJLjava/lang/String;)V
+HPLandroid/content/SyncStatusInfo;->setLastFailure(IJLjava/lang/String;)V
HPLandroid/content/SyncStatusInfo;->setLastSuccess(IJ)V
HPLandroid/content/SyncStatusInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/UndoManager$UndoState;->addOperation(Landroid/content/UndoOperation;)V
HSPLandroid/content/UndoManager$UndoState;->destroy()V
HSPLandroid/content/UndoManager$UndoState;->getLastOperation(Ljava/lang/Class;Landroid/content/UndoOwner;)Landroid/content/UndoOperation;
HSPLandroid/content/UndoManager$UndoState;->hasMultipleOwners()Z
+HSPLandroid/content/UndoManager$UndoState;->hasOperation(Landroid/content/UndoOwner;)Z
HSPLandroid/content/UndoManager;-><init>()V
HSPLandroid/content/UndoManager;->addOperation(Landroid/content/UndoOperation;I)V
HSPLandroid/content/UndoManager;->beginUpdate(Ljava/lang/CharSequence;)V
+HSPLandroid/content/UndoManager;->commitState(Landroid/content/UndoOwner;)I
HSPLandroid/content/UndoManager;->endUpdate()V
HSPLandroid/content/UndoManager;->findPrevState(Ljava/util/ArrayList;[Landroid/content/UndoOwner;I)I
HSPLandroid/content/UndoManager;->forgetRedos([Landroid/content/UndoOwner;I)I
@@ -3762,11 +3943,14 @@
HSPLandroid/content/UndoManager;->getOwner(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/UndoOwner;
HSPLandroid/content/UndoManager;->getTopUndo([Landroid/content/UndoOwner;)Landroid/content/UndoManager$UndoState;
HSPLandroid/content/UndoManager;->isInUndo()Z
+HSPLandroid/content/UndoManager;->matchOwners(Landroid/content/UndoManager$UndoState;[Landroid/content/UndoOwner;)Z
HSPLandroid/content/UndoManager;->pushWorkingState()V
+HSPLandroid/content/UndoManager;->removeOwner(Landroid/content/UndoOwner;)V
HSPLandroid/content/UndoManager;->saveInstanceState(Landroid/os/Parcel;)V
HSPLandroid/content/UndoOperation;->allowMerge()Z
HSPLandroid/content/UndoOperation;->getOwner()Landroid/content/UndoOwner;
HSPLandroid/content/UndoOperation;->hasData()Z
+HSPLandroid/content/UndoOperation;->matchOwner(Landroid/content/UndoOwner;)Z
HSPLandroid/content/UriMatcher;-><init>(I)V
HSPLandroid/content/UriMatcher;->addURI(Ljava/lang/String;Ljava/lang/String;I)V
HSPLandroid/content/UriMatcher;->createChild(Ljava/lang/String;)Landroid/content/UriMatcher;
@@ -3823,7 +4007,7 @@
HSPLandroid/content/pm/ApplicationInfo;->hasRtlSupport()Z
HSPLandroid/content/pm/ApplicationInfo;->initForUser(I)V
HSPLandroid/content/pm/ApplicationInfo;->isAllowedToUseHiddenApis()Z
-PLandroid/content/pm/ApplicationInfo;->isAudioPlaybackCaptureAllowed()Z
+HPLandroid/content/pm/ApplicationInfo;->isAudioPlaybackCaptureAllowed()Z
HSPLandroid/content/pm/ApplicationInfo;->isDirectBootAware()Z
HSPLandroid/content/pm/ApplicationInfo;->isEmbeddedDexUsed()Z
HSPLandroid/content/pm/ApplicationInfo;->isEncryptionAware()Z
@@ -3885,9 +4069,9 @@
HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/FeatureInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/ICrossProfileApps$Stub;-><init>()V
-PLandroid/content/pm/ICrossProfileApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/pm/ICrossProfileApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/content/pm/ILauncherApps$Stub;-><init>()V
-PLandroid/content/pm/ILauncherApps$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/content/pm/ILauncherApps$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/content/pm/ILauncherApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
PLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -3899,10 +4083,10 @@
HSPLandroid/content/pm/IOnPermissionsChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOnPermissionsChangeListener;
HSPLandroid/content/pm/IOtaDexopt$Stub;-><init>()V
PLandroid/content/pm/IPackageDataObserver$Stub$Proxy;->onRemoveCompleted(Ljava/lang/String;Z)V
-PLandroid/content/pm/IPackageDataObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageDataObserver;
+HPLandroid/content/pm/IPackageDataObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageDataObserver;
PLandroid/content/pm/IPackageInstallObserver2$Stub;-><init>()V
HSPLandroid/content/pm/IPackageInstaller$Stub;-><init>()V
-PLandroid/content/pm/IPackageInstaller$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/pm/IPackageInstaller$Stub;->asBinder()Landroid/os/IBinder;
HPLandroid/content/pm/IPackageInstaller$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
PLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionActiveChanged(IZ)V
@@ -3922,6 +4106,7 @@
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledModules(I)Ljava/util/List;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getNameForUid(I)Ljava/lang/String;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageUid(Ljava/lang/String;II)I
@@ -3953,7 +4138,7 @@
HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setSystemAppHiddenUntilInstalled(Ljava/lang/String;Z)V
HSPLandroid/content/pm/IPackageManager$Stub;-><init>()V
HSPLandroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
-PLandroid/content/pm/IPackageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/content/pm/IPackageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/content/pm/IPackageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/content/pm/IPackageManagerNative$Stub;-><init>()V
HSPLandroid/content/pm/IPackageManagerNative$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -3991,9 +4176,12 @@
HSPLandroid/content/pm/IntentFilterVerificationInfo;->getStringFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/content/pm/IntentFilterVerificationInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLandroid/content/pm/IntentFilterVerificationInfo;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLandroid/content/pm/LauncherApps;-><init>(Landroid/content/Context;Landroid/content/pm/ILauncherApps;)V
HSPLandroid/content/pm/ModuleInfo$1;-><init>()V
HSPLandroid/content/pm/ModuleInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ModuleInfo;
HSPLandroid/content/pm/ModuleInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/ModuleInfo;->getPackageName()Ljava/lang/String;
+HSPLandroid/content/pm/ModuleInfo;->isHidden()Z
HPLandroid/content/pm/ModuleInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/OrgApacheHttpLegacyUpdater;-><init>()V
HSPLandroid/content/pm/OrgApacheHttpLegacyUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
@@ -4016,19 +4204,21 @@
HSPLandroid/content/pm/PackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
PLandroid/content/pm/PackageInfoLite$1;-><init>()V
PLandroid/content/pm/PackageInfoLite;->getLongVersionCode()J
-PLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionActiveChanged(IZ)V
-PLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionCreated(I)V
-PLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionFinished(IZ)V
+HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionActiveChanged(IZ)V
+HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionCreated(I)V
+HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionFinished(IZ)V
HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->onSessionProgressChanged(IF)V
HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;-><init>()V
-PLandroid/content/pm/PackageInstaller$SessionInfo;-><init>()V
+HPLandroid/content/pm/PackageInstaller$SessionInfo;-><init>()V
+HPLandroid/content/pm/PackageInstaller$SessionInfo;->describeContents()I
HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallerPackageName()Ljava/lang/String;
HPLandroid/content/pm/PackageInstaller$SessionInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/PackageInstaller$SessionParams$1;-><init>()V
-PLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionParams;
-PLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/content/pm/PackageInstaller$SessionParams;-><init>(Landroid/os/Parcel;)V
+HPLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionParams;
+HPLandroid/content/pm/PackageInstaller$SessionParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/content/pm/PackageInstaller$SessionParams;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PackageInstaller$SessionParams;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
+HSPLandroid/content/pm/PackageInstaller;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V
HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/content/pm/PackageItemInfo;)V
HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/os/Parcel;)V
@@ -4040,9 +4230,9 @@
HSPLandroid/content/pm/PackageItemInfo;->loadXmlMetaData(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/pm/PackageItemInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/PackageList;->getPackageNames()Ljava/util/List;
-PLandroid/content/pm/PackageManager;->installStatusToPublicStatus(I)I
-PLandroid/content/pm/PackageManager;->installStatusToString(I)Ljava/lang/String;
-PLandroid/content/pm/PackageManager;->installStatusToString(ILjava/lang/String;)Ljava/lang/String;
+HPLandroid/content/pm/PackageManager;->installStatusToPublicStatus(I)I
+HPLandroid/content/pm/PackageManager;->installStatusToString(I)Ljava/lang/String;
+HPLandroid/content/pm/PackageManager;->installStatusToString(ILjava/lang/String;)Ljava/lang/String;
HSPLandroid/content/pm/PackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
HSPLandroid/content/pm/PackageParser$Activity$1;-><init>()V
HSPLandroid/content/pm/PackageParser$Activity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Activity;
@@ -4054,6 +4244,7 @@
HSPLandroid/content/pm/PackageParser$Activity;->setMinAspectRatio(F)V
HSPLandroid/content/pm/PackageParser$Activity;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/PackageParser$ActivityIntentInfo;-><init>(Landroid/content/pm/PackageParser$Activity;)V
+HSPLandroid/content/pm/PackageParser$ActivityIntentInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PackageParser$ApkLite;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;ZIIIILjava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZZZZZZII)V
HSPLandroid/content/pm/PackageParser$ApkLite;->getLongVersionCode()J
HSPLandroid/content/pm/PackageParser$CachedComponentArgs;-><init>()V
@@ -4076,7 +4267,7 @@
HPLandroid/content/pm/PackageParser$Package;->canHaveOatDir()Z
HSPLandroid/content/pm/PackageParser$Package;->fixupOwner(Ljava/util/List;)V
HSPLandroid/content/pm/PackageParser$Package;->getAllCodePaths()Ljava/util/List;
-PLandroid/content/pm/PackageParser$Package;->getAllCodePathsExcludingResourceOnly()Ljava/util/List;
+HPLandroid/content/pm/PackageParser$Package;->getAllCodePathsExcludingResourceOnly()Ljava/util/List;
HSPLandroid/content/pm/PackageParser$Package;->getChildPackageNames()Ljava/util/List;
HPLandroid/content/pm/PackageParser$Package;->getLatestForegroundPackageUseTimeInMills()J
HSPLandroid/content/pm/PackageParser$Package;->getLatestPackageUseTimeInMills()J
@@ -4095,7 +4286,7 @@
HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoBaseCodePath(Ljava/lang/String;)V
HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoBaseResourcePath(Ljava/lang/String;)V
HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoCodePath(Ljava/lang/String;)V
-PLandroid/content/pm/PackageParser$Package;->setApplicationInfoFlags(II)V
+HPLandroid/content/pm/PackageParser$Package;->setApplicationInfoFlags(II)V
HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoResourcePath(Ljava/lang/String;)V
HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoSplitCodePaths([Ljava/lang/String;)V
HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoSplitResourcePaths([Ljava/lang/String;)V
@@ -4114,12 +4305,18 @@
HSPLandroid/content/pm/PackageParser$Permission$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Permission;
HSPLandroid/content/pm/PackageParser$Permission$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/PackageParser$Permission;-><init>(Landroid/os/Parcel;)V
-PLandroid/content/pm/PackageParser$Permission;->isAppOp()Z
+HPLandroid/content/pm/PackageParser$Permission;->isAppOp()Z
HSPLandroid/content/pm/PackageParser$Permission;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/PackageParser$PermissionGroup$1;-><init>()V
+HSPLandroid/content/pm/PackageParser$PermissionGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$PermissionGroup;
+HSPLandroid/content/pm/PackageParser$PermissionGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/PackageParser$PermissionGroup;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/PackageParser$Provider$1;-><init>()V
+HSPLandroid/content/pm/PackageParser$Provider$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Provider;
+HSPLandroid/content/pm/PackageParser$Provider$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/PackageParser$Provider;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PackageParser$Provider;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/PackageParser$ProviderIntentInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PackageParser$Service$1;-><init>()V
HSPLandroid/content/pm/PackageParser$Service$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Service;
HSPLandroid/content/pm/PackageParser$Service$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -4166,7 +4363,7 @@
HSPLandroid/content/pm/PackageParser;->generateAppDetailsHiddenActivity(Landroid/content/pm/PackageParser$Package;I[Ljava/lang/String;Z)Landroid/content/pm/PackageParser$Activity;
HSPLandroid/content/pm/PackageParser;->generateApplicationInfo(Landroid/content/pm/PackageParser$Package;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo;
HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;I)Landroid/content/pm/PackageInfo;
-PLandroid/content/pm/PackageParser;->generatePackageInfoFromApex(Ljava/io/File;Z)Landroid/content/pm/PackageInfo;
+HPLandroid/content/pm/PackageParser;->generatePackageInfoFromApex(Ljava/io/File;Z)Landroid/content/pm/PackageInfo;
HSPLandroid/content/pm/PackageParser;->generatePermissionGroupInfo(Landroid/content/pm/PackageParser$PermissionGroup;I)Landroid/content/pm/PermissionGroupInfo;
HSPLandroid/content/pm/PackageParser;->generatePermissionInfo(Landroid/content/pm/PackageParser$Permission;I)Landroid/content/pm/PermissionInfo;
HSPLandroid/content/pm/PackageParser;->generateProviderInfo(Landroid/content/pm/PackageParser$Provider;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ProviderInfo;
@@ -4274,7 +4471,7 @@
HSPLandroid/content/pm/PermissionInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/PermissionInfo;->getProtection()I
HSPLandroid/content/pm/PermissionInfo;->getProtectionFlags()I
-PLandroid/content/pm/PermissionInfo;->isAppOp()Z
+HPLandroid/content/pm/PermissionInfo;->isAppOp()Z
HSPLandroid/content/pm/PermissionInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/ProviderInfo$1;-><init>()V
HSPLandroid/content/pm/ProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ProviderInfo;
@@ -4310,6 +4507,7 @@
HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/content/pm/ResolveInfo;)V
HSPLandroid/content/pm/ResolveInfo;-><init>(Landroid/os/Parcel;)V
HSPLandroid/content/pm/ResolveInfo;->getComponentInfo()Landroid/content/pm/ComponentInfo;
+HSPLandroid/content/pm/ResolveInfo;->getIconResource()I
HSPLandroid/content/pm/ResolveInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
HSPLandroid/content/pm/ResolveInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
HSPLandroid/content/pm/ResolveInfo;->toString()Ljava/lang/String;
@@ -4341,6 +4539,7 @@
HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/ShortcutInfo$Builder;-><init>(Landroid/content/Context;Ljava/lang/String;)V
HSPLandroid/content/pm/ShortcutInfo$Builder;->build()Landroid/content/pm/ShortcutInfo;
+HSPLandroid/content/pm/ShortcutInfo$Builder;->setActivity(Landroid/content/ComponentName;)Landroid/content/pm/ShortcutInfo$Builder;
HSPLandroid/content/pm/ShortcutInfo$Builder;->setIcon(Landroid/graphics/drawable/Icon;)Landroid/content/pm/ShortcutInfo$Builder;
HSPLandroid/content/pm/ShortcutInfo$Builder;->setIntent(Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;
HSPLandroid/content/pm/ShortcutInfo$Builder;->setIntents([Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;
@@ -4353,7 +4552,7 @@
HSPLandroid/content/pm/ShortcutInfo;->cloneCategories(Ljava/util/Set;)Landroid/util/ArraySet;
HSPLandroid/content/pm/ShortcutInfo;->cloneIntents([Landroid/content/Intent;)[Landroid/content/Intent;
HSPLandroid/content/pm/ShortcutInfo;->clonePersons([Landroid/app/Person;)[Landroid/app/Person;
-PLandroid/content/pm/ShortcutInfo;->copyNonNullFieldsFrom(Landroid/content/pm/ShortcutInfo;)V
+HPLandroid/content/pm/ShortcutInfo;->copyNonNullFieldsFrom(Landroid/content/pm/ShortcutInfo;)V
HPLandroid/content/pm/ShortcutInfo;->enforceMandatoryFields(Z)V
HPLandroid/content/pm/ShortcutInfo;->ensureUpdatableWith(Landroid/content/pm/ShortcutInfo;Z)V
HSPLandroid/content/pm/ShortcutInfo;->fixUpIntentExtras()V
@@ -4362,11 +4561,11 @@
HSPLandroid/content/pm/ShortcutInfo;->getResourceString(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
HPLandroid/content/pm/ShortcutInfo;->isDynamicVisible()Z
HPLandroid/content/pm/ShortcutInfo;->isManifestVisible()Z
-PLandroid/content/pm/ShortcutInfo;->isPinnedVisible()Z
+HPLandroid/content/pm/ShortcutInfo;->isPinnedVisible()Z
HPLandroid/content/pm/ShortcutInfo;->isVisibleToPublisher()Z
-PLandroid/content/pm/ShortcutInfo;->lookUpResourceId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+HPLandroid/content/pm/ShortcutInfo;->lookUpResourceId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/content/pm/ShortcutInfo;->lookUpResourceName(Landroid/content/res/Resources;IZLjava/lang/String;)Ljava/lang/String;
-PLandroid/content/pm/ShortcutInfo;->lookupAndFillInResourceIds(Landroid/content/res/Resources;)V
+HPLandroid/content/pm/ShortcutInfo;->lookupAndFillInResourceIds(Landroid/content/res/Resources;)V
HSPLandroid/content/pm/ShortcutInfo;->lookupAndFillInResourceNames(Landroid/content/res/Resources;)V
HSPLandroid/content/pm/ShortcutInfo;->resolveResourceStrings(Landroid/content/res/Resources;)V
HSPLandroid/content/pm/ShortcutInfo;->setCategories(Ljava/util/Set;)V
@@ -4374,6 +4573,7 @@
HSPLandroid/content/pm/ShortcutInfo;->setIntents([Landroid/content/Intent;)V
HSPLandroid/content/pm/ShortcutInfo;->validateIcon(Landroid/graphics/drawable/Icon;)Landroid/graphics/drawable/Icon;
HSPLandroid/content/pm/ShortcutInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/ShortcutManager;->disableShortcuts(Ljava/util/List;)V
HSPLandroid/content/pm/ShortcutManager;->getDynamicShortcuts()Ljava/util/List;
HSPLandroid/content/pm/ShortcutManager;->injectMyUserId()I
HSPLandroid/content/pm/ShortcutManager;->setDynamicShortcuts(Ljava/util/List;)Z
@@ -4407,7 +4607,7 @@
HSPLandroid/content/pm/UserInfo;-><init>(ILjava/lang/String;Ljava/lang/String;I)V
HSPLandroid/content/pm/UserInfo;-><init>(Landroid/content/pm/UserInfo;)V
HSPLandroid/content/pm/UserInfo;-><init>(Landroid/os/Parcel;)V
-PLandroid/content/pm/UserInfo;->canHaveProfile()Z
+HPLandroid/content/pm/UserInfo;->canHaveProfile()Z
HSPLandroid/content/pm/UserInfo;->getUserHandle()Landroid/os/UserHandle;
HSPLandroid/content/pm/UserInfo;->isAdmin()Z
HSPLandroid/content/pm/UserInfo;->isDemo()Z
@@ -4430,7 +4630,7 @@
HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/content/pm/VersionedPackage;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/content/pm/dex/ArtManager;->getProfileName(Ljava/lang/String;)Ljava/lang/String;
-PLandroid/content/pm/dex/ArtManager;->getProfileSnapshotFileForName(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
+HPLandroid/content/pm/dex/ArtManager;->getProfileSnapshotFileForName(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForApk(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForFile(Ljava/io/File;)Ljava/lang/String;
PLandroid/content/pm/dex/DexMetadataHelper;->buildPackageApkToDexMetadataMap(Ljava/util/List;)Ljava/util/Map;
@@ -4440,8 +4640,8 @@
PLandroid/content/pm/dex/DexMetadataHelper;->validateDexMetadataFile(Ljava/lang/String;)V
PLandroid/content/pm/dex/DexMetadataHelper;->validatePackageDexMetadata(Landroid/content/pm/PackageParser$Package;)V
HSPLandroid/content/pm/dex/IArtManager$Stub;-><init>()V
-PLandroid/content/pm/dex/IArtManager$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/content/pm/dex/IArtManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/pm/dex/IArtManager$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/pm/dex/IArtManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onError(I)V
PLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
HSPLandroid/content/pm/dex/PackageOptimizationInfo;->getCompilationFilter()I
@@ -4581,11 +4781,11 @@
HSPLandroid/content/res/Configuration;->getLayoutDirection()I
HSPLandroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
HSPLandroid/content/res/Configuration;->hashCode()I
-PLandroid/content/res/Configuration;->localesToResourceQualifier(Landroid/os/LocaleList;)Ljava/lang/String;
+HPLandroid/content/res/Configuration;->localesToResourceQualifier(Landroid/os/LocaleList;)Ljava/lang/String;
HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/content/res/Configuration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
HSPLandroid/content/res/Configuration;->reduceScreenLayout(III)I
-PLandroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;)Ljava/lang/String;
+HPLandroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;)Ljava/lang/String;
HPLandroid/content/res/Configuration;->resourceQualifierString(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)Ljava/lang/String;
HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V
HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V
@@ -4658,6 +4858,7 @@
HSPLandroid/content/res/Resources;->getIntArray(I)[I
HSPLandroid/content/res/Resources;->getInteger(I)I
HSPLandroid/content/res/Resources;->getLayout(I)Landroid/content/res/XmlResourceParser;
+HSPLandroid/content/res/Resources;->getQuantityString(II)Ljava/lang/String;
HSPLandroid/content/res/Resources;->getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String;
HSPLandroid/content/res/Resources;->getQuantityText(II)Ljava/lang/CharSequence;
HSPLandroid/content/res/Resources;->getResourceEntryName(I)Ljava/lang/String;
@@ -4671,7 +4872,7 @@
HSPLandroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
HSPLandroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
HSPLandroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
-PLandroid/content/res/Resources;->getText(ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
+HPLandroid/content/res/Resources;->getText(ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
HSPLandroid/content/res/Resources;->getTextArray(I)[Ljava/lang/CharSequence;
HSPLandroid/content/res/Resources;->getValue(ILandroid/util/TypedValue;Z)V
HSPLandroid/content/res/Resources;->getValueForDensity(IILandroid/util/TypedValue;Z)V
@@ -4834,7 +5035,7 @@
HSPLandroid/content/res/XmlBlock;->finalize()V
HSPLandroid/content/res/XmlBlock;->newParser(I)Landroid/content/res/XmlResourceParser;
HSPLandroid/content/rollback/IRollbackManager$Stub;-><init>()V
-PLandroid/content/rollback/IRollbackManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/rollback/IRollbackManager;
+HPLandroid/content/rollback/IRollbackManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/rollback/IRollbackManager;
HSPLandroid/database/AbstractCursor$SelfContentObserver;->onChange(Z)V
HSPLandroid/database/AbstractCursor;->close()V
HSPLandroid/database/AbstractCursor;->fillWindow(ILandroid/database/CursorWindow;)V
@@ -4853,10 +5054,12 @@
HSPLandroid/database/AbstractCursor;->moveToFirst()Z
HSPLandroid/database/AbstractCursor;->moveToNext()Z
HSPLandroid/database/AbstractCursor;->moveToPosition(I)Z
+HSPLandroid/database/AbstractCursor;->moveToPrevious()Z
HSPLandroid/database/AbstractCursor;->onChange(Z)V
HSPLandroid/database/AbstractCursor;->onDeactivateOrClose()V
HSPLandroid/database/AbstractCursor;->onMove(II)Z
HSPLandroid/database/AbstractCursor;->registerContentObserver(Landroid/database/ContentObserver;)V
+HSPLandroid/database/AbstractCursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
HSPLandroid/database/AbstractCursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;)V
HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;I)V
@@ -4916,6 +5119,7 @@
HSPLandroid/database/CursorWindow;->clear()V
HSPLandroid/database/CursorWindow;->finalize()V
HSPLandroid/database/CursorWindow;->getBlob(II)[B
+HSPLandroid/database/CursorWindow;->getCursorWindowSize()I
HSPLandroid/database/CursorWindow;->getDouble(II)D
HSPLandroid/database/CursorWindow;->getInt(II)I
HSPLandroid/database/CursorWindow;->getLong(II)J
@@ -4939,6 +5143,7 @@
HSPLandroid/database/CursorWrapper;->getColumnIndex(Ljava/lang/String;)I
HSPLandroid/database/CursorWrapper;->getColumnIndexOrThrow(Ljava/lang/String;)I
HSPLandroid/database/CursorWrapper;->getColumnName(I)Ljava/lang/String;
+HSPLandroid/database/CursorWrapper;->getColumnNames()[Ljava/lang/String;
HSPLandroid/database/CursorWrapper;->getCount()I
HSPLandroid/database/CursorWrapper;->getInt(I)I
HSPLandroid/database/CursorWrapper;->getLong(I)J
@@ -4957,11 +5162,13 @@
HSPLandroid/database/DataSetObservable;->notifyChanged()V
HSPLandroid/database/DataSetObservable;->notifyInvalidated()V
HSPLandroid/database/DataSetObserver;-><init>()V
+HSPLandroid/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V
HSPLandroid/database/DatabaseUtils;->cursorFillWindow(Landroid/database/Cursor;ILandroid/database/CursorWindow;)V
HSPLandroid/database/DatabaseUtils;->getSqlStatementType(Ljava/lang/String;)I
HSPLandroid/database/DatabaseUtils;->getTypeOfObject(Ljava/lang/Object;)I
HSPLandroid/database/DatabaseUtils;->longForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J
HSPLandroid/database/DatabaseUtils;->readExceptionWithFileNotFoundExceptionFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/database/DatabaseUtils;->sqlEscapeString(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/database/DefaultDatabaseErrorHandler;-><init>()V
HSPLandroid/database/IContentObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/database/IContentObserver$Stub$Proxy;->onChange(ZLandroid/net/Uri;I)V
@@ -4980,6 +5187,7 @@
HSPLandroid/database/MatrixCursor;->getLong(I)J
HSPLandroid/database/MatrixCursor;->getString(I)Ljava/lang/String;
HSPLandroid/database/MatrixCursor;->getType(I)I
+HSPLandroid/database/MatrixCursor;->newRow()Landroid/database/MatrixCursor$RowBuilder;
HSPLandroid/database/Observable;-><init>()V
HSPLandroid/database/Observable;->registerObserver(Ljava/lang/Object;)V
HSPLandroid/database/Observable;->unregisterAll()V
@@ -5095,6 +5303,7 @@
HSPLandroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
HSPLandroid/database/sqlite/SQLiteDatabase;->onAllReferencesReleased()V
HSPLandroid/database/sqlite/SQLiteDatabase;->open()V
+HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;
HSPLandroid/database/sqlite/SQLiteDatabase;->openInner()V
@@ -5134,6 +5343,7 @@
HSPLandroid/database/sqlite/SQLiteOpenHelper;->setWriteAheadLoggingEnabled(Z)V
HSPLandroid/database/sqlite/SQLiteProgram;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
HSPLandroid/database/sqlite/SQLiteProgram;->bind(ILjava/lang/Object;)V
+HSPLandroid/database/sqlite/SQLiteProgram;->bindBlob(I[B)V
HSPLandroid/database/sqlite/SQLiteProgram;->bindDouble(ID)V
HSPLandroid/database/sqlite/SQLiteProgram;->bindLong(IJ)V
HSPLandroid/database/sqlite/SQLiteProgram;->bindString(ILjava/lang/String;)V
@@ -5228,6 +5438,7 @@
HSPLandroid/graphics/BaseRecordingCanvas;->drawColor(I)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawPaint(Landroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(FFFFLandroid/graphics/Paint;)V
@@ -5236,6 +5447,7 @@
HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawText([CIIFFLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
HSPLandroid/graphics/BaseRecordingCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V
HSPLandroid/graphics/Bitmap$1;-><init>()V
@@ -5254,11 +5466,12 @@
HSPLandroid/graphics/Bitmap;->checkXYSign(II)V
HSPLandroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
HSPLandroid/graphics/Bitmap;->copy(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
+HPLandroid/graphics/Bitmap;->createAshmemBitmap(Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
-PLandroid/graphics/Bitmap;->createGraphicBufferHandle()Landroid/graphics/GraphicBuffer;
+HPLandroid/graphics/Bitmap;->createGraphicBufferHandle()Landroid/graphics/GraphicBuffer;
HSPLandroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;
HSPLandroid/graphics/Bitmap;->eraseColor(I)V
HSPLandroid/graphics/Bitmap;->getAllocationByteCount()I
@@ -5266,6 +5479,7 @@
HSPLandroid/graphics/Bitmap;->getColorSpace()Landroid/graphics/ColorSpace;
HSPLandroid/graphics/Bitmap;->getConfig()Landroid/graphics/Bitmap$Config;
HSPLandroid/graphics/Bitmap;->getHeight()I
+HSPLandroid/graphics/Bitmap;->getPixel(II)I
HSPLandroid/graphics/Bitmap;->getPixels([IIIIIII)V
HSPLandroid/graphics/Bitmap;->getScaledHeight(I)I
HSPLandroid/graphics/Bitmap;->getScaledWidth(I)I
@@ -5274,8 +5488,10 @@
HSPLandroid/graphics/Bitmap;->isMutable()Z
HSPLandroid/graphics/Bitmap;->isRecycled()Z
HSPLandroid/graphics/Bitmap;->prepareToDraw()V
+HSPLandroid/graphics/Bitmap;->reconfigure(IILandroid/graphics/Bitmap$Config;)V
HSPLandroid/graphics/Bitmap;->recycle()V
HSPLandroid/graphics/Bitmap;->reinit(IIZ)V
+HSPLandroid/graphics/Bitmap;->sameAs(Landroid/graphics/Bitmap;)Z
HSPLandroid/graphics/Bitmap;->scaleFromDensity(III)I
HSPLandroid/graphics/Bitmap;->setDensity(I)V
HSPLandroid/graphics/Bitmap;->setHasAlpha(Z)V
@@ -5290,6 +5506,7 @@
HSPLandroid/graphics/BitmapFactory;->decodeResource(Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;
HSPLandroid/graphics/BitmapFactory;->decodeResource(Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/BitmapFactory;->decodeResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/BitmapFactory;->setDensityFromOptions(Landroid/graphics/Bitmap;Landroid/graphics/BitmapFactory$Options;)V
HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;II)V
@@ -5298,6 +5515,7 @@
HSPLandroid/graphics/BlendMode;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/BlendMode;->values()[Landroid/graphics/BlendMode;
HSPLandroid/graphics/BlurMaskFilter$Blur;-><init>(Ljava/lang/String;II)V
+HSPLandroid/graphics/BlurMaskFilter;-><init>(FLandroid/graphics/BlurMaskFilter$Blur;)V
HSPLandroid/graphics/Canvas$EdgeType;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Canvas;-><init>()V
HSPLandroid/graphics/Canvas;-><init>(J)V
@@ -5309,6 +5527,7 @@
HSPLandroid/graphics/Canvas;->clipRect(FFFF)Z
HSPLandroid/graphics/Canvas;->clipRect(IIII)Z
HSPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;)Z
+HSPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
HSPLandroid/graphics/Canvas;->concat(Landroid/graphics/Matrix;)V
HSPLandroid/graphics/Canvas;->drawARGB(IIII)V
HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
@@ -5345,6 +5564,8 @@
HSPLandroid/graphics/Canvas;->rotate(FFF)V
HSPLandroid/graphics/Canvas;->save()I
HSPLandroid/graphics/Canvas;->save(I)I
+HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFI)I
+HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFII)I
HSPLandroid/graphics/Canvas;->scale(FF)V
HSPLandroid/graphics/Canvas;->scale(FFFF)V
HSPLandroid/graphics/Canvas;->setBitmap(Landroid/graphics/Bitmap;)V
@@ -5354,6 +5575,7 @@
HSPLandroid/graphics/Canvas;->setScreenDensity(I)V
HSPLandroid/graphics/Canvas;->translate(FF)V
HSPLandroid/graphics/CanvasProperty;->getNativeContainer()J
+HSPLandroid/graphics/Color;->HSVToColor([F)I
HSPLandroid/graphics/Color;->alpha(I)I
HSPLandroid/graphics/Color;->alpha(J)F
HSPLandroid/graphics/Color;->argb(IIII)I
@@ -5372,6 +5594,9 @@
HSPLandroid/graphics/Color;->valueOf(I)Landroid/graphics/Color;
HSPLandroid/graphics/ColorFilter;->access$000()J
HSPLandroid/graphics/ColorFilter;->getNativeInstance()J
+HSPLandroid/graphics/ColorMatrix;-><init>()V
+HSPLandroid/graphics/ColorMatrix;-><init>([F)V
+HSPLandroid/graphics/ColorMatrix;->reset()V
HSPLandroid/graphics/ColorMatrix;->set(Landroid/graphics/ColorMatrix;)V
HSPLandroid/graphics/ColorMatrixColorFilter;-><init>(Landroid/graphics/ColorMatrix;)V
HSPLandroid/graphics/ColorMatrixColorFilter;->createNativeInstance()J
@@ -5434,7 +5659,7 @@
HPLandroid/graphics/GraphicBuffer;-><init>(IIIIJ)V
HSPLandroid/graphics/GraphicBuffer;->createFromExisting(IIIIJ)Landroid/graphics/GraphicBuffer;
HSPLandroid/graphics/GraphicBuffer;->finalize()V
-PLandroid/graphics/GraphicBuffer;->getFormat()I
+HPLandroid/graphics/GraphicBuffer;->getFormat()I
HPLandroid/graphics/GraphicBuffer;->getHeight()I
HPLandroid/graphics/GraphicBuffer;->getWidth()I
HPLandroid/graphics/GraphicBuffer;->writeToParcel(Landroid/os/Parcel;I)V
@@ -5449,7 +5674,7 @@
HSPLandroid/graphics/HardwareRenderer;-><init>()V
HSPLandroid/graphics/HardwareRenderer;->allocateBuffers()V
HSPLandroid/graphics/HardwareRenderer;->clearContent()V
-PLandroid/graphics/HardwareRenderer;->createHardwareBitmap(Landroid/graphics/RenderNode;II)Landroid/graphics/Bitmap;
+HPLandroid/graphics/HardwareRenderer;->createHardwareBitmap(Landroid/graphics/RenderNode;II)Landroid/graphics/Bitmap;
HSPLandroid/graphics/HardwareRenderer;->destroy()V
HSPLandroid/graphics/HardwareRenderer;->loadSystemProperties()Z
HSPLandroid/graphics/HardwareRenderer;->notifyFramePending()V
@@ -5489,6 +5714,7 @@
HSPLandroid/graphics/ImageDecoder;->computeDensity(Landroid/graphics/ImageDecoder$Source;)I
HSPLandroid/graphics/ImageDecoder;->createFromAsset(Landroid/content/res/AssetManager$AssetInputStream;Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
HSPLandroid/graphics/ImageDecoder;->createFromStream(Ljava/io/InputStream;ZLandroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
+HSPLandroid/graphics/ImageDecoder;->createSource(Landroid/content/res/Resources;Ljava/io/InputStream;)Landroid/graphics/ImageDecoder$Source;
HSPLandroid/graphics/ImageDecoder;->createSource(Landroid/content/res/Resources;Ljava/io/InputStream;I)Landroid/graphics/ImageDecoder$Source;
HSPLandroid/graphics/ImageDecoder;->decodeBitmap(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;
HSPLandroid/graphics/ImageDecoder;->decodeBitmapImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;
@@ -5549,6 +5775,7 @@
HSPLandroid/graphics/Matrix;->setScale(FF)V
HSPLandroid/graphics/Matrix;->setScale(FFFF)V
HSPLandroid/graphics/Matrix;->setTranslate(FF)V
+HSPLandroid/graphics/Matrix;->setValues([F)V
HSPLandroid/graphics/NinePatch$InsetStruct;-><init>(IIIIIIIIFIF)V
HSPLandroid/graphics/NinePatch$InsetStruct;->scaleInsets(IIIIF)Landroid/graphics/Rect;
HSPLandroid/graphics/NinePatch;->draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
@@ -5558,6 +5785,7 @@
HSPLandroid/graphics/NinePatch;->getHeight()I
HSPLandroid/graphics/NinePatch;->getWidth()I
HSPLandroid/graphics/Outline;-><init>()V
+HSPLandroid/graphics/Outline;->setAlpha(F)V
HSPLandroid/graphics/Outline;->setConvexPath(Landroid/graphics/Path;)V
HSPLandroid/graphics/Outline;->setEmpty()V
HSPLandroid/graphics/Outline;->setOval(IIII)V
@@ -5566,6 +5794,7 @@
HSPLandroid/graphics/Outline;->setRoundRect(Landroid/graphics/Rect;F)V
HSPLandroid/graphics/Paint$Align;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Paint$Cap;-><init>(Ljava/lang/String;II)V
+HSPLandroid/graphics/Paint$FontMetrics;-><init>()V
HSPLandroid/graphics/Paint$Join;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Paint$Style;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Paint;-><init>()V
@@ -5607,6 +5836,8 @@
HSPLandroid/graphics/Paint;->getTextScaleX()F
HSPLandroid/graphics/Paint;->getTextSize()F
HSPLandroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface;
+HSPLandroid/graphics/Paint;->getUnderlinePosition()F
+HSPLandroid/graphics/Paint;->getUnderlineThickness()F
HSPLandroid/graphics/Paint;->getXfermode()Landroid/graphics/Xfermode;
HSPLandroid/graphics/Paint;->hasGlyph(Ljava/lang/String;)Z
HSPLandroid/graphics/Paint;->isAntiAlias()Z
@@ -5631,6 +5862,7 @@
HSPLandroid/graphics/Paint;->setFilterBitmap(Z)V
HSPLandroid/graphics/Paint;->setFlags(I)V
HSPLandroid/graphics/Paint;->setLetterSpacing(F)V
+HSPLandroid/graphics/Paint;->setMaskFilter(Landroid/graphics/MaskFilter;)Landroid/graphics/MaskFilter;
HSPLandroid/graphics/Paint;->setPathEffect(Landroid/graphics/PathEffect;)Landroid/graphics/PathEffect;
HSPLandroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
HSPLandroid/graphics/Paint;->setShadowLayer(FFFI)V
@@ -5654,7 +5886,9 @@
HSPLandroid/graphics/Path$FillType;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Path;-><init>()V
HSPLandroid/graphics/Path;-><init>(Landroid/graphics/Path;)V
+HSPLandroid/graphics/Path;->addOval(FFFFLandroid/graphics/Path$Direction;)V
HSPLandroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V
+HSPLandroid/graphics/Path;->addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
HSPLandroid/graphics/Path;->addRoundRect(FFFF[FLandroid/graphics/Path$Direction;)V
HSPLandroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V
HSPLandroid/graphics/Path;->approximate(F)[F
@@ -5687,6 +5921,7 @@
HSPLandroid/graphics/Point;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/graphics/PointF$1;-><init>()V
HSPLandroid/graphics/PointF;-><init>()V
+HSPLandroid/graphics/PointF;-><init>(FF)V
HSPLandroid/graphics/PointF;->length(FF)F
HSPLandroid/graphics/PointF;->set(FF)V
HSPLandroid/graphics/PorterDuff$Mode;-><init>(Ljava/lang/String;II)V
@@ -5717,6 +5952,7 @@
HSPLandroid/graphics/Rect;->centerX()I
HSPLandroid/graphics/Rect;->centerY()I
HSPLandroid/graphics/Rect;->contains(II)Z
+HSPLandroid/graphics/Rect;->contains(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/Rect;->equals(Ljava/lang/Object;)Z
HSPLandroid/graphics/Rect;->exactCenterX()F
HSPLandroid/graphics/Rect;->exactCenterY()F
@@ -5788,7 +6024,7 @@
HSPLandroid/graphics/RenderNode;->beginRecording(II)Landroid/graphics/RecordingCanvas;
HSPLandroid/graphics/RenderNode;->create(Ljava/lang/String;Landroid/graphics/RenderNode$AnimationHost;)Landroid/graphics/RenderNode;
HSPLandroid/graphics/RenderNode;->discardDisplayList()V
-PLandroid/graphics/RenderNode;->end(Landroid/graphics/RecordingCanvas;)V
+HPLandroid/graphics/RenderNode;->end(Landroid/graphics/RecordingCanvas;)V
HSPLandroid/graphics/RenderNode;->endRecording()V
HSPLandroid/graphics/RenderNode;->getClipToOutline()Z
HSPLandroid/graphics/RenderNode;->getElevation()F
@@ -5811,6 +6047,7 @@
HSPLandroid/graphics/RenderNode;->setAlpha(F)Z
HSPLandroid/graphics/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z
HSPLandroid/graphics/RenderNode;->setBottom(I)Z
+HSPLandroid/graphics/RenderNode;->setClipRect(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/RenderNode;->setClipToBounds(Z)Z
HSPLandroid/graphics/RenderNode;->setClipToOutline(Z)Z
HSPLandroid/graphics/RenderNode;->setElevation(F)Z
@@ -5834,7 +6071,7 @@
HSPLandroid/graphics/RenderNode;->setTranslationY(F)Z
HSPLandroid/graphics/RenderNode;->setTranslationZ(F)Z
HSPLandroid/graphics/RenderNode;->setUsageHint(I)V
-PLandroid/graphics/RenderNode;->start(II)Landroid/graphics/RecordingCanvas;
+HPLandroid/graphics/RenderNode;->start(II)Landroid/graphics/RecordingCanvas;
HSPLandroid/graphics/Shader$TileMode;-><init>(Ljava/lang/String;II)V
HSPLandroid/graphics/Shader;->access$000()J
HSPLandroid/graphics/Shader;->colorSpace()Landroid/graphics/ColorSpace;
@@ -5852,6 +6089,7 @@
HSPLandroid/graphics/SurfaceTexture;->updateTexImage()V
HSPLandroid/graphics/TemporaryBuffer;->obtain(I)[C
HSPLandroid/graphics/TemporaryBuffer;->recycle([C)V
+HSPLandroid/graphics/Typeface$Builder;->build()Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface$Builder;->createAssetUid(Landroid/content/res/AssetManager;Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;IILjava/lang/String;)Ljava/lang/String;
HSPLandroid/graphics/Typeface$CustomFallbackBuilder;-><init>(Landroid/graphics/fonts/FontFamily;)V
HSPLandroid/graphics/Typeface$CustomFallbackBuilder;->build()Landroid/graphics/Typeface;
@@ -5860,6 +6098,7 @@
HSPLandroid/graphics/Typeface;->create(Ljava/lang/String;I)Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;Ljava/lang/String;II)Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;->createFromResources(Landroid/content/res/FontResourcesParser$FamilyResourceEntry;Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
+HSPLandroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
HSPLandroid/graphics/Typeface;->getStyle()I
HSPLandroid/graphics/Typeface;->getSystemDefaultTypeface(Ljava/lang/String;)Landroid/graphics/Typeface;
@@ -5877,6 +6116,7 @@
HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->invalidateCache()V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->isStateful()Z
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->canApplyTheme()Z
@@ -5886,11 +6126,13 @@
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getIntrinsicHeight()I
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getIntrinsicWidth()I
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getOpacity()I
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->inflateLayers(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->invalidateSelf()V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->isStateful()Z
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->jumpToCurrentState()V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->setVisible(ZZ)Z
HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V
@@ -5908,6 +6150,8 @@
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->mutate()V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->transitionHasReversibleFlag(II)Z
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->start()V
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->stop()V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->clearMutated()V
HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->cloneConstantState()Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;
@@ -5944,6 +6188,7 @@
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VPath;J)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->end()V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getAnimatorNativePtr()J
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getFrameCount(J)I
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->handlePendingAction(I)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->init(Landroid/animation/AnimatorSet;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isInfinite()Z
@@ -5970,7 +6215,9 @@
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->onStateChange([I)Z
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setHotspot(FF)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setVisible(ZZ)Z
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->start()V
HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->stop()V
@@ -5986,10 +6233,13 @@
HSPLandroid/graphics/drawable/AnimationDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/AnimationDrawable;->isRunning()Z
HSPLandroid/graphics/drawable/AnimationDrawable;->mutate()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/AnimationDrawable;->nextFrame(Z)V
+HSPLandroid/graphics/drawable/AnimationDrawable;->run()V
HSPLandroid/graphics/drawable/AnimationDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
HSPLandroid/graphics/drawable/AnimationDrawable;->setFrame(IZZ)V
HSPLandroid/graphics/drawable/AnimationDrawable;->setVisible(ZZ)Z
HSPLandroid/graphics/drawable/AnimationDrawable;->start()V
+HSPLandroid/graphics/drawable/AnimationDrawable;->stop()V
HSPLandroid/graphics/drawable/AnimationDrawable;->unscheduleSelf(Ljava/lang/Runnable;)V
HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;-><init>(Landroid/graphics/Bitmap;)V
HSPLandroid/graphics/drawable/BitmapDrawable$BitmapState;-><init>(Landroid/graphics/drawable/BitmapDrawable$BitmapState;)V
@@ -6056,9 +6306,16 @@
HSPLandroid/graphics/drawable/Drawable$ConstantState;-><init>()V
HSPLandroid/graphics/drawable/Drawable$ConstantState;->newDrawable(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;-><init>()V
+HSPLandroid/graphics/drawable/Drawable;->canApplyTheme()Z
+HSPLandroid/graphics/drawable/Drawable;->clearColorFilter()V
+HSPLandroid/graphics/drawable/Drawable;->copyBounds()Landroid/graphics/Rect;
HSPLandroid/graphics/drawable/Drawable;->copyBounds(Landroid/graphics/Rect;)V
+HSPLandroid/graphics/drawable/Drawable;->createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/Drawable;->createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/Drawable;->createFromStream(Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->createFromXmlForDensity(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/Drawable;->getBitmapDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect;
HSPLandroid/graphics/drawable/Drawable;->getCallback()Landroid/graphics/drawable/Drawable$Callback;
HSPLandroid/graphics/drawable/Drawable;->getChangingConfigurations()I
@@ -6102,6 +6359,7 @@
HSPLandroid/graphics/drawable/Drawable;->unscheduleSelf(Ljava/lang/Runnable;)V
HSPLandroid/graphics/drawable/Drawable;->updateTintFilter(Landroid/graphics/PorterDuffColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuffColorFilter;
HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unwrap()Landroid/graphics/drawable/Drawable$Callback;
HSPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->wrap(Landroid/graphics/drawable/Drawable$Callback;)Landroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;
HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;-><init>(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;Landroid/graphics/drawable/DrawableContainer;Landroid/content/res/Resources;)V
@@ -6142,6 +6400,7 @@
HSPLandroid/graphics/drawable/DrawableContainer;->jumpToCurrentState()V
HSPLandroid/graphics/drawable/DrawableContainer;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableContainer;->onBoundsChange(Landroid/graphics/Rect;)V
+HSPLandroid/graphics/drawable/DrawableContainer;->onLevelChange(I)Z
HSPLandroid/graphics/drawable/DrawableContainer;->onStateChange([I)Z
HSPLandroid/graphics/drawable/DrawableContainer;->selectDrawable(I)Z
HSPLandroid/graphics/drawable/DrawableContainer;->setAlpha(I)V
@@ -6153,6 +6412,7 @@
HSPLandroid/graphics/drawable/DrawableContainer;->setTintList(Landroid/content/res/ColorStateList;)V
HSPLandroid/graphics/drawable/DrawableContainer;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
HSPLandroid/graphics/drawable/DrawableContainer;->setVisible(ZZ)Z
+HSPLandroid/graphics/drawable/DrawableContainer;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
HSPLandroid/graphics/drawable/DrawableContainer;->updateDensity(Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/DrawableInflater;->inflateFromClass(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/DrawableInflater;->inflateFromTag(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
@@ -6185,6 +6445,7 @@
HSPLandroid/graphics/drawable/DrawableWrapper;->setColorFilter(Landroid/graphics/ColorFilter;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->setDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->setHotspot(FF)V
+HSPLandroid/graphics/drawable/DrawableWrapper;->setTintList(Landroid/content/res/ColorStateList;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->setVisible(ZZ)Z
HSPLandroid/graphics/drawable/DrawableWrapper;->updateLocalState(Landroid/content/res/Resources;)V
HSPLandroid/graphics/drawable/DrawableWrapper;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
@@ -6200,6 +6461,7 @@
HSPLandroid/graphics/drawable/GradientDrawable$Orientation;->values()[Landroid/graphics/drawable/GradientDrawable$Orientation;
HSPLandroid/graphics/drawable/GradientDrawable;-><init>()V
HSPLandroid/graphics/drawable/GradientDrawable;-><init>(Landroid/graphics/drawable/GradientDrawable$GradientState;Landroid/content/res/Resources;)V
+HSPLandroid/graphics/drawable/GradientDrawable;-><init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V
HSPLandroid/graphics/drawable/GradientDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/GradientDrawable;->applyThemeChildElements(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/GradientDrawable;->canApplyTheme()Z
@@ -6229,6 +6491,8 @@
HSPLandroid/graphics/drawable/GradientDrawable;->setCornerRadii([F)V
HSPLandroid/graphics/drawable/GradientDrawable;->setCornerRadius(F)V
HSPLandroid/graphics/drawable/GradientDrawable;->setDither(Z)V
+HSPLandroid/graphics/drawable/GradientDrawable;->setGradientRadius(F)V
+HSPLandroid/graphics/drawable/GradientDrawable;->setGradientType(I)V
HSPLandroid/graphics/drawable/GradientDrawable;->setShape(I)V
HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(II)V
HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(IIFF)V
@@ -6332,6 +6596,7 @@
HSPLandroid/graphics/drawable/LayerDrawable;->setAutoMirrored(Z)V
HSPLandroid/graphics/drawable/LayerDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
HSPLandroid/graphics/drawable/LayerDrawable;->setDither(Z)V
+HSPLandroid/graphics/drawable/LayerDrawable;->setDrawable(ILandroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/LayerDrawable;->setHotspot(FF)V
HSPLandroid/graphics/drawable/LayerDrawable;->setId(II)V
HSPLandroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V
@@ -6344,6 +6609,7 @@
HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>()V
HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZ)V
HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;-><init>(Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;)V
+HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->newDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/NinePatchDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
@@ -6432,6 +6698,7 @@
HSPLandroid/graphics/drawable/RippleForeground;-><init>(Landroid/graphics/drawable/RippleDrawable;Landroid/graphics/Rect;FFZ)V
HSPLandroid/graphics/drawable/RippleForeground;->clampStartingPosition()V
HSPLandroid/graphics/drawable/RippleForeground;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
+HSPLandroid/graphics/drawable/RippleForeground;->drawSoftware(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
HSPLandroid/graphics/drawable/RippleForeground;->end()V
HSPLandroid/graphics/drawable/RippleForeground;->getBounds(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/RippleForeground;->hasFinishedExit()Z
@@ -6461,10 +6728,13 @@
HSPLandroid/graphics/drawable/ScaleDrawable;->onLevelChange(I)Z
HSPLandroid/graphics/drawable/ScaleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
HSPLandroid/graphics/drawable/ScaleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
+HSPLandroid/graphics/drawable/ShapeDrawable$ShapeState;-><init>(Landroid/graphics/drawable/ShapeDrawable$ShapeState;)V
+HSPLandroid/graphics/drawable/ShapeDrawable;-><init>()V
HSPLandroid/graphics/drawable/ShapeDrawable;-><init>(Landroid/graphics/drawable/shapes/Shape;)V
HSPLandroid/graphics/drawable/ShapeDrawable;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/graphics/drawable/ShapeDrawable;->getAlpha()I
HSPLandroid/graphics/drawable/ShapeDrawable;->getChangingConfigurations()I
+HSPLandroid/graphics/drawable/ShapeDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
HSPLandroid/graphics/drawable/ShapeDrawable;->getIntrinsicHeight()I
HSPLandroid/graphics/drawable/ShapeDrawable;->getIntrinsicWidth()I
HSPLandroid/graphics/drawable/ShapeDrawable;->getOpacity()I
@@ -6472,10 +6742,13 @@
HSPLandroid/graphics/drawable/ShapeDrawable;->getPadding(Landroid/graphics/Rect;)Z
HSPLandroid/graphics/drawable/ShapeDrawable;->getPaint()Landroid/graphics/Paint;
HSPLandroid/graphics/drawable/ShapeDrawable;->isStateful()Z
+HSPLandroid/graphics/drawable/ShapeDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/ShapeDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
HSPLandroid/graphics/drawable/ShapeDrawable;->onDraw(Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
HSPLandroid/graphics/drawable/ShapeDrawable;->setAlpha(I)V
HSPLandroid/graphics/drawable/ShapeDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
+HSPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicHeight(I)V
+HSPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicWidth(I)V
HSPLandroid/graphics/drawable/ShapeDrawable;->setShape(Landroid/graphics/drawable/shapes/Shape;)V
HSPLandroid/graphics/drawable/ShapeDrawable;->updateShape()V
HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;)I
@@ -6496,6 +6769,7 @@
HSPLandroid/graphics/drawable/StateListDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/StateListDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
HSPLandroid/graphics/drawable/StateListDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
+HSPLandroid/graphics/drawable/TransitionDrawable$TransitionState;->getChangingConfigurations()I
HSPLandroid/graphics/drawable/TransitionDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
HSPLandroid/graphics/drawable/TransitionDrawable;->createConstantState(Landroid/graphics/drawable/LayerDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/LayerDrawable$LayerState;
HSPLandroid/graphics/drawable/TransitionDrawable;->draw(Landroid/graphics/Canvas;)V
@@ -6517,6 +6791,7 @@
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath$9;-><init>(Ljava/lang/String;)V
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->applyTheme(Landroid/content/res/Resources$Theme;)V
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->canApplyTheme()Z
+HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getFillColor()I
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getNativePtr()J
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getNativeSize()I
HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getProperty(Ljava/lang/String;)Landroid/util/Property;
@@ -6544,6 +6819,7 @@
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->onStateChange([I)Z
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V
HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VObject;->isTreeValid()Z
HSPLandroid/graphics/drawable/VectorDrawable$VObject;->setTree(Lcom/android/internal/util/VirtualRefBasePtr;)V
HSPLandroid/graphics/drawable/VectorDrawable$VPath$1;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState$1;-><init>(Ljava/lang/String;)V
@@ -6592,6 +6868,7 @@
HSPLandroid/graphics/drawable/VectorDrawable;->mutate()Landroid/graphics/drawable/Drawable;
HSPLandroid/graphics/drawable/VectorDrawable;->onStateChange([I)Z
HSPLandroid/graphics/drawable/VectorDrawable;->setAllowCaching(Z)V
+HSPLandroid/graphics/drawable/VectorDrawable;->setAlpha(I)V
HSPLandroid/graphics/drawable/VectorDrawable;->setAutoMirrored(Z)V
HSPLandroid/graphics/drawable/VectorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
HSPLandroid/graphics/drawable/VectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
@@ -6606,6 +6883,7 @@
HSPLandroid/graphics/drawable/shapes/PathShape;->onResize(FF)V
HSPLandroid/graphics/drawable/shapes/RectShape;->onResize(FF)V
HSPLandroid/graphics/drawable/shapes/RoundRectShape;-><init>([FLandroid/graphics/RectF;[F)V
+HSPLandroid/graphics/drawable/shapes/RoundRectShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
HSPLandroid/graphics/drawable/shapes/RoundRectShape;->onResize(FF)V
HSPLandroid/graphics/fonts/Font$Builder;-><init>(Ljava/nio/ByteBuffer;)V
HSPLandroid/graphics/fonts/Font$Builder;->build()Landroid/graphics/fonts/Font;
@@ -6648,6 +6926,7 @@
HSPLandroid/graphics/text/LineBreaker;->access$100()J
HSPLandroid/graphics/text/LineBreaker;->computeLineBreaks(Landroid/graphics/text/MeasuredText;Landroid/graphics/text/LineBreaker$ParagraphConstraints;I)Landroid/graphics/text/LineBreaker$Result;
HSPLandroid/graphics/text/MeasuredText$Builder;-><init>([C)V
+HSPLandroid/graphics/text/MeasuredText$Builder;->appendReplacementRun(Landroid/graphics/Paint;IF)Landroid/graphics/text/MeasuredText$Builder;
HSPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;IZ)Landroid/graphics/text/MeasuredText$Builder;
HSPLandroid/graphics/text/MeasuredText$Builder;->build()Landroid/graphics/text/MeasuredText;
HSPLandroid/graphics/text/MeasuredText;->access$000()J
@@ -6657,6 +6936,7 @@
PLandroid/gsi/IGsiService$Stub$Proxy;->isGsiInstalled()Z
PLandroid/gsi/IGsiService$Stub$Proxy;->isGsiRunning()Z
PLandroid/gsi/IGsiService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/gsi/IGsiService;
+HSPLandroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
HSPLandroid/hardware/CameraStatus$1;-><init>()V
HSPLandroid/hardware/CameraStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/CameraStatus;
HSPLandroid/hardware/CameraStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -6669,7 +6949,7 @@
HSPLandroid/hardware/GeomagneticField;->getDeclination()F
HSPLandroid/hardware/GeomagneticField;->getFieldStrength()F
HSPLandroid/hardware/GeomagneticField;->getHorizontalStrength()F
-PLandroid/hardware/GeomagneticField;->getInclination()F
+HPLandroid/hardware/GeomagneticField;->getInclination()F
HSPLandroid/hardware/HardwareBuffer$1;-><init>()V
HSPLandroid/hardware/HardwareBuffer;-><init>(J)V
HSPLandroid/hardware/HardwareBuffer;->createFromGraphicBuffer(Landroid/graphics/GraphicBuffer;)Landroid/hardware/HardwareBuffer;
@@ -6689,6 +6969,7 @@
HSPLandroid/hardware/ISensorPrivacyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/hardware/ISerialManager$Stub;-><init>()V
HSPLandroid/hardware/Sensor;->getName()Ljava/lang/String;
+HSPLandroid/hardware/Sensor;->getVendor()Ljava/lang/String;
HSPLandroid/hardware/Sensor;->setType(I)Z
HSPLandroid/hardware/Sensor;->setUuid(JJ)V
PLandroid/hardware/SensorAdditionalInfo;->createLocalGeomagneticField(FFF)Landroid/hardware/SensorAdditionalInfo;
@@ -6699,7 +6980,7 @@
HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
HSPLandroid/hardware/SensorManager;->requestTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-PLandroid/hardware/SensorManager;->setOperationParameter(Landroid/hardware/SensorAdditionalInfo;)Z
+HPLandroid/hardware/SensorManager;->setOperationParameter(Landroid/hardware/SensorAdditionalInfo;)Z
HSPLandroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;-><init>(Landroid/os/Looper;Landroid/hardware/SystemSensorManager;ILjava/lang/String;)V
HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->addSensor(Landroid/hardware/Sensor;II)Z
@@ -6717,11 +6998,11 @@
HSPLandroid/hardware/SystemSensorManager;->getFullSensorList()Ljava/util/List;
HSPLandroid/hardware/SystemSensorManager;->registerListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
HSPLandroid/hardware/SystemSensorManager;->requestTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-PLandroid/hardware/SystemSensorManager;->setOperationParameterImpl(Landroid/hardware/SensorAdditionalInfo;)Z
+HPLandroid/hardware/SystemSensorManager;->setOperationParameterImpl(Landroid/hardware/SensorAdditionalInfo;)Z
HSPLandroid/hardware/SystemSensorManager;->unregisterListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
HSPLandroid/hardware/biometrics/BiometricAuthenticator$Identifier;->getBiometricId()I
HSPLandroid/hardware/biometrics/BiometricManager;->hasBiometrics(Landroid/content/Context;)Z
-PLandroid/hardware/biometrics/BiometricManager;->resetLockout([B)V
+HPLandroid/hardware/biometrics/BiometricManager;->resetLockout([B)V
HSPLandroid/hardware/biometrics/BiometricSourceType$1;-><init>()V
HSPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/biometrics/BiometricSourceType;
HSPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -6809,6 +7090,7 @@
HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->setDisplaySize(Landroid/util/Size;)V
HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->setupGlobalVendorTagDescriptor()V
HSPLandroid/hardware/camera2/marshal/MarshalHelpers;->checkNativeType(I)I
+HSPLandroid/hardware/camera2/marshal/MarshalRegistry$MarshalToken;->equals(Ljava/lang/Object;)Z
HSPLandroid/hardware/camera2/marshal/MarshalRegistry$MarshalToken;->hashCode()I
HSPLandroid/hardware/camera2/marshal/MarshalRegistry;->getMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
HSPLandroid/hardware/camera2/marshal/MarshalRegistry;->registerMarshalQueryable(Landroid/hardware/camera2/marshal/MarshalQueryable;)V
@@ -6829,6 +7111,7 @@
PLandroid/hardware/camera2/utils/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
HSPLandroid/hardware/camera2/utils/TypeReference;-><init>()V
HSPLandroid/hardware/camera2/utils/TypeReference;->containsTypeVariable(Ljava/lang/reflect/Type;)Z
+HSPLandroid/hardware/camera2/utils/TypeReference;->equals(Ljava/lang/Object;)Z
HSPLandroid/hardware/camera2/utils/TypeReference;->getRawType(Ljava/lang/reflect/Type;)Ljava/lang/Class;
HSPLandroid/hardware/camera2/utils/TypeReference;->getType()Ljava/lang/reflect/Type;
HSPLandroid/hardware/camera2/utils/TypeReference;->hashCode()I
@@ -6841,11 +7124,11 @@
HSPLandroid/hardware/contexthub/V1_0/HubAppInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->getHubs()Ljava/util/ArrayList;
HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->loadNanoApp(ILandroid/hardware/contexthub/V1_0/NanoAppBinary;I)I
+HPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->loadNanoApp(ILandroid/hardware/contexthub/V1_0/NanoAppBinary;I)I
HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->queryApps(I)I
HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->registerCallback(ILandroid/hardware/contexthub/V1_0/IContexthubCallback;)I
HSPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->sendMessageToHub(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)I
-PLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->unloadNanoApp(IJI)I
+HPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->unloadNanoApp(IJI)I
HSPLandroid/hardware/contexthub/V1_0/IContexthub;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/contexthub/V1_0/IContexthub;
HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getService(Z)Landroid/hardware/contexthub/V1_0/IContexthub;
HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;-><init>()V
@@ -6858,10 +7141,11 @@
HSPLandroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F[F)V
HSPLandroid/hardware/display/AmbientBrightnessDayStats;->getBucketIndex(F)I
HSPLandroid/hardware/display/AmbientBrightnessDayStats;->log(FF)V
-PLandroid/hardware/display/AmbientBrightnessDayStats;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/display/AmbientBrightnessDayStats;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/display/AmbientDisplayConfiguration;-><init>(Landroid/content/Context;)V
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->accessibilityInversionEnabled(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->alwaysOnAvailable()Z
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->alwaysOnAvailableForUser(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->alwaysOnEnabled(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->ambientDisplayAvailable()Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->ambientDisplayComponent()Ljava/lang/String;
@@ -6870,6 +7154,8 @@
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->doubleTapSensorType()Ljava/lang/String;
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->dozePickupSensorAvailable()Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->enabled(I)Z
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->longPressSensorType()Ljava/lang/String;
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pickupGestureEnabled(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pulseOnNotificationAvailable()Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pulseOnNotificationEnabled(I)Z
HSPLandroid/hardware/display/AmbientDisplayConfiguration;->tapSensorAvailable()Z
@@ -6880,9 +7166,10 @@
HSPLandroid/hardware/display/BrightnessChangeEvent$Builder;->build()Landroid/hardware/display/BrightnessChangeEvent;
HSPLandroid/hardware/display/BrightnessChangeEvent$Builder;->setColorValues([JJ)Landroid/hardware/display/BrightnessChangeEvent$Builder;
HSPLandroid/hardware/display/BrightnessChangeEvent;-><init>(FJLjava/lang/String;I[F[JFFZIFZZ[JJ)V
+HPLandroid/hardware/display/BrightnessChangeEvent;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/display/BrightnessConfiguration$1;-><init>()V
-PLandroid/hardware/display/BrightnessConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/BrightnessConfiguration;
-PLandroid/hardware/display/BrightnessConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/display/BrightnessConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/BrightnessConfiguration;
+HPLandroid/hardware/display/BrightnessConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/hardware/display/BrightnessConfiguration$Builder;-><init>([F[F)V
HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->addCorrectionByCategory(ILandroid/hardware/display/BrightnessCorrection;)Landroid/hardware/display/BrightnessConfiguration$Builder;
HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->addCorrectionByPackageName(Ljava/lang/String;Landroid/hardware/display/BrightnessCorrection;)Landroid/hardware/display/BrightnessConfiguration$Builder;
@@ -6891,12 +7178,15 @@
HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->getMaxCorrectionsByCategory()I
HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->getMaxCorrectionsByPackageName()I
HSPLandroid/hardware/display/BrightnessConfiguration;->equals(Ljava/lang/Object;)Z
-PLandroid/hardware/display/BrightnessConfiguration;->getCorrectionByCategory(I)Landroid/hardware/display/BrightnessCorrection;
+HPLandroid/hardware/display/BrightnessConfiguration;->getCorrectionByCategory(I)Landroid/hardware/display/BrightnessCorrection;
HSPLandroid/hardware/display/BrightnessConfiguration;->getCorrectionByPackageName(Ljava/lang/String;)Landroid/hardware/display/BrightnessCorrection;
HSPLandroid/hardware/display/BrightnessConfiguration;->getCurve()Landroid/util/Pair;
HSPLandroid/hardware/display/BrightnessConfiguration;->loadFloatFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)F
HSPLandroid/hardware/display/BrightnessConfiguration;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/hardware/display/BrightnessConfiguration;
+HPLandroid/hardware/display/BrightnessConfiguration;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
HSPLandroid/hardware/display/BrightnessCorrection$1;-><init>()V
+HPLandroid/hardware/display/BrightnessCorrection$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/BrightnessCorrection;
+HPLandroid/hardware/display/BrightnessCorrection$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/hardware/display/BrightnessCorrection$ScaleAndTranslateLog;-><init>(FF)V
HSPLandroid/hardware/display/BrightnessCorrection$ScaleAndTranslateLog;->apply(F)F
HSPLandroid/hardware/display/BrightnessCorrection;->apply(F)F
@@ -6950,7 +7240,7 @@
HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
HSPLandroid/hardware/display/IDisplayManager$Stub;-><init>()V
-PLandroid/hardware/display/IDisplayManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/hardware/display/IDisplayManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/hardware/display/IDisplayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -6978,8 +7268,10 @@
HSPLandroid/hardware/fingerprint/Fingerprint$1;-><init>()V
HSPLandroid/hardware/fingerprint/Fingerprint;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/fingerprint/FingerprintManager;-><init>(Landroid/content/Context;Landroid/hardware/fingerprint/IFingerprintService;)V
+HSPLandroid/hardware/fingerprint/FingerprintManager;->getAcquiredString(Landroid/content/Context;II)Ljava/lang/String;
HSPLandroid/hardware/fingerprint/FingerprintManager;->getEnrolledFingerprints(I)Ljava/util/List;
HSPLandroid/hardware/fingerprint/FingerprintManager;->isHardwareDetected()Z
+HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->isHardwareDetected(JLjava/lang/String;)Z
HSPLandroid/hardware/fingerprint/IFingerprintService$Stub;-><init>()V
HSPLandroid/hardware/fingerprint/IFingerprintService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintService;
@@ -7002,9 +7294,11 @@
HSPLandroid/hardware/input/InputDeviceIdentifier;-><init>(Ljava/lang/String;II)V
HSPLandroid/hardware/input/InputManager$InputDevicesChangedListener;->onInputDevicesChanged([I)V
HSPLandroid/hardware/input/InputManager;->getInputDevice(I)Landroid/view/InputDevice;
+HSPLandroid/hardware/input/InputManager;->getInputDeviceIds()[I
HSPLandroid/hardware/input/InputManager;->getInstance()Landroid/hardware/input/InputManager;
HSPLandroid/hardware/input/InputManager;->onInputDevicesChanged([I)V
HSPLandroid/hardware/input/InputManager;->populateInputDevicesLocked()V
+HSPLandroid/hardware/input/InputManager;->registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V
HSPLandroid/hardware/input/KeyboardLayout$1;-><init>()V
HSPLandroid/hardware/input/TouchCalibration$1;-><init>()V
HSPLandroid/hardware/input/TouchCalibration;-><init>()V
@@ -7099,7 +7393,7 @@
HSPLandroid/hardware/location/NanoAppInstanceInfo;->getAppVersion()I
HSPLandroid/hardware/location/NanoAppInstanceInfo;->getContexthubId()I
HSPLandroid/hardware/location/NanoAppInstanceInfo;->getHandle()I
-PLandroid/hardware/location/NanoAppInstanceInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/location/NanoAppInstanceInfo;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/location/NanoAppMessage$1;-><init>()V
HSPLandroid/hardware/location/NanoAppMessage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppMessage;
HSPLandroid/hardware/location/NanoAppMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -7199,8 +7493,10 @@
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getSignalStrength(I)V
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getVoiceRadioTechnology(I)V
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getVoiceRegistrationState(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccCloseLogicalChannel(II)V
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccIOForApp(ILandroid/hardware/radio/V1_0/IccIo;)V
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccOpenLogicalChannel(ILjava/lang/String;I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->iccTransmitApduLogicalChannel(ILandroid/hardware/radio/V1_0/SimApdu;)V
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->interfaceChain()Ljava/util/ArrayList;
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->reportStkServiceIsRunning(I)V
@@ -7252,39 +7548,42 @@
HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->asBinder()Landroid/os/IBinder;
PLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
HSPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
-PLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
+HPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
+HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
+HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;->toString()Ljava/lang/String;
HSPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-PLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
+HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
+HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
HSPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->equals(Ljava/lang/Object;)Z
+HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->equals(Ljava/lang/Object;)Z
HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V
-PLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V
+HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-PLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
-PLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
+HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
+HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;-><init>(III[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;)V
HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->equals(Ljava/lang/Object;)Z
+HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->equals(Ljava/lang/Object;)Z
HSPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties$1;-><init>()V
HSPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIIZIZIZ)V
-PLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
-PLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
+HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
+HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
HSPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger$SoundModel;->equals(Ljava/lang/Object;)Z
+HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->toString()Ljava/lang/String;
+HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/soundtrigger/SoundTrigger$SoundModel;->equals(Ljava/lang/Object;)Z
HSPLandroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent$1;-><init>()V
-PLandroid/hardware/soundtrigger/SoundTrigger;->attachModule(ILandroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)Landroid/hardware/soundtrigger/SoundTriggerModule;
+HPLandroid/hardware/soundtrigger/SoundTrigger;->attachModule(ILandroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)Landroid/hardware/soundtrigger/SoundTriggerModule;
PLandroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
PLandroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;->handler()Landroid/os/Handler;
HPLandroid/hardware/soundtrigger/SoundTriggerModule;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
@@ -7300,6 +7599,7 @@
HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
HSPLandroid/hardware/thermal/V2_0/Temperature;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
HSPLandroid/hardware/thermal/V2_0/Temperature;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getDeviceList(Landroid/os/Bundle;)V
HSPLandroid/hardware/usb/IUsbManager$Stub;-><init>()V
HSPLandroid/hardware/usb/IUsbManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/hardware/usb/ParcelableUsbPort$1;-><init>()V
@@ -7551,8 +7851,11 @@
HSPLandroid/icu/impl/ICUService;->markDefault()V
HSPLandroid/icu/impl/ICUService;->registerFactory(Landroid/icu/impl/ICUService$Factory;)Landroid/icu/impl/ICUService$Factory;
HSPLandroid/icu/impl/IDNA2003;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;
+HSPLandroid/icu/impl/IDNA2003;->convertIDNToUnicode(Ljava/lang/String;I)Ljava/lang/StringBuffer;
HSPLandroid/icu/impl/IDNA2003;->convertToASCII(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
+HSPLandroid/icu/impl/IDNA2003;->convertToUnicode(Landroid/icu/text/UCharacterIterator;I)Ljava/lang/StringBuffer;
HSPLandroid/icu/impl/IDNA2003;->isLDHChar(I)Z
+HSPLandroid/icu/impl/IDNA2003;->startsWithPrefix(Ljava/lang/StringBuffer;)Z
HSPLandroid/icu/impl/JavaTimeZone;->clone()Ljava/lang/Object;
HSPLandroid/icu/impl/JavaTimeZone;->getOffset(JZ[I)V
HSPLandroid/icu/impl/JavaTimeZone;->hashCode()I
@@ -7578,6 +7881,7 @@
HSPLandroid/icu/impl/Normalizer2Impl$IsAcceptable;-><init>(Landroid/icu/impl/Normalizer2Impl$1;)V
HSPLandroid/icu/impl/Normalizer2Impl$IsAcceptable;->isDataVersionAcceptable([B)Z
HSPLandroid/icu/impl/Normalizer2Impl;->addLcccChars(Landroid/icu/text/UnicodeSet;)V
+HSPLandroid/icu/impl/Normalizer2Impl;->composeQuickCheck(Ljava/lang/CharSequence;IIZZ)I
HSPLandroid/icu/impl/Normalizer2Impl;->decompose(Ljava/lang/CharSequence;IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I
HSPLandroid/icu/impl/Normalizer2Impl;->getFCD16FromNormData(I)I
HSPLandroid/icu/impl/Normalizer2Impl;->load(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Normalizer2Impl;
@@ -7610,6 +7914,7 @@
HSPLandroid/icu/impl/RBBIDataWrapper$IsAcceptable;->isDataVersionAcceptable([B)Z
HSPLandroid/icu/impl/RBBIDataWrapper$RBBIStateTable;->get(Ljava/nio/ByteBuffer;I)Landroid/icu/impl/RBBIDataWrapper$RBBIStateTable;
HSPLandroid/icu/impl/RBBIDataWrapper;->get(Ljava/nio/ByteBuffer;)Landroid/icu/impl/RBBIDataWrapper;
+HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getIndex()I
HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getLength()I
HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->getText([CI)I
HSPLandroid/icu/impl/ReplaceableUCharacterIterator;->next()I
@@ -7630,6 +7935,7 @@
HSPLandroid/icu/impl/SimpleFormatterImpl;->compileToStringMinMaxArguments(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;II)Ljava/lang/String;
HSPLandroid/icu/impl/SimpleFormatterImpl;->format(Ljava/lang/String;[Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Ljava/lang/String;Z[I)Ljava/lang/StringBuilder;
HSPLandroid/icu/impl/SimpleFormatterImpl;->formatAndReplace(Ljava/lang/String;Ljava/lang/StringBuilder;[I[Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
+HSPLandroid/icu/impl/SimpleFormatterImpl;->formatCompiledPattern(Ljava/lang/String;[Ljava/lang/CharSequence;)Ljava/lang/String;
HSPLandroid/icu/impl/SimpleFormatterImpl;->getArgumentLimit(Ljava/lang/String;)I
HSPLandroid/icu/impl/SoftCache;->getInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/icu/impl/StandardPlural;-><init>(Ljava/lang/String;ILjava/lang/String;)V
@@ -7768,6 +8074,7 @@
HSPLandroid/icu/impl/coll/CollationFastLatin;->getOptions(Landroid/icu/impl/coll/CollationData;Landroid/icu/impl/coll/CollationSettings;[C)I
HSPLandroid/icu/impl/coll/CollationLoader;->loadTailoring(Landroid/icu/util/ULocale;Landroid/icu/util/Output;)Landroid/icu/impl/coll/CollationTailoring;
HSPLandroid/icu/impl/coll/CollationSettings;->clone()Landroid/icu/impl/coll/SharedObject;
+HSPLandroid/icu/impl/coll/CollationSettings;->setStrength(I)V
HSPLandroid/icu/impl/coll/CollationTailoring;-><init>(Landroid/icu/impl/coll/SharedObject$Reference;)V
HSPLandroid/icu/impl/coll/CollationTailoring;->ensureOwnedData()V
HSPLandroid/icu/impl/coll/SharedObject$Reference;->clone()Landroid/icu/impl/coll/SharedObject$Reference;
@@ -7956,6 +8263,7 @@
HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->negativeHasMinusSign()Z
HSPLandroid/icu/impl/number/RoundingUtils;->getMathContextOrUnlimited(Landroid/icu/impl/number/DecimalFormatProperties;)Ljava/math/MathContext;
HSPLandroid/icu/impl/number/RoundingUtils;->scaleFromProperties(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/number/Scale;
+HSPLandroid/icu/lang/UCharacter;->codePointAt(Ljava/lang/CharSequence;I)I
HSPLandroid/icu/lang/UCharacter;->getIntPropertyMaxValue(I)I
HSPLandroid/icu/lang/UCharacter;->getPropertyEnum(Ljava/lang/CharSequence;)I
HSPLandroid/icu/lang/UCharacter;->getPropertyValueEnum(ILjava/lang/CharSequence;)I
@@ -8022,6 +8330,7 @@
HSPLandroid/icu/text/BreakIterator;->getBreakInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
HSPLandroid/icu/text/BreakIterator;->getShim()Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
HSPLandroid/icu/text/BreakIterator;->getWordInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;
+HSPLandroid/icu/text/BreakIterator;->setText(Ljava/lang/String;)V
HSPLandroid/icu/text/BreakIteratorFactory$BFService;-><init>()V
HSPLandroid/icu/text/BreakIteratorFactory;-><init>()V
HSPLandroid/icu/text/BreakIteratorFactory;->createBreakInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
@@ -8049,6 +8358,7 @@
HSPLandroid/icu/text/DateFormat;->get(IILandroid/icu/util/ULocale;Landroid/icu/util/Calendar;)Landroid/icu/text/DateFormat;
HSPLandroid/icu/text/DateFormat;->getCalendar()Landroid/icu/util/Calendar;
HSPLandroid/icu/text/DateFormat;->getContext(Landroid/icu/text/DisplayContext$Type;)Landroid/icu/text/DisplayContext;
+HSPLandroid/icu/text/DateFormat;->getInstanceForSkeleton(Ljava/lang/String;)Landroid/icu/text/DateFormat;
HSPLandroid/icu/text/DateFormat;->setCalendar(Landroid/icu/util/Calendar;)V
HSPLandroid/icu/text/DateFormat;->setTimeZone(Landroid/icu/util/TimeZone;)V
HSPLandroid/icu/text/DateFormatSymbols$1;-><init>()V
@@ -8159,6 +8469,7 @@
HSPLandroid/icu/text/DateTimePatternGenerator;->setAppendItemFormat(ILjava/lang/String;)V
HSPLandroid/icu/text/DecimalFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;I)V
HSPLandroid/icu/text/DecimalFormat;->clone()Ljava/lang/Object;
+HSPLandroid/icu/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
HSPLandroid/icu/text/DecimalFormat;->refreshFormatter()V
HSPLandroid/icu/text/DecimalFormat;->setPropertiesFromPattern(Ljava/lang/String;I)V
HSPLandroid/icu/text/DecimalFormatSymbols$1;-><init>()V
@@ -8285,6 +8596,7 @@
HSPLandroid/icu/text/Edits;->addReplace(II)V
HSPLandroid/icu/text/Edits;->addUnchanged(I)V
HSPLandroid/icu/text/IDNA;->convertIDNToASCII(Ljava/lang/String;I)Ljava/lang/StringBuffer;
+HSPLandroid/icu/text/IDNA;->convertIDNToUnicode(Ljava/lang/String;I)Ljava/lang/StringBuffer;
HSPLandroid/icu/text/ListFormatter$Cache;-><init>(Landroid/icu/text/ListFormatter$1;)V
HSPLandroid/icu/text/ListFormatter$Cache;->get(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
HSPLandroid/icu/text/ListFormatter$Cache;->load(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/text/ListFormatter;
@@ -8295,17 +8607,20 @@
HSPLandroid/icu/text/Normalizer$ModeImpl;-><init>(Landroid/icu/text/Normalizer2;Landroid/icu/text/Normalizer$1;)V
HSPLandroid/icu/text/Normalizer$NFCMode;-><init>(Landroid/icu/text/Normalizer$1;)V
HSPLandroid/icu/text/Normalizer$NFDMode;-><init>(Landroid/icu/text/Normalizer$1;)V
+HSPLandroid/icu/text/Normalizer$NFDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
HSPLandroid/icu/text/Normalizer$NFKCMode;-><init>(Landroid/icu/text/Normalizer$1;)V
HSPLandroid/icu/text/Normalizer$NFKDMode;-><init>(Landroid/icu/text/Normalizer$1;)V
HSPLandroid/icu/text/Normalizer$NFKDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
HSPLandroid/icu/text/Normalizer$NONEMode;-><init>(Landroid/icu/text/Normalizer$1;)V
HSPLandroid/icu/text/Normalizer$QuickCheckResult;-><init>(ILandroid/icu/text/Normalizer$1;)V
+HSPLandroid/icu/text/Normalizer2;->getNFDInstance()Landroid/icu/text/Normalizer2;
HSPLandroid/icu/text/Normalizer2;->getNFKDInstance()Landroid/icu/text/Normalizer2;
HSPLandroid/icu/text/Normalizer2;->normalize(Ljava/lang/CharSequence;)Ljava/lang/String;
HSPLandroid/icu/text/Normalizer;->normalize(Ljava/lang/String;Landroid/icu/text/Normalizer$Mode;)Ljava/lang/String;
HSPLandroid/icu/text/NumberFormat$Field;-><init>(Ljava/lang/String;)V
HSPLandroid/icu/text/NumberFormat;-><init>()V
HSPLandroid/icu/text/NumberFormat;->createInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
+HSPLandroid/icu/text/NumberFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
HSPLandroid/icu/text/NumberFormat;->getMaximumFractionDigits()I
HSPLandroid/icu/text/NumberFormat;->getMaximumIntegerDigits()I
HSPLandroid/icu/text/NumberFormat;->getMinimumFractionDigits()I
@@ -8377,6 +8692,19 @@
HSPLandroid/icu/text/PluralRules;->parseRuleChain(Ljava/lang/String;)Landroid/icu/text/PluralRules$RuleList;
HSPLandroid/icu/text/PluralRules;->select(D)Ljava/lang/String;
HSPLandroid/icu/text/PluralRules;->select(Landroid/icu/text/PluralRules$IFixedDecimal;)Ljava/lang/String;
+HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache$1;->createInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
+HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache;-><init>(Landroid/icu/text/RelativeDateTimeFormatter$1;)V
+HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache;->get(Landroid/icu/util/ULocale;)Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
+HSPLandroid/icu/text/RelativeDateTimeFormatter$Loader;->getDateTimePattern(Landroid/icu/impl/ICUResourceBundle;)Ljava/lang/String;
+HSPLandroid/icu/text/RelativeDateTimeFormatter$Loader;->load()Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeFormatterData;
+HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTableRelative(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
+HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTableRelativeTime(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
+HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTimeDetail(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
+HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->consumeTimeUnit(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
+HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->handleAlias(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
+HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->handlePlainDirection(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
+HSPLandroid/icu/text/RelativeDateTimeFormatter$RelDateTimeDataSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
HSPLandroid/icu/text/ReplaceableString;->charAt(I)C
HSPLandroid/icu/text/ReplaceableString;->getChars(II[CI)V
HSPLandroid/icu/text/ReplaceableString;->length()I
@@ -8400,12 +8728,14 @@
HSPLandroid/icu/text/RuleBasedBreakIterator;->first()I
HSPLandroid/icu/text/RuleBasedBreakIterator;->following(I)I
HSPLandroid/icu/text/RuleBasedBreakIterator;->handleNext()I
+HSPLandroid/icu/text/RuleBasedBreakIterator;->next()I
HSPLandroid/icu/text/RuleBasedBreakIterator;->preceding(I)I
HSPLandroid/icu/text/RuleBasedBreakIterator;->setText(Ljava/text/CharacterIterator;)V
HSPLandroid/icu/text/RuleBasedCollator;->clone()Ljava/lang/Object;
HSPLandroid/icu/text/RuleBasedCollator;->cloneAsThawed()Landroid/icu/text/RuleBasedCollator;
HSPLandroid/icu/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I
HSPLandroid/icu/text/RuleBasedCollator;->doCompare(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
+HSPLandroid/icu/text/RuleBasedCollator;->setStrength(I)V
HSPLandroid/icu/text/SimpleDateFormat;->fastZeroPaddingNumber(Ljava/lang/StringBuffer;III)V
HSPLandroid/icu/text/SimpleDateFormat;->format(Landroid/icu/util/Calendar;Landroid/icu/text/DisplayContext;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Ljava/util/List;)Ljava/lang/StringBuffer;
HSPLandroid/icu/text/SimpleDateFormat;->format(Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
@@ -8420,6 +8750,7 @@
HSPLandroid/icu/text/SimpleDateFormat;->parsePattern()V
HSPLandroid/icu/text/SimpleDateFormat;->safeAppend([Ljava/lang/String;ILjava/lang/StringBuffer;)V
HSPLandroid/icu/text/SimpleDateFormat;->safeAppendWithMonthPattern([Ljava/lang/String;ILjava/lang/StringBuffer;Ljava/lang/String;)V
+HSPLandroid/icu/text/SimpleDateFormat;->setContext(Landroid/icu/text/DisplayContext;)V
HSPLandroid/icu/text/SimpleDateFormat;->subFormat(Ljava/lang/StringBuffer;CIIILandroid/icu/text/DisplayContext;Ljava/text/FieldPosition;Landroid/icu/util/Calendar;)V
HSPLandroid/icu/text/SimpleDateFormat;->toPattern()Ljava/lang/String;
HSPLandroid/icu/text/SimpleDateFormat;->zeroPaddingNumber(Landroid/icu/text/NumberFormat;Ljava/lang/StringBuffer;III)V
@@ -8434,6 +8765,7 @@
HSPLandroid/icu/text/TimeZoneNames;->getInstance(Ljava/util/Locale;)Landroid/icu/text/TimeZoneNames;
HSPLandroid/icu/text/UCharacterIterator;->getText()Ljava/lang/String;
HSPLandroid/icu/text/UCharacterIterator;->setToStart()V
+HSPLandroid/icu/text/UFieldPosition;->setFractionDigits(IJ)V
HSPLandroid/icu/text/UFormat;-><init>()V
HSPLandroid/icu/text/UFormat;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
HSPLandroid/icu/text/UTF16;->append(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
@@ -8762,7 +9094,7 @@
HSPLandroid/location/Address$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Address;
HSPLandroid/location/Address$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/location/Address;->getCountryCode()Ljava/lang/String;
-PLandroid/location/Address;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/location/Address;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/location/Country$1;-><init>()V
HSPLandroid/location/Country$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Country;
HSPLandroid/location/Country$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -8773,7 +9105,7 @@
HSPLandroid/location/CountryDetector;->detectCountry()Landroid/location/Country;
HSPLandroid/location/Criteria$1;-><init>()V
HPLandroid/location/Criteria$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Criteria;
-PLandroid/location/Criteria$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/location/Criteria$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
PLandroid/location/Criteria;->getAccuracy()I
PLandroid/location/Criteria;->getPowerRequirement()I
PLandroid/location/Criteria;->isAltitudeRequired()Z
@@ -8785,8 +9117,8 @@
HSPLandroid/location/Geocoder;->getFromLocation(DDI)Ljava/util/List;
HSPLandroid/location/Geocoder;->isPresent()Z
HSPLandroid/location/GeocoderParams$1;-><init>()V
-PLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GeocoderParams;
-PLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GeocoderParams;
+HPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/location/GeocoderParams;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/location/GnssClock$1;-><init>()V
PLandroid/location/GnssClock;-><init>()V
@@ -8832,7 +9164,7 @@
PLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
PLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
PLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->onStatusChanged(I)V
-PLandroid/location/IGnssMeasurementsListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssMeasurementsListener;
+HPLandroid/location/IGnssMeasurementsListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssMeasurementsListener;
HSPLandroid/location/IGpsGeofenceHardware$Stub;-><init>()V
HPLandroid/location/ILocationListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLandroid/location/ILocationListener$Stub$Proxy;->onLocationChanged(Landroid/location/Location;)V
@@ -8846,7 +9178,7 @@
HSPLandroid/location/ILocationManager$Stub$Proxy;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
HSPLandroid/location/ILocationManager$Stub;-><init>()V
HSPLandroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
-PLandroid/location/ILocationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/location/ILocationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/location/ILocationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/location/INetInitiatedListener$Stub;-><init>()V
HSPLandroid/location/Location$1;-><init>()V
@@ -8865,11 +9197,13 @@
HSPLandroid/location/Location;-><init>(Landroid/location/Location;)V
HSPLandroid/location/Location;-><init>(Ljava/lang/String;)V
HSPLandroid/location/Location;->computeDistanceAndBearing(DDDDLandroid/location/Location$BearingDistanceCache;)V
+HPLandroid/location/Location;->describeContents()I
HSPLandroid/location/Location;->distanceTo(Landroid/location/Location;)F
HSPLandroid/location/Location;->getAccuracy()F
HSPLandroid/location/Location;->getAltitude()D
HSPLandroid/location/Location;->getElapsedRealtimeNanos()J
HPLandroid/location/Location;->getExtraLocation(Ljava/lang/String;)Landroid/location/Location;
+HSPLandroid/location/Location;->getExtras()Landroid/os/Bundle;
HSPLandroid/location/Location;->getLatitude()D
HSPLandroid/location/Location;->getLongitude()D
HSPLandroid/location/Location;->getProvider()Ljava/lang/String;
@@ -8948,6 +9282,7 @@
HSPLandroid/media/AudioAttributes;->toLegacyStreamType(Landroid/media/AudioAttributes;)I
HSPLandroid/media/AudioAttributes;->toVolumeStreamType(ZLandroid/media/AudioAttributes;)I
HSPLandroid/media/AudioAttributes;->usageForStreamType(I)I
+HSPLandroid/media/AudioAttributes;->usageToString(I)Ljava/lang/String;
HSPLandroid/media/AudioAttributes;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/media/AudioDeviceCallback;-><init>()V
HSPLandroid/media/AudioDeviceInfo;->getType()I
@@ -8958,13 +9293,14 @@
HSPLandroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePort;IIILandroid/media/AudioGainConfig;)V
HSPLandroid/media/AudioFocusInfo$1;-><init>()V
HSPLandroid/media/AudioFocusInfo;-><init>(Landroid/media/AudioAttributes;ILjava/lang/String;Ljava/lang/String;IIII)V
+HSPLandroid/media/AudioFocusRequest$Builder;->build()Landroid/media/AudioFocusRequest;
HSPLandroid/media/AudioFormat$1;-><init>()V
HSPLandroid/media/AudioFormat$Builder;-><init>()V
HSPLandroid/media/AudioFormat$Builder;->build()Landroid/media/AudioFormat;
HSPLandroid/media/AudioFormat$Builder;->setChannelMask(I)Landroid/media/AudioFormat$Builder;
HSPLandroid/media/AudioFormat$Builder;->setEncoding(I)Landroid/media/AudioFormat$Builder;
HSPLandroid/media/AudioFormat$Builder;->setSampleRate(I)Landroid/media/AudioFormat$Builder;
-PLandroid/media/AudioFormat;-><init>(IIII)V
+HPLandroid/media/AudioFormat;-><init>(IIII)V
HSPLandroid/media/AudioFormat;-><init>(IIIII)V
HSPLandroid/media/AudioFormat;->getBytesPerSample(I)I
HSPLandroid/media/AudioHandle;-><init>(I)V
@@ -8976,19 +9312,21 @@
HSPLandroid/media/AudioManager$OnAmPortUpdateListener;->onAudioPortListUpdate([Landroid/media/AudioPort;)V
HSPLandroid/media/AudioManager$ServiceEventHandlerDelegate;-><init>(Landroid/media/AudioManager;Landroid/os/Handler;)V
HSPLandroid/media/AudioManager;-><init>(Landroid/content/Context;)V
-PLandroid/media/AudioManager;->abandonAudioFocusForCall()V
+HPLandroid/media/AudioManager;->abandonAudioFocusForCall()V
HSPLandroid/media/AudioManager;->broadcastDeviceListChange_sync(Landroid/os/Handler;)V
HSPLandroid/media/AudioManager;->calcListDeltas(Ljava/util/ArrayList;Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
HSPLandroid/media/AudioManager;->getDevices(I)[Landroid/media/AudioDeviceInfo;
HSPLandroid/media/AudioManager;->getDevicesForStream(I)I
HSPLandroid/media/AudioManager;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
HSPLandroid/media/AudioManager;->getIdForAudioFocusListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Ljava/lang/String;
+HSPLandroid/media/AudioManager;->getRingerMode()I
HSPLandroid/media/AudioManager;->getRingerModeInternal()I
HSPLandroid/media/AudioManager;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
HSPLandroid/media/AudioManager;->getStreamMaxVolume(I)I
HSPLandroid/media/AudioManager;->getStreamVolume(I)I
HSPLandroid/media/AudioManager;->infoListFromPortList(Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
HSPLandroid/media/AudioManager;->isAudioFocusExclusive()Z
+HSPLandroid/media/AudioManager;->isBluetoothA2dpOn()Z
HSPLandroid/media/AudioManager;->isBluetoothScoOn()Z
HSPLandroid/media/AudioManager;->isMicrophoneMute()Z
HSPLandroid/media/AudioManager;->isStreamMute(I)Z
@@ -8997,7 +9335,12 @@
HSPLandroid/media/AudioManager;->playSoundEffect(I)V
HSPLandroid/media/AudioManager;->preDispatchKeyEvent(Landroid/view/KeyEvent;I)V
HSPLandroid/media/AudioManager;->registerAudioDeviceCallback(Landroid/media/AudioDeviceCallback;Landroid/os/Handler;)V
+HSPLandroid/media/AudioManager;->registerAudioFocusRequest(Landroid/media/AudioFocusRequest;)V
HSPLandroid/media/AudioManager;->registerAudioPortUpdateListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
+HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioFocusRequest;Landroid/media/audiopolicy/AudioPolicy;)I
+HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;II)I
+HSPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;IILandroid/media/audiopolicy/AudioPolicy;)I
+HPLandroid/media/AudioManager;->requestAudioFocusForCall(II)V
HSPLandroid/media/AudioManager;->resetAudioPortGeneration()I
HSPLandroid/media/AudioManager;->setMode(I)V
HSPLandroid/media/AudioManager;->setParameter(Ljava/lang/String;Ljava/lang/String;)V
@@ -9017,7 +9360,7 @@
HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->monitorDeath()V
HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->release()V
HSPLandroid/media/AudioPlaybackConfiguration;-><init>(Landroid/media/PlayerBase$PlayerIdCard;III)V
-PLandroid/media/AudioPlaybackConfiguration;->anonymizedCopy(Landroid/media/AudioPlaybackConfiguration;)Landroid/media/AudioPlaybackConfiguration;
+HPLandroid/media/AudioPlaybackConfiguration;->anonymizedCopy(Landroid/media/AudioPlaybackConfiguration;)Landroid/media/AudioPlaybackConfiguration;
HSPLandroid/media/AudioPlaybackConfiguration;->handleAudioAttributesEvent(Landroid/media/AudioAttributes;)Z
HSPLandroid/media/AudioPlaybackConfiguration;->handleStateEvent(I)Z
HSPLandroid/media/AudioPlaybackConfiguration;->init()V
@@ -9038,6 +9381,14 @@
HSPLandroid/media/AudioPortEventHandler;->init()V
HSPLandroid/media/AudioPortEventHandler;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
HSPLandroid/media/AudioPortEventHandler;->registerListener(Landroid/media/AudioManager$OnAudioPortUpdateListener;)V
+HSPLandroid/media/AudioRecord;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)V
+HSPLandroid/media/AudioRecord;->audioBuffSizeCheck(I)V
+HSPLandroid/media/AudioRecord;->audioParamCheck(III)V
+HSPLandroid/media/AudioRecord;->getChannelMaskFromLegacyConfig(IZ)I
+HSPLandroid/media/AudioRecord;->handleFullVolumeRec(Z)V
+HSPLandroid/media/AudioRecord;->release()V
+HSPLandroid/media/AudioRecord;->startRecording()V
+HSPLandroid/media/AudioRecord;->stop()V
PLandroid/media/AudioRecordingConfiguration$1;-><init>()V
PLandroid/media/AudioRecordingConfiguration;-><init>(IIILandroid/media/AudioFormat;Landroid/media/AudioFormat;ILjava/lang/String;IZI[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;)V
HSPLandroid/media/AudioRoutesInfo$1;-><init>()V
@@ -9050,10 +9401,11 @@
HSPLandroid/media/AudioSystem;->getOutputDeviceName(I)Ljava/lang/String;
HSPLandroid/media/AudioSystem;->getPlatformType(Landroid/content/Context;)I
HSPLandroid/media/AudioSystem;->isSingleVolume(Landroid/content/Context;)Z
-PLandroid/media/AudioSystem;->recordingCallbackFromNative(IIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;I)V
+HPLandroid/media/AudioSystem;->recordingCallbackFromNative(IIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;I)V
HSPLandroid/media/AudioSystem;->setErrorCallback(Landroid/media/AudioSystem$ErrorCallback;)V
HSPLandroid/media/AudioSystem;->setRecordingCallback(Landroid/media/AudioSystem$AudioRecordingCallback;)V
HSPLandroid/media/AudioSystem;->setStreamVolumeIndexAS(III)I
+HSPLandroid/media/AudioTrack;->getNativeOutputSampleRate(I)I
HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->read()I
HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
@@ -9091,28 +9443,33 @@
HSPLandroid/media/IAudioRoutesObserver$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/media/IAudioRoutesObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioRoutesObserver;
PLandroid/media/IAudioServerStateDispatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/media/IAudioServerStateDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioServerStateDispatcher;
+HPLandroid/media/IAudioServerStateDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioServerStateDispatcher;
+HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeExternal()I
HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeInternal()I
HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamMaxVolume(I)I
HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamVolume(I)I
HSPLandroid/media/IAudioService$Stub$Proxy;->isBluetoothScoOn()Z
+HSPLandroid/media/IAudioService$Stub$Proxy;->isCameraSoundForced()Z
HSPLandroid/media/IAudioService$Stub$Proxy;->isStreamMute(I)Z
HSPLandroid/media/IAudioService$Stub$Proxy;->playSoundEffect(I)V
+HSPLandroid/media/IAudioService$Stub$Proxy;->playerAttributes(ILandroid/media/AudioAttributes;)V
HSPLandroid/media/IAudioService$Stub$Proxy;->playerEvent(II)V
HSPLandroid/media/IAudioService$Stub$Proxy;->playerHasOpPlayAudio(IZ)V
HSPLandroid/media/IAudioService$Stub$Proxy;->releasePlayer(I)V
+HSPLandroid/media/IAudioService$Stub$Proxy;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
HSPLandroid/media/IAudioService$Stub$Proxy;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
HSPLandroid/media/IAudioService$Stub$Proxy;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
HSPLandroid/media/IAudioService$Stub;-><init>()V
HSPLandroid/media/IAudioService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioService;
-PLandroid/media/IAudioService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/media/IAudioService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/media/IAudioService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/media/IMediaResourceMonitor$Stub;-><init>()V
HPLandroid/media/IMediaResourceMonitor$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/media/IMediaRouterClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLandroid/media/IMediaRouterClient$Stub$Proxy;->onRestoreRoute()V
-PLandroid/media/IMediaRouterClient$Stub$Proxy;->onStateChanged()V
+HPLandroid/media/IMediaRouterClient$Stub$Proxy;->onStateChanged()V
HSPLandroid/media/IMediaRouterClient$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/IMediaRouterClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
HSPLandroid/media/IMediaRouterService$Stub$Proxy;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
@@ -9127,10 +9484,12 @@
HSPLandroid/media/IPlaybackConfigDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IPlaybackConfigDispatcher;
HSPLandroid/media/IPlayer$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/media/IPlayer$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/IRecordingConfigDispatcher$Stub;-><init>()V
HSPLandroid/media/IRemoteVolumeController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/media/IRemoteVolumeController$Stub$Proxy;->updateRemoteController(Landroid/media/session/MediaSession$Token;)V
HSPLandroid/media/IRemoteVolumeController$Stub;-><init>()V
HSPLandroid/media/IRingtonePlayer$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/IRingtonePlayer$Stub$Proxy;->playAsync(Landroid/net/Uri;Landroid/os/UserHandle;ZLandroid/media/AudioAttributes;)V
HSPLandroid/media/IRingtonePlayer$Stub$Proxy;->stopAsync()V
HSPLandroid/media/IRingtonePlayer$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRingtonePlayer;
HSPLandroid/media/IVolumeController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -9138,6 +9497,25 @@
HSPLandroid/media/IVolumeController$Stub$Proxy;->volumeChanged(II)V
HSPLandroid/media/IVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IVolumeController;
HSPLandroid/media/MediaCodec$BufferInfo;-><init>()V
+HSPLandroid/media/MediaCodec$BufferInfo;->set(IIJI)V
+HSPLandroid/media/MediaCodec$BufferMap;->clear()V
+HSPLandroid/media/MediaCodec$BufferMap;->remove(I)V
+HSPLandroid/media/MediaCodec$CryptoInfo;-><init>()V
+HSPLandroid/media/MediaCodec;-><init>(Ljava/lang/String;ZZ)V
+HSPLandroid/media/MediaCodec;->cacheBuffers(Z)V
+HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V
+HSPLandroid/media/MediaCodec;->configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;Landroid/os/IHwBinder;I)V
+HSPLandroid/media/MediaCodec;->dequeueInputBuffer(J)I
+HSPLandroid/media/MediaCodec;->dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I
+HSPLandroid/media/MediaCodec;->finalize()V
+HSPLandroid/media/MediaCodec;->freeAllTrackedBuffers()V
+HSPLandroid/media/MediaCodec;->lockAndGetContext()J
+HSPLandroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
+HSPLandroid/media/MediaCodec;->release()V
+HSPLandroid/media/MediaCodec;->releaseOutputBuffer(IZ)V
+HSPLandroid/media/MediaCodec;->setAndUnlockContext(J)V
+HSPLandroid/media/MediaCodec;->start()V
+HSPLandroid/media/MediaCodec;->stop()V
HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->applyLevelLimits()V
HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->applyLimits(ILandroid/util/Range;)V
HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->createDiscreteSampleRates()V
@@ -9186,6 +9564,9 @@
HSPLandroid/media/MediaDescription;-><init>(Landroid/os/Parcel;)V
HSPLandroid/media/MediaDescription;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/media/MediaDrm;->getMaxSecurityLevel()I
+HSPLandroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
+HSPLandroid/media/MediaFormat;->getString(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
HSPLandroid/media/MediaMetadata$1;-><init>()V
HSPLandroid/media/MediaMetadata$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaMetadata;
HSPLandroid/media/MediaMetadata$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -9193,6 +9574,13 @@
HSPLandroid/media/MediaMetadata$Builder;->build()Landroid/media/MediaMetadata;
HPLandroid/media/MediaMetadata;->size()I
HSPLandroid/media/MediaMetadata;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/media/MediaParceledListSlice$2;-><init>()V
+HSPLandroid/media/MediaParceledListSlice$2;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaParceledListSlice;
+HSPLandroid/media/MediaParceledListSlice$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/media/MediaParceledListSlice;-><init>(Landroid/os/Parcel;)V
+HPLandroid/media/MediaParceledListSlice;-><init>(Ljava/util/List;)V
+HSPLandroid/media/MediaParceledListSlice;->getList()Ljava/util/List;
+HSPLandroid/media/MediaParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/media/MediaPlayer$2$1;->getSubtitleLooper()Landroid/os/Looper;
HSPLandroid/media/MediaPlayer$2$1;->setSubtitleWidget(Landroid/media/SubtitleTrack$RenderingWidget;)V
HSPLandroid/media/MediaPlayer$2;->run()V
@@ -9244,7 +9632,7 @@
HSPLandroid/media/MediaPlayer;->setVolume(FF)V
HSPLandroid/media/MediaPlayer;->start()V
HSPLandroid/media/MediaPlayer;->stayAwake(Z)V
-PLandroid/media/MediaRecorder;->isSystemOnlyAudioSource(I)Z
+HPLandroid/media/MediaRecorder;->isSystemOnlyAudioSource(I)Z
HSPLandroid/media/MediaRouter$Callback;-><init>()V
HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(I)Z
HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(Landroid/media/MediaRouter$RouteInfo;)Z
@@ -9256,10 +9644,21 @@
HSPLandroid/media/MediaRouter$RouteInfo;->choosePresentationDisplay()Landroid/view/Display;
HSPLandroid/media/MediaRouter$RouteInfo;->getCategory()Landroid/media/MediaRouter$RouteCategory;
HSPLandroid/media/MediaRouter$RouteInfo;->getDescription()Ljava/lang/CharSequence;
+HSPLandroid/media/MediaRouter$RouteInfo;->getDeviceType()I
HSPLandroid/media/MediaRouter$RouteInfo;->getName()Ljava/lang/CharSequence;
+HSPLandroid/media/MediaRouter$RouteInfo;->getName(Landroid/content/Context;)Ljava/lang/CharSequence;
HSPLandroid/media/MediaRouter$RouteInfo;->getName(Landroid/content/res/Resources;)Ljava/lang/CharSequence;
+HSPLandroid/media/MediaRouter$RouteInfo;->getPlaybackStream()I
+HSPLandroid/media/MediaRouter$RouteInfo;->getPlaybackType()I
+HSPLandroid/media/MediaRouter$RouteInfo;->getPresentationDisplay()Landroid/view/Display;
HSPLandroid/media/MediaRouter$RouteInfo;->getStatus()Ljava/lang/CharSequence;
HSPLandroid/media/MediaRouter$RouteInfo;->getSupportedTypes()I
+HSPLandroid/media/MediaRouter$RouteInfo;->getTag()Ljava/lang/Object;
+HSPLandroid/media/MediaRouter$RouteInfo;->getVolume()I
+HSPLandroid/media/MediaRouter$RouteInfo;->getVolumeHandling()I
+HSPLandroid/media/MediaRouter$RouteInfo;->getVolumeMax()I
+HSPLandroid/media/MediaRouter$RouteInfo;->isConnecting()Z
+HSPLandroid/media/MediaRouter$RouteInfo;->isEnabled()Z
HSPLandroid/media/MediaRouter$RouteInfo;->isSelected()Z
HSPLandroid/media/MediaRouter$RouteInfo;->matchesTypes(I)Z
HSPLandroid/media/MediaRouter$RouteInfo;->resolveStatusCode()Z
@@ -9290,14 +9689,21 @@
HSPLandroid/media/MediaRouter;-><init>(Landroid/content/Context;)V
HSPLandroid/media/MediaRouter;->addCallback(ILandroid/media/MediaRouter$Callback;I)V
HSPLandroid/media/MediaRouter;->addRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
+HSPLandroid/media/MediaRouter;->createRouteCategory(Ljava/lang/CharSequence;Z)Landroid/media/MediaRouter$RouteCategory;
HSPLandroid/media/MediaRouter;->dispatchRouteAdded(Landroid/media/MediaRouter$RouteInfo;)V
+HSPLandroid/media/MediaRouter;->dispatchRouteChanged(Landroid/media/MediaRouter$RouteInfo;I)V
HSPLandroid/media/MediaRouter;->dispatchRouteRemoved(Landroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->dispatchRouteSelected(ILandroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->dispatchRouteUnselected(ILandroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->dispatchRouteVolumeChanged(Landroid/media/MediaRouter$RouteInfo;)V
+HSPLandroid/media/MediaRouter;->getDefaultRoute()Landroid/media/MediaRouter$RouteInfo;
+HSPLandroid/media/MediaRouter;->getRouteAt(I)Landroid/media/MediaRouter$RouteInfo;
+HSPLandroid/media/MediaRouter;->getRouteCount()I
+HSPLandroid/media/MediaRouter;->getSelectedRoute(I)Landroid/media/MediaRouter$RouteInfo;
HSPLandroid/media/MediaRouter;->removeCallback(Landroid/media/MediaRouter$Callback;)V
HSPLandroid/media/MediaRouter;->removeRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->selectDefaultRouteStatic()V
+HSPLandroid/media/MediaRouter;->selectRoute(ILandroid/media/MediaRouter$RouteInfo;)V
HSPLandroid/media/MediaRouter;->selectRouteStatic(ILandroid/media/MediaRouter$RouteInfo;Z)V
HSPLandroid/media/MediaRouter;->systemVolumeChanged(I)V
HSPLandroid/media/MediaRouter;->typesToString(I)Ljava/lang/String;
@@ -9330,6 +9736,9 @@
HSPLandroid/media/PlayerBase;->updateAppOpsPlayAudio_sync(Z)V
HSPLandroid/media/PlayerBase;->updatePlayerVolume()V
HSPLandroid/media/PlayerBase;->updateState(I)V
+HSPLandroid/media/Rating$1;-><init>()V
+HSPLandroid/media/Rating$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/Rating;
+HSPLandroid/media/Rating$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/media/Ringtone;-><init>(Landroid/content/Context;Z)V
HSPLandroid/media/Ringtone;->applyPlaybackProperties_sync()V
HSPLandroid/media/Ringtone;->destroyLocalPlayer()V
@@ -9342,11 +9751,13 @@
HSPLandroid/media/RingtoneManager;->getDefaultUri(I)Landroid/net/Uri;
HSPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;
HSPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;ILandroid/media/VolumeShaper$Configuration;)Landroid/media/Ringtone;
+HPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;Landroid/media/VolumeShaper$Configuration;)Landroid/media/Ringtone;
HSPLandroid/media/SoundPool$Builder;->build()Landroid/media/SoundPool;
HSPLandroid/media/SoundPool$Builder;->setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/SoundPool$Builder;
HSPLandroid/media/SoundPool$EventHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/media/SoundPool;-><init>(ILandroid/media/AudioAttributes;)V
HSPLandroid/media/SoundPool;->load(Ljava/lang/String;I)I
+HSPLandroid/media/SoundPool;->play(IFFIIF)I
HSPLandroid/media/SoundPool;->playerSetAuxEffectSendLevel(ZF)I
HSPLandroid/media/SoundPool;->playerSetVolume(ZFF)V
HSPLandroid/media/SoundPool;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
@@ -9364,7 +9775,7 @@
HSPLandroid/media/SubtitleController;->setAnchor(Landroid/media/SubtitleController$Anchor;)V
HSPLandroid/media/ToneGenerator;-><init>(II)V
HSPLandroid/media/ToneGenerator;->finalize()V
-PLandroid/media/ToneGenerator;->startTone(I)Z
+HPLandroid/media/ToneGenerator;->startTone(I)Z
HSPLandroid/media/Utils$1;->compare(Landroid/util/Range;Landroid/util/Range;)I
HSPLandroid/media/Utils$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLandroid/media/Utils$2;->compare(Landroid/util/Range;Landroid/util/Range;)I
@@ -9429,17 +9840,18 @@
PLandroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
HSPLandroid/media/session/ICallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ICallback;
HSPLandroid/media/session/ISession$Stub;-><init>()V
-PLandroid/media/session/ISession$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ISession$Stub;->asBinder()Landroid/os/IBinder;
HPLandroid/media/session/ISession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/media/session/ISessionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/media/session/ISessionCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/media/session/ISessionController$Stub;-><init>()V
HPLandroid/media/session/ISessionController$Stub;->asBinder()Landroid/os/IBinder;
HPLandroid/media/session/ISessionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onMetadataChanged(Landroid/media/MediaMetadata;)V
HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onQueueChanged(Landroid/media/ParceledListSlice;)V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onQueueChanged(Landroid/media/MediaParceledListSlice;)V
HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onSessionDestroyed()V
HSPLandroid/media/session/ISessionManager$Stub$Proxy;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
HSPLandroid/media/session/ISessionManager$Stub;-><init>()V
@@ -9553,12 +9965,12 @@
HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;IILandroid/os/Handler;)V
HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;I)V
-PLandroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
+HPLandroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
HSPLandroid/net/ConnectivityManager;->sendRequestForNetwork(Landroid/net/NetworkCapabilities;Landroid/net/ConnectivityManager$NetworkCallback;IIILandroid/net/ConnectivityManager$CallbackHandler;)Landroid/net/NetworkRequest;
HSPLandroid/net/ConnectivityManager;->setProcessDefaultNetwork(Landroid/net/Network;)Z
HSPLandroid/net/ConnectivityManager;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
HSPLandroid/net/ConnectivityManager;->unregisterNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
-PLandroid/net/ConnectivityManager;->unsupportedStartingFrom(I)V
+HPLandroid/net/ConnectivityManager;->unsupportedStartingFrom(I)V
HSPLandroid/net/ConnectivityMetricsEvent$1;-><init>()V
HSPLandroid/net/ConnectivityMetricsEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ConnectivityMetricsEvent;
HSPLandroid/net/ConnectivityMetricsEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -9572,10 +9984,10 @@
HSPLandroid/net/DhcpInfo$1;-><init>()V
HPLandroid/net/DhcpInfo;->writeToParcel(Landroid/os/Parcel;I)V
PLandroid/net/DhcpResults$1;-><init>()V
-PLandroid/net/DhcpResults;-><init>(Landroid/net/DhcpResults;)V
+HPLandroid/net/DhcpResults;-><init>(Landroid/net/DhcpResults;)V
HPLandroid/net/DhcpResults;-><init>(Landroid/net/StaticIpConfiguration;)V
-PLandroid/net/DhcpResults;->clear()V
-PLandroid/net/DhcpResults;->hasMeteredHint()Z
+HPLandroid/net/DhcpResults;->clear()V
+HPLandroid/net/DhcpResults;->hasMeteredHint()Z
HPLandroid/net/DhcpResults;->toStaticIpConfiguration()Landroid/net/StaticIpConfiguration;
HPLandroid/net/DhcpResults;->toString()Ljava/lang/String;
HSPLandroid/net/EventLogTags;->writeNtpSuccess(Ljava/lang/String;JJ)V
@@ -9598,7 +10010,7 @@
HSPLandroid/net/IConnectivityManager$Stub$Proxy;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
HSPLandroid/net/IConnectivityManager$Stub;-><init>()V
HSPLandroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
-PLandroid/net/IConnectivityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/net/IConnectivityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/net/IConnectivityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/net/IEthernetManager$Stub;-><init>()V
HSPLandroid/net/IIpConnectivityMetrics$Stub;-><init>()V
@@ -9633,7 +10045,7 @@
HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getMobileIfaces()[Ljava/lang/String;
HSPLandroid/net/INetworkStatsService$Stub;-><init>()V
HSPLandroid/net/INetworkStatsService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsService;
-PLandroid/net/INetworkStatsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/net/INetworkStatsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/net/INetworkStatsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HPLandroid/net/INetworkStatsSession$Stub;-><init>()V
HPLandroid/net/INetworkStatsSession$Stub;->asBinder()Landroid/os/IBinder;
@@ -9642,7 +10054,7 @@
HSPLandroid/net/InetAddresses;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLandroid/net/InterfaceConfiguration$1;-><init>()V
HSPLandroid/net/InterfaceConfiguration;-><init>()V
-PLandroid/net/InterfaceConfiguration;->getLinkAddress()Landroid/net/LinkAddress;
+HPLandroid/net/InterfaceConfiguration;->getLinkAddress()Landroid/net/LinkAddress;
HSPLandroid/net/InterfaceConfiguration;->hasFlag(Ljava/lang/String;)Z
HSPLandroid/net/InterfaceConfiguration;->isUp()Z
HSPLandroid/net/InterfaceConfiguration;->setFlag(Ljava/lang/String;)V
@@ -9698,6 +10110,7 @@
HSPLandroid/net/LinkProperties;->addLinkAddress(Landroid/net/LinkAddress;)Z
HSPLandroid/net/LinkProperties;->addPcscfServer(Ljava/net/InetAddress;)Z
HSPLandroid/net/LinkProperties;->addRoute(Landroid/net/RouteInfo;)Z
+HSPLandroid/net/LinkProperties;->addStackedLink(Landroid/net/LinkProperties;)Z
HSPLandroid/net/LinkProperties;->addValidatedPrivateDnsServer(Ljava/net/InetAddress;)Z
HSPLandroid/net/LinkProperties;->clear()V
HSPLandroid/net/LinkProperties;->describeContents()I
@@ -9712,6 +10125,7 @@
HSPLandroid/net/LinkProperties;->getInterfaceName()Ljava/lang/String;
HSPLandroid/net/LinkProperties;->getLinkAddresses()Ljava/util/List;
HSPLandroid/net/LinkProperties;->getMtu()I
+HSPLandroid/net/LinkProperties;->getPrivateDnsServerName()Ljava/lang/String;
HSPLandroid/net/LinkProperties;->getRoutes()Ljava/util/List;
HSPLandroid/net/LinkProperties;->getStackedLinks()Ljava/util/List;
HSPLandroid/net/LinkProperties;->hasGlobalIPv6Address()Z
@@ -9726,6 +10140,7 @@
HSPLandroid/net/LinkProperties;->hasIpv6DefaultRoute()Z
HSPLandroid/net/LinkProperties;->isIdenticalAddresses(Landroid/net/LinkProperties;)Z
HSPLandroid/net/LinkProperties;->isIdenticalDnses(Landroid/net/LinkProperties;)Z
+HSPLandroid/net/LinkProperties;->isIdenticalInterfaceName(Landroid/net/LinkProperties;)Z
HSPLandroid/net/LinkProperties;->isIdenticalRoutes(Landroid/net/LinkProperties;)Z
HSPLandroid/net/LinkProperties;->isIdenticalStackedLinks(Landroid/net/LinkProperties;)Z
HSPLandroid/net/LinkProperties;->isPrivateDnsActive()Z
@@ -9803,14 +10218,18 @@
HSPLandroid/net/Network$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/Network$1;->newArray(I)[Landroid/net/Network;
HSPLandroid/net/Network$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/net/Network$NetworkBoundSocketFactory;->createSocket()Ljava/net/Socket;
HSPLandroid/net/Network;-><init>(I)V
HSPLandroid/net/Network;->bindSocket(Ljava/io/FileDescriptor;)V
HSPLandroid/net/Network;->bindSocket(Ljava/net/DatagramSocket;)V
+HSPLandroid/net/Network;->bindSocket(Ljava/net/Socket;)V
HSPLandroid/net/Network;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/Network;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
HSPLandroid/net/Network;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLandroid/net/Network;->getNetIdForResolv()I
HSPLandroid/net/Network;->getNetworkHandle()J
HSPLandroid/net/Network;->getPrivateDnsBypassingCopy()Landroid/net/Network;
+HSPLandroid/net/Network;->getSocketFactory()Ljavax/net/SocketFactory;
HSPLandroid/net/Network;->hashCode()I
HSPLandroid/net/Network;->toString()Ljava/lang/String;
HSPLandroid/net/Network;->writeToParcel(Landroid/os/Parcel;I)V
@@ -9947,6 +10366,7 @@
HSPLandroid/net/NetworkPolicy;->hasCycle()Z
HSPLandroid/net/NetworkPolicy;->isOverLimit(J)Z
HSPLandroid/net/NetworkPolicy;->isOverWarning(J)Z
+HSPLandroid/net/NetworkPolicy;->toString()Ljava/lang/String;
HSPLandroid/net/NetworkPolicyManager$1;->hasNext()Z
HSPLandroid/net/NetworkPolicyManager$1;->next()Landroid/util/Pair;
HSPLandroid/net/NetworkPolicyManager$1;->next()Ljava/lang/Object;
@@ -10063,9 +10483,12 @@
HSPLandroid/net/NetworkTemplate;-><init>(ILjava/lang/String;Ljava/lang/String;)V
HSPLandroid/net/NetworkTemplate;-><init>(ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;III)V
HSPLandroid/net/NetworkTemplate;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/net/NetworkTemplate;->buildTemplateMobileAll(Ljava/lang/String;)Landroid/net/NetworkTemplate;
HSPLandroid/net/NetworkTemplate;->buildTemplateMobileWildcard()Landroid/net/NetworkTemplate;
HSPLandroid/net/NetworkTemplate;->buildTemplateWifiWildcard()Landroid/net/NetworkTemplate;
+HSPLandroid/net/NetworkTemplate;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/NetworkTemplate;->getMatchRule()I
+HSPLandroid/net/NetworkTemplate;->getMatchRuleName(I)Ljava/lang/String;
HSPLandroid/net/NetworkTemplate;->getNetworkId()Ljava/lang/String;
HSPLandroid/net/NetworkTemplate;->getSubscriberId()Ljava/lang/String;
HSPLandroid/net/NetworkTemplate;->hashCode()I
@@ -10074,14 +10497,15 @@
HSPLandroid/net/NetworkTemplate;->matches(Landroid/net/NetworkIdentity;)Z
HSPLandroid/net/NetworkTemplate;->matchesMobile(Landroid/net/NetworkIdentity;)Z
HSPLandroid/net/NetworkTemplate;->normalize(Landroid/net/NetworkTemplate;[Ljava/lang/String;)Landroid/net/NetworkTemplate;
+HSPLandroid/net/NetworkTemplate;->toString()Ljava/lang/String;
HSPLandroid/net/NetworkTemplate;->writeToParcel(Landroid/os/Parcel;I)V
HPLandroid/net/NetworkUtils;->inetAddressToInt(Ljava/net/Inet4Address;)I
HSPLandroid/net/NetworkUtils;->makeStrings(Ljava/util/Collection;)[Ljava/lang/String;
HSPLandroid/net/NetworkUtils;->maskRawAddress([BI)V
HSPLandroid/net/NetworkUtils;->numericToInetAddress(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLandroid/net/NetworkUtils;->parseIpAndMask(Ljava/lang/String;)Landroid/util/Pair;
-PLandroid/net/NetworkWatchlistManager;-><init>(Landroid/content/Context;)V
-PLandroid/net/NetworkWatchlistManager;->reportWatchlistIfNecessary()V
+HPLandroid/net/NetworkWatchlistManager;-><init>(Landroid/content/Context;)V
+HPLandroid/net/NetworkWatchlistManager;->reportWatchlistIfNecessary()V
HSPLandroid/net/Proxy;->setHttpProxySystemProperty(Landroid/net/ProxyInfo;)V
HSPLandroid/net/Proxy;->setHttpProxySystemProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
HSPLandroid/net/ProxyInfo$1;-><init>()V
@@ -10090,6 +10514,7 @@
HSPLandroid/net/RouteInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;)V
HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;I)V
+HPLandroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;Ljava/lang/String;)V
HSPLandroid/net/RouteInfo;-><init>(Ljava/net/InetAddress;)V
HSPLandroid/net/RouteInfo;->equals(Ljava/lang/Object;)Z
HSPLandroid/net/RouteInfo;->isHost()Z
@@ -10099,6 +10524,8 @@
HSPLandroid/net/ScoredNetwork$1;-><init>()V
HSPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ScoredNetwork;
HSPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/ScoredNetwork$1;->newArray(I)[Landroid/net/ScoredNetwork;
+HPLandroid/net/ScoredNetwork$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/net/ScoredNetwork;-><init>(Landroid/os/Parcel;)V
HSPLandroid/net/SntpClient;->checkValidServerReply(BBIJ)V
HSPLandroid/net/SntpClient;->read32([BI)J
@@ -10168,6 +10595,7 @@
HSPLandroid/net/Uri$Builder;->fragment(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->path(Ljava/lang/String;)Landroid/net/Uri$Builder;
HSPLandroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;
+HSPLandroid/net/Uri$Builder;->toString()Ljava/lang/String;
HSPLandroid/net/Uri$HierarchicalUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;)V
HSPLandroid/net/Uri$HierarchicalUri;-><init>(Ljava/lang/String;Landroid/net/Uri$Part;Landroid/net/Uri$PathPart;Landroid/net/Uri$Part;Landroid/net/Uri$Part;Landroid/net/Uri$1;)V
HSPLandroid/net/Uri$HierarchicalUri;->appendSspTo(Ljava/lang/StringBuilder;)V
@@ -10218,6 +10646,7 @@
HSPLandroid/net/Uri$StringUri;->getEncodedAuthority()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getEncodedPath()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getEncodedQuery()Ljava/lang/String;
+HSPLandroid/net/Uri$StringUri;->getFragment()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getPath()Ljava/lang/String;
HSPLandroid/net/Uri$StringUri;->getPathSegments()Ljava/util/List;
HSPLandroid/net/Uri$StringUri;->getScheme()Ljava/lang/String;
@@ -10243,6 +10672,7 @@
HSPLandroid/net/Uri;->getQueryParameterNames()Ljava/util/Set;
HSPLandroid/net/Uri;->getQueryParameters(Ljava/lang/String;)Ljava/util/List;
HSPLandroid/net/Uri;->hashCode()I
+HSPLandroid/net/Uri;->isAbsolute()Z
HSPLandroid/net/Uri;->isAllowed(CLjava/lang/String;)Z
HSPLandroid/net/Uri;->isOpaque()Z
HSPLandroid/net/Uri;->isPathPrefixMatch(Landroid/net/Uri;)Z
@@ -10318,7 +10748,7 @@
PLandroid/net/metrics/WakeupStats;->countEvent(Landroid/net/metrics/WakeupEvent;)V
PLandroid/net/metrics/WakeupStats;->updateDuration()V
HSPLandroid/net/nsd/INsdManager$Stub;-><init>()V
-PLandroid/net/nsd/INsdManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/nsd/INsdManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/net/shared/Inet4AddressUtils;->inet4AddressToIntHTH(Ljava/net/Inet4Address;)I
HSPLandroid/net/sip/SipManager;->newInstance(Landroid/content/Context;)Landroid/net/sip/SipManager;
HSPLandroid/net/util/-$$Lambda$MultinetworkPolicyTracker$0siHK6f4lHJz8hbdHbT6G4Kp-V4;->run()V
@@ -10347,17 +10777,18 @@
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getScanResults(Ljava/lang/String;)Ljava/util/List;
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getSupportedFeatures()J
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getVerboseLoggingLevel()I
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiApEnabledState()I
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiEnabledState()I
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->isScanAlwaysAvailable()Z
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->setCountryCode(Ljava/lang/String;)V
HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->startScan(Ljava/lang/String;)Z
HSPLandroid/net/wifi/IWifiManager$Stub;-><init>()V
HSPLandroid/net/wifi/IWifiManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiManager;
-PLandroid/net/wifi/IWifiManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/net/wifi/IWifiManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/net/wifi/IWifiManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/net/wifi/IWifiScanner$Stub;-><init>()V
HSPLandroid/net/wifi/IWifiScanner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiScanner;
-PLandroid/net/wifi/IWifiScanner$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/wifi/IWifiScanner$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/net/wifi/ParcelUtil;->readPrivateKey(Landroid/os/Parcel;)Ljava/security/PrivateKey;
HSPLandroid/net/wifi/ScanResult$1;-><init>()V
HSPLandroid/net/wifi/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/ScanResult;
@@ -10368,7 +10799,7 @@
HPLandroid/net/wifi/ScanResult;->is24GHz()Z
HPLandroid/net/wifi/ScanResult;->is5GHz()Z
HPLandroid/net/wifi/ScanResult;->isPasspointNetwork()Z
-PLandroid/net/wifi/ScanResult;->setFlag(J)V
+HPLandroid/net/wifi/ScanResult;->setFlag(J)V
HSPLandroid/net/wifi/ScanResult;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/net/wifi/SupplicantState$1;-><init>()V
HSPLandroid/net/wifi/SupplicantState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/SupplicantState;
@@ -10378,16 +10809,16 @@
HSPLandroid/net/wifi/SupplicantState;->isConnecting(Landroid/net/wifi/SupplicantState;)Z
HSPLandroid/net/wifi/SupplicantState;->isHandshakeState(Landroid/net/wifi/SupplicantState;)Z
HSPLandroid/net/wifi/SupplicantState;->values()[Landroid/net/wifi/SupplicantState;
-PLandroid/net/wifi/SupplicantState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/wifi/SupplicantState;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/net/wifi/WifiActivityEnergyInfo$1;-><init>()V
HSPLandroid/net/wifi/WifiActivityEnergyInfo;-><init>(JIJ[JJJJJ)V
-PLandroid/net/wifi/WifiActivityEnergyInfo;->toString()Ljava/lang/String;
+HPLandroid/net/wifi/WifiActivityEnergyInfo;->toString()Ljava/lang/String;
HSPLandroid/net/wifi/WifiConfiguration$1;-><init>()V
HSPLandroid/net/wifi/WifiConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiConfiguration;
HSPLandroid/net/wifi/WifiConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;-><init>()V
-PLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter()V
-PLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter(I)V
+HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter()V
+HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter(I)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->copy(Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getCandidate()Landroid/net/wifi/ScanResult;
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getCandidateScore()I
@@ -10402,6 +10833,7 @@
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkSelectionStatus()I
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getNetworkStatusString()Ljava/lang/String;
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->getSeenInLastQualifiedNetworkSelection()Z
+HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->incrementDisableReasonCounter(I)V
HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isDisabledByReason(I)Z
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkEnabled()Z
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->isNetworkPermanentlyDisabled()Z
@@ -10421,28 +10853,28 @@
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNotRecommended(Z)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setSeenInLastQualifiedNetworkSelection(Z)V
HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->writeToParcel(Landroid/os/Parcel;)V
-PLandroid/net/wifi/WifiConfiguration$RecentFailure;->clear()V
+HPLandroid/net/wifi/WifiConfiguration$RecentFailure;->clear()V
HSPLandroid/net/wifi/WifiConfiguration$RecentFailure;->getAssociationStatus()I
HSPLandroid/net/wifi/WifiConfiguration$RecentFailure;->setAssociationStatus(I)V
HSPLandroid/net/wifi/WifiConfiguration;-><init>()V
HSPLandroid/net/wifi/WifiConfiguration;-><init>(Landroid/net/wifi/WifiConfiguration;)V
HSPLandroid/net/wifi/WifiConfiguration;->configKey()Ljava/lang/String;
HSPLandroid/net/wifi/WifiConfiguration;->configKey(Z)Ljava/lang/String;
-PLandroid/net/wifi/WifiConfiguration;->describeContents()I
+HPLandroid/net/wifi/WifiConfiguration;->describeContents()I
HSPLandroid/net/wifi/WifiConfiguration;->getAuthType()I
-PLandroid/net/wifi/WifiConfiguration;->getBytesForBackup()[B
-PLandroid/net/wifi/WifiConfiguration;->getHttpProxy()Landroid/net/ProxyInfo;
+HPLandroid/net/wifi/WifiConfiguration;->getBytesForBackup()[B
+HPLandroid/net/wifi/WifiConfiguration;->getHttpProxy()Landroid/net/ProxyInfo;
HSPLandroid/net/wifi/WifiConfiguration;->getIpAssignment()Landroid/net/IpConfiguration$IpAssignment;
HSPLandroid/net/wifi/WifiConfiguration;->getIpConfiguration()Landroid/net/IpConfiguration;
HSPLandroid/net/wifi/WifiConfiguration;->getNetworkSelectionStatus()Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
HSPLandroid/net/wifi/WifiConfiguration;->getOrCreateRandomizedMacAddress()Landroid/net/MacAddress;
-PLandroid/net/wifi/WifiConfiguration;->getPrintableSsid()Ljava/lang/String;
+HPLandroid/net/wifi/WifiConfiguration;->getPrintableSsid()Ljava/lang/String;
HSPLandroid/net/wifi/WifiConfiguration;->getRandomizedMacAddress()Landroid/net/MacAddress;
HPLandroid/net/wifi/WifiConfiguration;->isEnterprise()Z
HSPLandroid/net/wifi/WifiConfiguration;->isEphemeral()Z
HSPLandroid/net/wifi/WifiConfiguration;->isMetered(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiInfo;)Z
HSPLandroid/net/wifi/WifiConfiguration;->isPasspoint()Z
-PLandroid/net/wifi/WifiConfiguration;->isValidMacAddressForRandomization(Landroid/net/MacAddress;)Z
+HPLandroid/net/wifi/WifiConfiguration;->isValidMacAddressForRandomization(Landroid/net/MacAddress;)Z
HSPLandroid/net/wifi/WifiConfiguration;->setIpConfiguration(Landroid/net/IpConfiguration;)V
HSPLandroid/net/wifi/WifiConfiguration;->setNetworkSelectionStatus(Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
HSPLandroid/net/wifi/WifiConfiguration;->setRandomizedMacAddress(Landroid/net/MacAddress;)V
@@ -10451,12 +10883,12 @@
HSPLandroid/net/wifi/WifiEnterpriseConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiEnterpriseConfig;
HSPLandroid/net/wifi/WifiEnterpriseConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/net/wifi/WifiEnterpriseConfig;->copyFrom(Landroid/net/wifi/WifiEnterpriseConfig;ZLjava/lang/String;)V
-PLandroid/net/wifi/WifiEnterpriseConfig;->getAnonymousIdentity()Ljava/lang/String;
-PLandroid/net/wifi/WifiEnterpriseConfig;->getCaCertificates()[Ljava/security/cert/X509Certificate;
+HPLandroid/net/wifi/WifiEnterpriseConfig;->getAnonymousIdentity()Ljava/lang/String;
+HPLandroid/net/wifi/WifiEnterpriseConfig;->getCaCertificates()[Ljava/security/cert/X509Certificate;
HSPLandroid/net/wifi/WifiEnterpriseConfig;->getEapMethod()I
HSPLandroid/net/wifi/WifiEnterpriseConfig;->getFieldValue(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/net/wifi/WifiEnterpriseConfig;->getFieldValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLandroid/net/wifi/WifiEnterpriseConfig;->getIdentity()Ljava/lang/String;
+HPLandroid/net/wifi/WifiEnterpriseConfig;->getIdentity()Ljava/lang/String;
HSPLandroid/net/wifi/WifiEnterpriseConfig;->getPassword()Ljava/lang/String;
HSPLandroid/net/wifi/WifiEnterpriseConfig;->getPhase2Method()I
HSPLandroid/net/wifi/WifiEnterpriseConfig;->writeToParcel(Landroid/os/Parcel;I)V
@@ -10475,7 +10907,7 @@
HPLandroid/net/wifi/WifiInfo;->getRxLinkSpeedMbps()I
HSPLandroid/net/wifi/WifiInfo;->getSSID()Ljava/lang/String;
HSPLandroid/net/wifi/WifiInfo;->getSupplicantState()Landroid/net/wifi/SupplicantState;
-PLandroid/net/wifi/WifiInfo;->getWifiSsid()Landroid/net/wifi/WifiSsid;
+HPLandroid/net/wifi/WifiInfo;->getWifiSsid()Landroid/net/wifi/WifiSsid;
HPLandroid/net/wifi/WifiInfo;->is24GHz()Z
HSPLandroid/net/wifi/WifiInfo;->is5GHz()Z
HSPLandroid/net/wifi/WifiInfo;->isEphemeral()Z
@@ -10519,13 +10951,15 @@
HSPLandroid/net/wifi/WifiManager;->getSupportedFeatures()J
HSPLandroid/net/wifi/WifiManager;->getVerboseLoggingLevel()I
HSPLandroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
+HSPLandroid/net/wifi/WifiManager;->getWifiApState()I
HSPLandroid/net/wifi/WifiManager;->getWifiState()I
HSPLandroid/net/wifi/WifiManager;->isEnhancedOpenSupported()Z
HSPLandroid/net/wifi/WifiManager;->isScanAlwaysAvailable()Z
+HSPLandroid/net/wifi/WifiManager;->isWifiApEnabled()Z
HSPLandroid/net/wifi/WifiManager;->isWifiEnabled()Z
HSPLandroid/net/wifi/WifiManager;->isWpa3SaeSupported()Z
HSPLandroid/net/wifi/WifiManager;->isWpa3SuiteBSupported()Z
-PLandroid/net/wifi/WifiManager;->retrieveBackupData()[B
+HPLandroid/net/wifi/WifiManager;->retrieveBackupData()[B
HSPLandroid/net/wifi/WifiManager;->setCountryCode(Ljava/lang/String;)V
HSPLandroid/net/wifi/WifiManager;->startScan()Z
HSPLandroid/net/wifi/WifiManager;->startScan(Landroid/os/WorkSource;)Z
@@ -10556,8 +10990,8 @@
HSPLandroid/net/wifi/WifiScanner$ScanData$1;-><init>()V
HPLandroid/net/wifi/WifiScanner$ScanData;->getBandScanned()I
HPLandroid/net/wifi/WifiScanner$ScanData;->getBucketsScanned()I
-PLandroid/net/wifi/WifiScanner$ScanData;->getFlags()I
-PLandroid/net/wifi/WifiScanner$ScanData;->getId()I
+HPLandroid/net/wifi/WifiScanner$ScanData;->getFlags()I
+HPLandroid/net/wifi/WifiScanner$ScanData;->getId()I
HPLandroid/net/wifi/WifiScanner$ScanData;->getResults()[Landroid/net/wifi/ScanResult;
HPLandroid/net/wifi/WifiScanner$ScanData;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/net/wifi/WifiScanner$ScanSettings$1;-><init>()V
@@ -10575,9 +11009,9 @@
HSPLandroid/net/wifi/WifiScanner;->removeListener(I)Ljava/lang/Object;
HSPLandroid/net/wifi/WifiScanner;->removeListener(Ljava/lang/Object;)I
HSPLandroid/net/wifi/WifiScanner;->setScanningEnabled(Z)V
-PLandroid/net/wifi/WifiScanner;->startDisconnectedPnoScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;Landroid/net/wifi/WifiScanner$PnoScanListener;)V
+HPLandroid/net/wifi/WifiScanner;->startDisconnectedPnoScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;Landroid/net/wifi/WifiScanner$PnoScanListener;)V
HSPLandroid/net/wifi/WifiScanner;->startScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$ScanListener;Landroid/os/WorkSource;)V
-PLandroid/net/wifi/WifiScanner;->stopPnoScan(Landroid/net/wifi/WifiScanner$ScanListener;)V
+HPLandroid/net/wifi/WifiScanner;->stopPnoScan(Landroid/net/wifi/WifiScanner$ScanListener;)V
HSPLandroid/net/wifi/WifiSsid$1;-><init>()V
HSPLandroid/net/wifi/WifiSsid$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiSsid;
HSPLandroid/net/wifi/WifiSsid$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -10603,16 +11037,20 @@
HSPLandroid/net/wifi/p2p/WifiP2pGroupList;-><init>(Landroid/net/wifi/p2p/WifiP2pGroupList;Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;)V
HSPLandroid/net/wifi/p2p/WifiP2pInfo$1;-><init>()V
HSPLandroid/net/wifi/rtt/IWifiRttManager$Stub;-><init>()V
-PLandroid/net/wifi/rtt/IWifiRttManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/wifi/rtt/IWifiRttManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->deviceSupportsNfcSecure()Z
HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcCardEmulationInterface()Landroid/nfc/INfcCardEmulation;
HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcFCardEmulationInterface()Landroid/nfc/INfcFCardEmulation;
HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getNfcTagInterface()Landroid/nfc/INfcTag;
+HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->getState()I
HSPLandroid/nfc/NfcAdapter;-><init>(Landroid/content/Context;)V
HSPLandroid/nfc/NfcAdapter;->getDefaultAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
HSPLandroid/nfc/NfcAdapter;->getNfcAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;
HSPLandroid/nfc/NfcAdapter;->hasBeamFeature()Z
HSPLandroid/nfc/NfcAdapter;->hasNfcFeature()Z
HSPLandroid/nfc/NfcAdapter;->hasNfcHceFeature()Z
+HSPLandroid/nfc/NfcAdapter;->isEnabled()Z
+HSPLandroid/nfc/NfcAdapter;->isSecureNfcSupported()Z
HSPLandroid/nfc/NfcManager;-><init>(Landroid/content/Context;)V
HSPLandroid/opengl/EGL14;->eglCreateWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;
HSPLandroid/opengl/EGLConfig;-><init>(J)V
@@ -10742,6 +11180,7 @@
HPLandroid/os/BatteryStats$LevelStepTracker;->getModModeAt(I)I
HSPLandroid/os/BatteryStats$LevelStepTracker;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/os/BatteryStats$LevelStepTracker;->writeToParcel(Landroid/os/Parcel;)V
+HSPLandroid/os/BatteryStats$Timer;-><init>()V
HPLandroid/os/BatteryStats$Timer;->getCurrentDurationMsLocked(J)J
HPLandroid/os/BatteryStats$Timer;->getMaxDurationMsLocked(J)J
HPLandroid/os/BatteryStats$Timer;->getTotalDurationMsLocked(J)J
@@ -10763,12 +11202,14 @@
HSPLandroid/os/Binder$PropagateWorkSourceTransactListener;->onTransactEnded(Ljava/lang/Object;)V
HSPLandroid/os/Binder$PropagateWorkSourceTransactListener;->onTransactStarted(Landroid/os/IBinder;I)Ljava/lang/Object;
HSPLandroid/os/Binder;-><init>()V
+HSPLandroid/os/Binder;-><init>(Ljava/lang/String;)V
HSPLandroid/os/Binder;->access$000()J
HSPLandroid/os/Binder;->allowBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
HSPLandroid/os/Binder;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
HSPLandroid/os/Binder;->copyAllowBlocking(Landroid/os/IBinder;Landroid/os/IBinder;)V
HSPLandroid/os/Binder;->defaultBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
HSPLandroid/os/Binder;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLandroid/os/Binder;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
HSPLandroid/os/Binder;->dump(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
HSPLandroid/os/Binder;->execTransact(IJJI)Z
HSPLandroid/os/Binder;->execTransactInternal(IJJII)Z
@@ -10784,6 +11225,7 @@
HSPLandroid/os/Binder;->setProxyTransactListener(Landroid/os/Binder$ProxyTransactListener;)V
HSPLandroid/os/Binder;->setWarnOnBlocking(Z)V
HSPLandroid/os/Binder;->setWorkSourceProvider(Lcom/android/internal/os/BinderInternal$WorkSourceProvider;)V
+HSPLandroid/os/Binder;->shellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
HSPLandroid/os/Binder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/Binder;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z
HSPLandroid/os/Binder;->withCleanCallingIdentity(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;)V
@@ -10811,6 +11253,8 @@
HSPLandroid/os/Bundle$1;-><init>()V
HSPLandroid/os/Bundle$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Bundle;
HSPLandroid/os/Bundle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/Bundle$1;->newArray(I)[Landroid/os/Bundle;
+HSPLandroid/os/Bundle$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/os/Bundle;-><init>()V
HSPLandroid/os/Bundle;-><init>(I)V
HSPLandroid/os/Bundle;-><init>(Landroid/os/Bundle;)V
@@ -10858,6 +11302,8 @@
HSPLandroid/os/Bundle;->toString()Ljava/lang/String;
HSPLandroid/os/Bundle;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/os/CancellationSignal;-><init>()V
+HSPLandroid/os/CancellationSignal;->cancel()V
+HSPLandroid/os/CancellationSignal;->createTransport()Landroid/os/ICancellationSignal;
HSPLandroid/os/CancellationSignal;->fromTransport(Landroid/os/ICancellationSignal;)Landroid/os/CancellationSignal;
HSPLandroid/os/CancellationSignal;->isCanceled()Z
HSPLandroid/os/CancellationSignal;->setOnCancelListener(Landroid/os/CancellationSignal$OnCancelListener;)V
@@ -10869,6 +11315,7 @@
HSPLandroid/os/ConditionVariable;-><init>(Z)V
HSPLandroid/os/ConditionVariable;->block()V
HSPLandroid/os/ConditionVariable;->block(J)Z
+HSPLandroid/os/ConditionVariable;->close()V
HSPLandroid/os/ConditionVariable;->open()V
HSPLandroid/os/CpuUsageInfo$1;-><init>()V
HSPLandroid/os/DeadObjectException;-><init>()V
@@ -10878,6 +11325,7 @@
HSPLandroid/os/Debug$MemoryInfo$1;->newArray(I)[Landroid/os/Debug$MemoryInfo;
HSPLandroid/os/Debug$MemoryInfo$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/os/Debug$MemoryInfo;-><init>()V
+HSPLandroid/os/Debug$MemoryInfo;->getMemoryStats()Ljava/util/Map;
HSPLandroid/os/Debug$MemoryInfo;->getOtherLabel(I)Ljava/lang/String;
HSPLandroid/os/Debug$MemoryInfo;->getOtherPrivate(I)I
HSPLandroid/os/Debug$MemoryInfo;->getOtherPrivateClean(I)I
@@ -10896,6 +11344,7 @@
HSPLandroid/os/Debug$MemoryInfo;->getSummaryStack()I
HSPLandroid/os/Debug$MemoryInfo;->getSummarySystem()I
HSPLandroid/os/Debug$MemoryInfo;->getSummaryTotalPss()I
+HSPLandroid/os/Debug$MemoryInfo;->getSummaryTotalSwap()I
HSPLandroid/os/Debug$MemoryInfo;->getSummaryTotalSwapPss()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalPrivateClean()I
HSPLandroid/os/Debug$MemoryInfo;->getTotalPrivateDirty()I
@@ -10938,10 +11387,11 @@
HSPLandroid/os/Environment$UserEnvironment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment$UserEnvironment;->buildExternalStoragePublicDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment$UserEnvironment;->getExternalDirs()[Ljava/io/File;
-PLandroid/os/Environment$UserEnvironment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
+HPLandroid/os/Environment$UserEnvironment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/os/Environment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment;->buildPath(Ljava/io/File;[Ljava/lang/String;)Ljava/io/File;
+HSPLandroid/os/Environment;->buildPaths([Ljava/io/File;[Ljava/lang/String;)[Ljava/io/File;
HSPLandroid/os/Environment;->getDataAppDirectory(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/os/Environment;->getDataDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getDataMiscCeDirectory()Ljava/io/File;
@@ -10949,7 +11399,7 @@
HSPLandroid/os/Environment;->getDataMiscDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getDataProfilesDeDirectory(I)Ljava/io/File;
HSPLandroid/os/Environment;->getDataProfilesDePackageDirectory(ILjava/lang/String;)Ljava/io/File;
-PLandroid/os/Environment;->getDataRefProfilesDePackageDirectory(Ljava/lang/String;)Ljava/io/File;
+HPLandroid/os/Environment;->getDataRefProfilesDePackageDirectory(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/os/Environment;->getDataSystemCeDirectory()Ljava/io/File;
HSPLandroid/os/Environment;->getDataSystemCeDirectory(I)Ljava/io/File;
HSPLandroid/os/Environment;->getDataSystemDeDirectory()Ljava/io/File;
@@ -10981,7 +11431,7 @@
HSPLandroid/os/Environment;->isExternalStorageEmulated(Ljava/io/File;)Z
HSPLandroid/os/Environment;->setUserRequired(Z)V
HSPLandroid/os/FactoryTest;->getMode()I
-PLandroid/os/FactoryTest;->isLongPressOnPowerOffEnabled()Z
+HPLandroid/os/FactoryTest;->isLongPressOnPowerOffEnabled()Z
PLandroid/os/FileBridge;-><init>()V
PLandroid/os/FileBridge;->forceClose()V
PLandroid/os/FileBridge;->isClosed()Z
@@ -11009,10 +11459,10 @@
HSPLandroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;)[Ljava/io/File;
HSPLandroid/os/FileUtils;->newFileOrNull(Ljava/lang/String;)Ljava/io/File;
HSPLandroid/os/FileUtils;->readTextFile(Ljava/io/File;ILjava/lang/String;)Ljava/lang/String;
-PLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/io/File;)Ljava/io/File;
-PLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
-PLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;[Ljava/lang/String;)[Ljava/lang/String;
-PLandroid/os/FileUtils;->roundStorageSize(J)J
+HPLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/io/File;)Ljava/io/File;
+HPLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/os/FileUtils;->rewriteAfterRename(Ljava/io/File;Ljava/io/File;[Ljava/lang/String;)[Ljava/lang/String;
+HPLandroid/os/FileUtils;->roundStorageSize(J)J
HSPLandroid/os/FileUtils;->setPermissions(Ljava/io/File;III)I
HSPLandroid/os/FileUtils;->setPermissions(Ljava/io/FileDescriptor;III)I
HSPLandroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I
@@ -11103,7 +11553,7 @@
HSPLandroid/os/HwParcel;->readInt32Vector()Ljava/util/ArrayList;
HSPLandroid/os/HwParcel;->readInt8Vector()Ljava/util/ArrayList;
HSPLandroid/os/HwParcel;->readStringVector()Ljava/util/ArrayList;
-PLandroid/os/HwParcel;->writeInt16Vector(Ljava/util/ArrayList;)V
+HPLandroid/os/HwParcel;->writeInt16Vector(Ljava/util/ArrayList;)V
HSPLandroid/os/HwParcel;->writeInt32Vector(Ljava/util/ArrayList;)V
HSPLandroid/os/HwParcel;->writeInt8Vector(Ljava/util/ArrayList;)V
HSPLandroid/os/HwParcel;->writeStringVector(Ljava/util/ArrayList;)V
@@ -11131,21 +11581,22 @@
HSPLandroid/os/IInstalld$Stub$Proxy;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
HSPLandroid/os/IInstalld$Stub$Proxy;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
HSPLandroid/os/IInstalld$Stub$Proxy;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
-PLandroid/os/IInstalld$Stub$Proxy;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
+HPLandroid/os/IInstalld$Stub$Proxy;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
HSPLandroid/os/IInstalld$Stub$Proxy;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
HPLandroid/os/IInstalld$Stub$Proxy;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
-PLandroid/os/IInstalld$Stub$Proxy;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+HPLandroid/os/IInstalld$Stub$Proxy;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
HSPLandroid/os/IInstalld$Stub$Proxy;->createUserData(Ljava/lang/String;III)V
HSPLandroid/os/IInstalld$Stub$Proxy;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-PLandroid/os/IInstalld$Stub$Proxy;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/os/IInstalld$Stub$Proxy;->destroyAppProfiles(Ljava/lang/String;)V
+HPLandroid/os/IInstalld$Stub$Proxy;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/IInstalld$Stub$Proxy;->dexopt(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/IInstalld$Stub$Proxy;->fixupAppData(Ljava/lang/String;I)V
HPLandroid/os/IInstalld$Stub$Proxy;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;)[J
-PLandroid/os/IInstalld$Stub$Proxy;->getExternalSize(Ljava/lang/String;II[I)[J
+HPLandroid/os/IInstalld$Stub$Proxy;->getExternalSize(Ljava/lang/String;II[I)[J
HPLandroid/os/IInstalld$Stub$Proxy;->getUserSize(Ljava/lang/String;II[I)[J
HPLandroid/os/IInstalld$Stub$Proxy;->hashSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)[B
HSPLandroid/os/IInstalld$Stub$Proxy;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
-PLandroid/os/IInstalld$Stub$Proxy;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
+HPLandroid/os/IInstalld$Stub$Proxy;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
HSPLandroid/os/IInstalld$Stub$Proxy;->invalidateMounts()V
HPLandroid/os/IInstalld$Stub$Proxy;->isQuotaSupported(Ljava/lang/String;)Z
HSPLandroid/os/IInstalld$Stub$Proxy;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
@@ -11153,7 +11604,7 @@
HPLandroid/os/IInstalld$Stub$Proxy;->mergeProfiles(ILjava/lang/String;Ljava/lang/String;)Z
HPLandroid/os/IInstalld$Stub$Proxy;->moveAb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/IInstalld$Stub$Proxy;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-PLandroid/os/IInstalld$Stub$Proxy;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
+HPLandroid/os/IInstalld$Stub$Proxy;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
HSPLandroid/os/IInstalld$Stub$Proxy;->rmPackageDir(Ljava/lang/String;)V
HSPLandroid/os/IInstalld$Stub$Proxy;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/IInstalld$Stub$Proxy;->setAppQuota(Ljava/lang/String;IIJ)V
@@ -11165,10 +11616,11 @@
PLandroid/os/INetworkActivityListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLandroid/os/INetworkActivityListener$Stub$Proxy;->onNetworkActive()V
PLandroid/os/INetworkActivityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkActivityListener;
+HSPLandroid/os/INetworkManagementService$Stub$Proxy;->isBandwidthControlEnabled()Z
HSPLandroid/os/INetworkManagementService$Stub$Proxy;->setUidCleartextNetworkPolicy(II)V
HSPLandroid/os/INetworkManagementService$Stub;-><init>()V
HSPLandroid/os/INetworkManagementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkManagementService;
-PLandroid/os/INetworkManagementService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/INetworkManagementService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/os/INetworkManagementService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IPermissionController$Stub;-><init>()V
HSPLandroid/os/IPermissionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -11176,14 +11628,16 @@
HSPLandroid/os/IPowerManager$Stub$Proxy;->isDeviceIdleMode()Z
HSPLandroid/os/IPowerManager$Stub$Proxy;->isInteractive()Z
HSPLandroid/os/IPowerManager$Stub$Proxy;->isPowerSaveMode()Z
+HSPLandroid/os/IPowerManager$Stub$Proxy;->isWakeLockLevelSupported(I)Z
HSPLandroid/os/IPowerManager$Stub$Proxy;->releaseWakeLock(Landroid/os/IBinder;I)V
HSPLandroid/os/IPowerManager$Stub$Proxy;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
+HSPLandroid/os/IPowerManager$Stub$Proxy;->userActivity(JII)V
HSPLandroid/os/IPowerManager$Stub;-><init>()V
HSPLandroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager;
-PLandroid/os/IPowerManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/IPowerManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/os/IPowerManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IProcessInfoService$Stub;-><init>()V
-PLandroid/os/IProcessInfoService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/IProcessInfoService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IProgressListener$Stub;-><init>()V
HSPLandroid/os/IProgressListener$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/IRecoverySystem$Stub;-><init>()V
@@ -11195,10 +11649,11 @@
HSPLandroid/os/ISchedulingPolicyService$Stub;-><init>()V
HSPLandroid/os/ISchedulingPolicyService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IStatsCompanionService$Stub;-><init>()V
+HPLandroid/os/IStatsCompanionService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/os/IStatsCompanionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IStatsManager$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/IStatsManager$Stub$Proxy;->informAllUidData([I[J[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-PLandroid/os/IStatsManager$Stub$Proxy;->informOnePackage(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)V
+HPLandroid/os/IStatsManager$Stub$Proxy;->informOnePackage(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/IStatsManager$Stub$Proxy;->informPollAlarmFired()V
HSPLandroid/os/IStatsManager$Stub$Proxy;->statsCompanionReady()V
HSPLandroid/os/IStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStatsManager;
@@ -11207,7 +11662,7 @@
HSPLandroid/os/IStoraged$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStoraged;
HSPLandroid/os/ISystemUpdateManager$Stub;-><init>()V
HSPLandroid/os/ISystemUpdateManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ISystemUpdateManager;
-PLandroid/os/ISystemUpdateManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/ISystemUpdateManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IThermalEventListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/IThermalEventListener$Stub$Proxy;->notifyThrottling(Landroid/os/Temperature;)V
HSPLandroid/os/IThermalEventListener$Stub;-><init>()V
@@ -11233,12 +11688,13 @@
HSPLandroid/os/IUserManager$Stub$Proxy;->isUserUnlockingOrUnlocked(I)Z
HSPLandroid/os/IUserManager$Stub;-><init>()V
HSPLandroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
-PLandroid/os/IUserManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/IUserManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/os/IUserManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IVibratorService$Stub$Proxy;->hasVibrator()Z
HSPLandroid/os/IVibratorService$Stub;-><init>()V
HSPLandroid/os/IVibratorService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/IVold$Stub$Proxy;->commitChanges()V
+HSPLandroid/os/IVold$Stub$Proxy;->destroySandboxForApp(Ljava/lang/String;Ljava/lang/String;I)V
HSPLandroid/os/IVold$Stub$Proxy;->fdeClearPassword()V
HSPLandroid/os/IVold$Stub$Proxy;->fdeGetPassword()Ljava/lang/String;
HSPLandroid/os/IVold$Stub$Proxy;->monitor()V
@@ -11248,6 +11704,7 @@
HSPLandroid/os/IVold$Stub$Proxy;->onUserStarted(I[Ljava/lang/String;[I[Ljava/lang/String;)V
HSPLandroid/os/IVold$Stub$Proxy;->prepareUserStorage(Ljava/lang/String;III)V
HSPLandroid/os/IVold$Stub$Proxy;->reset()V
+HPLandroid/os/IVold$Stub$Proxy;->runIdleMaint(Landroid/os/IVoldTaskListener;)V
HSPLandroid/os/IVold$Stub$Proxy;->setListener(Landroid/os/IVoldListener;)V
HSPLandroid/os/IVold$Stub$Proxy;->unlockUserKey(IILjava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/IVold$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVold;
@@ -11297,12 +11754,15 @@
HSPLandroid/os/MemoryFile;->close()V
HSPLandroid/os/MemoryFile;->deactivate()V
HSPLandroid/os/MemoryFile;->getFileDescriptor()Ljava/io/FileDescriptor;
+HSPLandroid/os/MemoryFile;->getSize(Ljava/io/FileDescriptor;)I
HSPLandroid/os/MemoryFile;->readBytes([BIII)I
HSPLandroid/os/MemoryFile;->writeBytes([BIII)V
HSPLandroid/os/Message$1;-><init>()V
HSPLandroid/os/Message$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Message;
HSPLandroid/os/Message$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/Message;-><init>()V
HSPLandroid/os/Message;->copyFrom(Landroid/os/Message;)V
+HSPLandroid/os/Message;->getCallback()Ljava/lang/Runnable;
HSPLandroid/os/Message;->getData()Landroid/os/Bundle;
HSPLandroid/os/Message;->getTarget()Landroid/os/Handler;
HSPLandroid/os/Message;->obtain()Landroid/os/Message;
@@ -11358,6 +11818,7 @@
HSPLandroid/os/Parcel;->copyClassCookies()Ljava/util/Map;
HSPLandroid/os/Parcel;->createBinderArrayList()Ljava/util/ArrayList;
HSPLandroid/os/Parcel;->createByteArray()[B
+HSPLandroid/os/Parcel;->createDoubleArray()[D
HSPLandroid/os/Parcel;->createException(ILjava/lang/String;)Ljava/lang/Exception;
HSPLandroid/os/Parcel;->createFloatArray()[F
HSPLandroid/os/Parcel;->createIntArray()[I
@@ -11455,6 +11916,7 @@
HSPLandroid/os/Parcel;->writePersistableBundle(Landroid/os/PersistableBundle;)V
HSPLandroid/os/Parcel;->writeSerializable(Ljava/io/Serializable;)V
HSPLandroid/os/Parcel;->writeSparseArray(Landroid/util/SparseArray;)V
+HSPLandroid/os/Parcel;->writeSparseBooleanArray(Landroid/util/SparseBooleanArray;)V
HSPLandroid/os/Parcel;->writeString(Ljava/lang/String;)V
HSPLandroid/os/Parcel;->writeStringArray([Ljava/lang/String;)V
HSPLandroid/os/Parcel;->writeStringList(Ljava/util/List;)V
@@ -11484,7 +11946,7 @@
HSPLandroid/os/ParcelFileDescriptor;->dup()Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->dup(Ljava/io/FileDescriptor;)Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->finalize()V
-PLandroid/os/ParcelFileDescriptor;->fromData([BLjava/lang/String;)Landroid/os/ParcelFileDescriptor;
+HPLandroid/os/ParcelFileDescriptor;->fromData([BLjava/lang/String;)Landroid/os/ParcelFileDescriptor;
HSPLandroid/os/ParcelFileDescriptor;->getFd()I
HSPLandroid/os/ParcelFileDescriptor;->getFile(Ljava/io/FileDescriptor;)Ljava/io/File;
HSPLandroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
@@ -11550,20 +12012,20 @@
HSPLandroid/os/PowerManager$WakeLock;->acquireLocked()V
HSPLandroid/os/PowerManager$WakeLock;->finalize()V
HSPLandroid/os/PowerManager$WakeLock;->isHeld()Z
-PLandroid/os/PowerManager$WakeLock;->lambda$wrap$0$PowerManager$WakeLock(Ljava/lang/Runnable;)V
+HPLandroid/os/PowerManager$WakeLock;->lambda$wrap$0$PowerManager$WakeLock(Ljava/lang/Runnable;)V
HSPLandroid/os/PowerManager$WakeLock;->release()V
HSPLandroid/os/PowerManager$WakeLock;->release(I)V
HSPLandroid/os/PowerManager$WakeLock;->setReferenceCounted(Z)V
HSPLandroid/os/PowerManager$WakeLock;->setWorkSource(Landroid/os/WorkSource;)V
HSPLandroid/os/PowerManager$WakeLock;->toString()Ljava/lang/String;
-PLandroid/os/PowerManager$WakeLock;->wrap(Ljava/lang/Runnable;)Ljava/lang/Runnable;
+HPLandroid/os/PowerManager$WakeLock;->wrap(Ljava/lang/Runnable;)Ljava/lang/Runnable;
HSPLandroid/os/PowerManager;-><init>(Landroid/content/Context;Landroid/os/IPowerManager;Landroid/os/Handler;)V
HSPLandroid/os/PowerManager;->getDefaultScreenBrightnessSetting()I
HSPLandroid/os/PowerManager;->getLocationPowerSaveMode()I
HSPLandroid/os/PowerManager;->getMaximumScreenBrightnessSetting()I
HSPLandroid/os/PowerManager;->getMinimumScreenBrightnessSetting()I
HSPLandroid/os/PowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
-PLandroid/os/PowerManager;->goToSleep(JII)V
+HPLandroid/os/PowerManager;->goToSleep(JII)V
HSPLandroid/os/PowerManager;->isDeviceIdleMode()Z
HSPLandroid/os/PowerManager;->isInteractive()Z
HSPLandroid/os/PowerManager;->isLightDeviceIdleMode()Z
@@ -11571,11 +12033,11 @@
HSPLandroid/os/PowerManager;->isScreenOn()Z
HSPLandroid/os/PowerManager;->isWakeLockLevelSupported(I)Z
HSPLandroid/os/PowerManager;->newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;
-PLandroid/os/PowerManager;->sleepReasonToString(I)Ljava/lang/String;
+HPLandroid/os/PowerManager;->sleepReasonToString(I)Ljava/lang/String;
HSPLandroid/os/PowerManager;->userActivity(JII)V
HSPLandroid/os/PowerManager;->userActivity(JZ)V
HSPLandroid/os/PowerManager;->validateWakeLockParameters(ILjava/lang/String;)V
-PLandroid/os/PowerManager;->wakeReasonToString(I)Ljava/lang/String;
+HPLandroid/os/PowerManager;->wakeReasonToString(I)Ljava/lang/String;
HSPLandroid/os/PowerManager;->wakeUp(JILjava/lang/String;)V
HSPLandroid/os/PowerManagerInternal;->registerLowPowerModeObserver(ILjava/util/function/Consumer;)V
HSPLandroid/os/PowerManagerInternal;->wakefulnessToString(I)Ljava/lang/String;
@@ -11597,8 +12059,8 @@
HSPLandroid/os/Process;->myUserHandle()Landroid/os/UserHandle;
HSPLandroid/os/Process;->setStartTimes(JJ)V
HSPLandroid/os/Process;->start(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-PLandroid/os/Process;->startWebView(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
-PLandroid/os/RecoverySystem;->handleAftermath(Landroid/content/Context;)Ljava/lang/String;
+HPLandroid/os/Process;->startWebView(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+HPLandroid/os/RecoverySystem;->handleAftermath(Landroid/content/Context;)Ljava/lang/String;
HSPLandroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLandroid/os/Registrant;->clear()V
HSPLandroid/os/Registrant;->getHandler()Landroid/os/Handler;
@@ -11651,7 +12113,7 @@
HSPLandroid/os/ResultReceiver;->send(ILandroid/os/Bundle;)V
HSPLandroid/os/ResultReceiver;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/os/SELinux;->restorecon(Ljava/io/File;)Z
-PLandroid/os/SELinux;->restoreconRecursive(Ljava/io/File;)Z
+HPLandroid/os/SELinux;->restoreconRecursive(Ljava/io/File;)Z
HSPLandroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
HSPLandroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
HSPLandroid/os/ServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
@@ -11669,13 +12131,21 @@
HSPLandroid/os/SharedMemory$MemoryRegistration;->release()V
HSPLandroid/os/SharedMemory$Unmapper;->run()V
HSPLandroid/os/SharedMemory;-><init>(Ljava/io/FileDescriptor;)V
-PLandroid/os/SharedMemory;->close()V
+HPLandroid/os/SharedMemory;->close()V
HSPLandroid/os/SharedMemory;->create(Ljava/lang/String;I)Landroid/os/SharedMemory;
HSPLandroid/os/SharedMemory;->map(III)Ljava/nio/ByteBuffer;
HSPLandroid/os/SharedMemory;->mapReadWrite()Ljava/nio/ByteBuffer;
-PLandroid/os/SharedMemory;->setProtect(I)Z
-PLandroid/os/SharedMemory;->unmap(Ljava/nio/ByteBuffer;)V
+HPLandroid/os/SharedMemory;->setProtect(I)Z
+HPLandroid/os/SharedMemory;->unmap(Ljava/nio/ByteBuffer;)V
HSPLandroid/os/ShellCallback$1;-><init>()V
+HSPLandroid/os/ShellCallback$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ShellCallback;
+HSPLandroid/os/ShellCallback$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/ShellCommand;->exec(Landroid/os/Binder;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)I
+HSPLandroid/os/ShellCommand;->getNextArg()Ljava/lang/String;
+HSPLandroid/os/ShellCommand;->getNextOption()Ljava/lang/String;
+HSPLandroid/os/ShellCommand;->getOutPrintWriter()Ljava/io/PrintWriter;
+HSPLandroid/os/ShellCommand;->getRawOutputStream()Ljava/io/OutputStream;
+HSPLandroid/os/ShellCommand;->init(Landroid/os/Binder;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;I)V
HSPLandroid/os/SimpleClock;->instant()Ljava/time/Instant;
HSPLandroid/os/StatFs;-><init>(Ljava/lang/String;)V
HSPLandroid/os/StatFs;->doStat(Ljava/lang/String;)Landroid/system/StructStatVfs;
@@ -11720,6 +12190,7 @@
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onCustomSlowCall(Ljava/lang/String;)V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onExplicitGc()V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onReadFromDisk()V
+HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onResourceMismatch(Ljava/lang/Object;)V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onThreadPolicyViolation(Landroid/os/StrictMode$ViolationInfo;)V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onUnbufferedIO()V
HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onWriteToDisk()V
@@ -11810,6 +12281,7 @@
HSPLandroid/os/SystemService;->getState(Ljava/lang/String;)Landroid/os/SystemService$State;
HSPLandroid/os/SystemService;->isRunning(Ljava/lang/String;)Z
HSPLandroid/os/SystemUpdateManager;-><init>(Landroid/os/ISystemUpdateManager;)V
+HPLandroid/os/SystemVibrator;-><init>()V
HSPLandroid/os/SystemVibrator;-><init>(Landroid/content/Context;)V
HSPLandroid/os/SystemVibrator;->cancel()V
HSPLandroid/os/SystemVibrator;->hasVibrator()Z
@@ -11828,7 +12300,7 @@
HSPLandroid/os/Trace;->traceBegin(JLjava/lang/String;)V
HSPLandroid/os/Trace;->traceCounter(JLjava/lang/String;I)V
HSPLandroid/os/Trace;->traceEnd(J)V
-PLandroid/os/TransactionTooLargeException;-><init>(Ljava/lang/String;)V
+HPLandroid/os/TransactionTooLargeException;-><init>(Ljava/lang/String;)V
HSPLandroid/os/UEventObserver$UEventThread;->addObserver(Ljava/lang/String;Landroid/os/UEventObserver;)V
HSPLandroid/os/UEventObserver$UEventThread;->removeObserver(Landroid/os/UEventObserver;)V
HSPLandroid/os/UEventObserver$UEventThread;->run()V
@@ -11842,7 +12314,7 @@
HSPLandroid/os/UserHandle$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/UserHandle;
HSPLandroid/os/UserHandle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/UserHandle;-><init>(I)V
-PLandroid/os/UserHandle;->describeContents()I
+HPLandroid/os/UserHandle;->describeContents()I
HSPLandroid/os/UserHandle;->equals(Ljava/lang/Object;)Z
HSPLandroid/os/UserHandle;->formatUid(Ljava/io/PrintWriter;I)V
HSPLandroid/os/UserHandle;->formatUid(Ljava/lang/StringBuilder;I)V
@@ -11870,7 +12342,7 @@
HSPLandroid/os/UserHandle;->writeToParcel(Landroid/os/UserHandle;Landroid/os/Parcel;)V
HSPLandroid/os/UserManager$EnforcingUser$1;-><init>()V
HSPLandroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
-PLandroid/os/UserManager;->canAddMoreManagedProfiles(IZ)Z
+HPLandroid/os/UserManager;->canAddMoreManagedProfiles(IZ)Z
HSPLandroid/os/UserManager;->get(Landroid/content/Context;)Landroid/os/UserManager;
HSPLandroid/os/UserManager;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
HSPLandroid/os/UserManager;->getCredentialOwnerProfile(I)I
@@ -11905,6 +12377,7 @@
HSPLandroid/os/UserManager;->isQuietModeEnabled(Landroid/os/UserHandle;)Z
HSPLandroid/os/UserManager;->isSameProfileGroup(II)Z
HSPLandroid/os/UserManager;->isSplitSystemUser()Z
+HSPLandroid/os/UserManager;->isSystemUser()Z
HSPLandroid/os/UserManager;->isUserAdmin(I)Z
HSPLandroid/os/UserManager;->isUserRunning(I)Z
HSPLandroid/os/UserManager;->isUserRunning(Landroid/os/UserHandle;)Z
@@ -11913,26 +12386,31 @@
HSPLandroid/os/UserManager;->isUserUnlocked(I)Z
HSPLandroid/os/UserManager;->isUserUnlocked(Landroid/os/UserHandle;)Z
HSPLandroid/os/UserManager;->isUserUnlockingOrUnlocked(I)Z
-PLandroid/os/UserManager;->isUserUnlockingOrUnlocked(Landroid/os/UserHandle;)Z
+HPLandroid/os/UserManager;->isUserUnlockingOrUnlocked(Landroid/os/UserHandle;)Z
HSPLandroid/os/UserManager;->supportsMultipleUsers()Z
HSPLandroid/os/VibrationEffect$1;-><init>()V
-PLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/VibrationEffect;
-PLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/VibrationEffect;
+HPLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/VibrationEffect$OneShot$1;-><init>()V
+HPLandroid/os/VibrationEffect$OneShot;->getAmplitude()I
+HPLandroid/os/VibrationEffect$OneShot;->getDuration()J
+HPLandroid/os/VibrationEffect$OneShot;->resolve(I)Landroid/os/VibrationEffect$OneShot;
+HPLandroid/os/VibrationEffect$OneShot;->scale(FI)Landroid/os/VibrationEffect$OneShot;
HSPLandroid/os/VibrationEffect$OneShot;->validate()V
HSPLandroid/os/VibrationEffect$Prebaked$1;-><init>()V
HPLandroid/os/VibrationEffect$Prebaked;->getDuration()J
HPLandroid/os/VibrationEffect$Prebaked;->getEffectStrength()I
HPLandroid/os/VibrationEffect$Prebaked;->getId()I
HPLandroid/os/VibrationEffect$Prebaked;->setEffectStrength(I)V
+HPLandroid/os/VibrationEffect$Prebaked;->shouldFallback()Z
HSPLandroid/os/VibrationEffect$Prebaked;->validate()V
HSPLandroid/os/VibrationEffect$Waveform$1;-><init>()V
-PLandroid/os/VibrationEffect$Waveform;->getAmplitudes()[I
-PLandroid/os/VibrationEffect$Waveform;->getDuration()J
-PLandroid/os/VibrationEffect$Waveform;->getRepeatIndex()I
-PLandroid/os/VibrationEffect$Waveform;->getTimings()[J
-PLandroid/os/VibrationEffect$Waveform;->resolve(I)Landroid/os/VibrationEffect$Waveform;
-PLandroid/os/VibrationEffect$Waveform;->scale(FI)Landroid/os/VibrationEffect$Waveform;
+HPLandroid/os/VibrationEffect$Waveform;->getAmplitudes()[I
+HPLandroid/os/VibrationEffect$Waveform;->getDuration()J
+HPLandroid/os/VibrationEffect$Waveform;->getRepeatIndex()I
+HPLandroid/os/VibrationEffect$Waveform;->getTimings()[J
+HPLandroid/os/VibrationEffect$Waveform;->resolve(I)Landroid/os/VibrationEffect$Waveform;
+HPLandroid/os/VibrationEffect$Waveform;->scale(FI)Landroid/os/VibrationEffect$Waveform;
HSPLandroid/os/VibrationEffect$Waveform;->validate()V
HSPLandroid/os/VibrationEffect;->createOneShot(JI)Landroid/os/VibrationEffect;
HSPLandroid/os/VibrationEffect;->createWaveform([JI)Landroid/os/VibrationEffect;
@@ -11947,17 +12425,17 @@
HSPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource;
HSPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/WorkSource$WorkChain$1;-><init>()V
-PLandroid/os/WorkSource$WorkChain$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource$WorkChain;
+HPLandroid/os/WorkSource$WorkChain$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource$WorkChain;
HPLandroid/os/WorkSource$WorkChain$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/WorkSource$WorkChain;->equals(Ljava/lang/Object;)Z
-PLandroid/os/WorkSource$WorkChain;->getAttributionUid()I
-PLandroid/os/WorkSource$WorkChain;->getTags()[Ljava/lang/String;
-PLandroid/os/WorkSource$WorkChain;->getUids()[I
+HPLandroid/os/WorkSource$WorkChain;->getAttributionUid()I
+HPLandroid/os/WorkSource$WorkChain;->getTags()[Ljava/lang/String;
+HPLandroid/os/WorkSource$WorkChain;->getUids()[I
HSPLandroid/os/WorkSource;-><init>(I)V
HSPLandroid/os/WorkSource;-><init>(ILjava/lang/String;)V
HSPLandroid/os/WorkSource;-><init>(Landroid/os/Parcel;)V
HSPLandroid/os/WorkSource;-><init>(Landroid/os/WorkSource;)V
-PLandroid/os/WorkSource;->add(I)Z
+HPLandroid/os/WorkSource;->add(I)Z
HSPLandroid/os/WorkSource;->add(ILjava/lang/String;)Z
HSPLandroid/os/WorkSource;->add(Landroid/os/WorkSource;)Z
HSPLandroid/os/WorkSource;->clearNames()V
@@ -11968,13 +12446,13 @@
HSPLandroid/os/WorkSource;->getAttributionUid()I
HSPLandroid/os/WorkSource;->getName(I)Ljava/lang/String;
HSPLandroid/os/WorkSource;->getWorkChains()Ljava/util/ArrayList;
-PLandroid/os/WorkSource;->insert(II)V
+HPLandroid/os/WorkSource;->insert(II)V
HSPLandroid/os/WorkSource;->insert(IILjava/lang/String;)V
HSPLandroid/os/WorkSource;->isChainedBatteryAttributionEnabled(Landroid/content/Context;)Z
HSPLandroid/os/WorkSource;->isEmpty()Z
HSPLandroid/os/WorkSource;->remove(Landroid/os/WorkSource;)Z
HSPLandroid/os/WorkSource;->removeUidsAndNames(Landroid/os/WorkSource;)Z
-PLandroid/os/WorkSource;->set(I)V
+HPLandroid/os/WorkSource;->set(I)V
HSPLandroid/os/WorkSource;->set(Landroid/os/WorkSource;)V
HSPLandroid/os/WorkSource;->setReturningDiffs(Landroid/os/WorkSource;)[Landroid/os/WorkSource;
HSPLandroid/os/WorkSource;->size()I
@@ -12038,7 +12516,20 @@
PLandroid/os/health/HealthKeys$Constants;->getSize(I)I
PLandroid/os/health/HealthKeys$SortedIntArray;->addValue(I)V
PLandroid/os/health/HealthKeys$SortedIntArray;->getArray()[I
+HSPLandroid/os/health/HealthStats;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/os/health/HealthStats;->getMeasurement(I)J
+HSPLandroid/os/health/HealthStats;->getStats(I)Ljava/util/Map;
+HSPLandroid/os/health/HealthStats;->getTimer(I)Landroid/os/health/TimerStat;
+HSPLandroid/os/health/HealthStats;->getTimers(I)Ljava/util/Map;
+HSPLandroid/os/health/HealthStats;->hasMeasurement(I)Z
+HSPLandroid/os/health/HealthStats;->hasMeasurements(I)Z
+HSPLandroid/os/health/HealthStats;->hasStats(I)Z
+HSPLandroid/os/health/HealthStats;->hasTimer(I)Z
+HSPLandroid/os/health/HealthStats;->hasTimers(I)Z
HSPLandroid/os/health/HealthStatsParceler$1;-><init>()V
+HSPLandroid/os/health/HealthStatsParceler$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/health/HealthStatsParceler;
+HSPLandroid/os/health/HealthStatsParceler$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/health/HealthStatsParceler;->getHealthStats()Landroid/os/health/HealthStats;
HPLandroid/os/health/HealthStatsParceler;->writeToParcel(Landroid/os/Parcel;I)V
HPLandroid/os/health/HealthStatsWriter;-><init>(Landroid/os/health/HealthKeys$Constants;)V
HPLandroid/os/health/HealthStatsWriter;->addMeasurement(IJ)V
@@ -12049,11 +12540,15 @@
HPLandroid/os/health/HealthStatsWriter;->flattenToParcel(Landroid/os/Parcel;)V
HPLandroid/os/health/HealthStatsWriter;->writeLongsMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
HPLandroid/os/health/HealthStatsWriter;->writeParcelableMap(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
+HSPLandroid/os/health/SystemHealthManager;->takeMyUidSnapshot()Landroid/os/health/HealthStats;
+HSPLandroid/os/health/SystemHealthManager;->takeUidSnapshot(I)Landroid/os/health/HealthStats;
HSPLandroid/os/health/TimerStat$1;-><init>()V
+HSPLandroid/os/health/TimerStat$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/health/TimerStat;
+HSPLandroid/os/health/TimerStat$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/os/health/TimerStat;-><init>(IJ)V
HPLandroid/os/health/TimerStat;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/os/image/IDynamicSystemService$Stub;-><init>()V
-PLandroid/os/image/IDynamicSystemService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/image/IDynamicSystemService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
@@ -12063,7 +12558,7 @@
HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->isUserKeyUnlocked(I)Z
HSPLandroid/os/storage/IStorageManager$Stub;-><init>()V
HSPLandroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
-PLandroid/os/storage/IStorageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/storage/IStorageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/os/storage/IStorageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/os/storage/StorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/os/storage/StorageManager$StorageEventListenerDelegate;->handleMessage(Landroid/os/Message;)Z
@@ -12084,8 +12579,8 @@
HSPLandroid/os/storage/StorageManager;->from(Landroid/content/Context;)Landroid/os/storage/StorageManager;
HSPLandroid/os/storage/StorageManager;->getAllocatableBytes(Ljava/util/UUID;I)J
HSPLandroid/os/storage/StorageManager;->getBestVolumeDescription(Landroid/os/storage/VolumeInfo;)Ljava/lang/String;
-PLandroid/os/storage/StorageManager;->getPrimaryStorageSize()J
-PLandroid/os/storage/StorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
+HPLandroid/os/storage/StorageManager;->getPrimaryStorageSize()J
+HPLandroid/os/storage/StorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
HSPLandroid/os/storage/StorageManager;->getPrimaryVolume()Landroid/os/storage/StorageVolume;
HSPLandroid/os/storage/StorageManager;->getStorageCacheBytes(Ljava/io/File;I)J
HSPLandroid/os/storage/StorageManager;->getStorageFullBytes(Ljava/io/File;)J
@@ -12152,8 +12647,8 @@
HSPLandroid/os/storage/VolumeInfo;->writeToParcel(Landroid/os/Parcel;I)V
PLandroid/permission/-$$Lambda$PermissionControllerManager$PendingGetRuntimePermissionBackup$TnLX6gxZCMF3D0czwj_XwNhPIgE;->run()V
HSPLandroid/permission/-$$Lambda$PermissionControllerManager$RemoteService$L8N-TbqIPWKu7tyiOxbu_00YKss;-><init>()V
-PLandroid/permission/IPermissionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-PLandroid/permission/IPermissionController$Stub$Proxy;->getRuntimePermissionBackup(Landroid/os/UserHandle;Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/permission/IPermissionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/permission/IPermissionController$Stub$Proxy;->getRuntimePermissionBackup(Landroid/os/UserHandle;Landroid/os/ParcelFileDescriptor;)V
PLandroid/permission/PermissionControllerManager$FileReaderTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
PLandroid/permission/PermissionControllerManager$FileReaderTask;->doInBackground([Ljava/lang/Void;)[B
PLandroid/permission/PermissionControllerManager$FileReaderTask;->getRemotePipe()Landroid/os/ParcelFileDescriptor;
@@ -12167,7 +12662,7 @@
HSPLandroid/permission/PermissionControllerManager$RemoteService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
HSPLandroid/permission/PermissionControllerManager$RemoteService;->getTimeoutIdleBindMillis()J
HSPLandroid/permission/PermissionControllerManager;-><init>(Landroid/content/Context;)V
-PLandroid/permission/PermissionControllerManager;->getRuntimePermissionBackup(Landroid/os/UserHandle;Ljava/util/concurrent/Executor;Landroid/permission/PermissionControllerManager$OnGetRuntimePermissionBackupCallback;)V
+HPLandroid/permission/PermissionControllerManager;->getRuntimePermissionBackup(Landroid/os/UserHandle;Ljava/util/concurrent/Executor;Landroid/permission/PermissionControllerManager$OnGetRuntimePermissionBackupCallback;)V
HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getNewPermissions()Ljava/util/List;
HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getSplitPermission()Ljava/lang/String;
HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getTargetSdk()I
@@ -12205,17 +12700,19 @@
HSPLandroid/provider/BlockedNumberContract$SystemContract;->shouldShowEmergencyCallNotification(Landroid/content/Context;)Z
PLandroid/provider/BlockedNumberContract$SystemContract;->shouldSystemBlockNumber(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)I
HPLandroid/provider/CallLog$Calls;->addCall(Lcom/android/internal/telephony/CallerInfo;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIILandroid/telecom/PhoneAccountHandle;JILjava/lang/Long;ZLandroid/os/UserHandle;ZILjava/lang/CharSequence;Ljava/lang/String;Landroid/telecom/CallIdentification;)Landroid/net/Uri;
-PLandroid/provider/CallLog$Calls;->addEntryAndRemoveExpiredEntries(Landroid/content/Context;Landroid/os/UserManager;Landroid/os/UserHandle;Landroid/content/ContentValues;)Landroid/net/Uri;
-PLandroid/provider/CallLog$Calls;->charSequenceToString(Ljava/lang/CharSequence;)Ljava/lang/String;
-PLandroid/provider/CallLog$Calls;->getLogAccountAddress(Landroid/content/Context;Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;
-PLandroid/provider/CallLog$Calls;->getLogNumberPresentation(Ljava/lang/String;I)I
+HPLandroid/provider/CallLog$Calls;->addEntryAndRemoveExpiredEntries(Landroid/content/Context;Landroid/os/UserManager;Landroid/os/UserHandle;Landroid/content/ContentValues;)Landroid/net/Uri;
+HPLandroid/provider/CallLog$Calls;->charSequenceToString(Ljava/lang/CharSequence;)Ljava/lang/String;
+HPLandroid/provider/CallLog$Calls;->getLogAccountAddress(Landroid/content/Context;Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;
+HPLandroid/provider/CallLog$Calls;->getLogNumberPresentation(Ljava/lang/String;I)I
+HSPLandroid/provider/CallLog$Calls;->shouldHaveSharedCallLogEntries(Landroid/content/Context;Landroid/os/UserManager;I)Z
HSPLandroid/provider/ContactsContract$CommonDataKinds$Phone;->getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
HSPLandroid/provider/ContactsContract$CommonDataKinds$Phone;->getTypeLabelResource(I)I
HSPLandroid/provider/ContactsContract$Contacts;->getLookupUri(JLjava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/ContactsContract$Contacts;->isEnterpriseContactId(J)Z
-PLandroid/provider/DeviceConfig$1;->onChange(ZLandroid/net/Uri;)V
+HPLandroid/provider/DeviceConfig$1;->onChange(ZLandroid/net/Uri;)V
PLandroid/provider/DeviceConfig$3;->run()V
HSPLandroid/provider/DeviceConfig;->addOnPropertyChangedListener(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertyChangedListener;)V
+HSPLandroid/provider/DeviceConfig;->decrementNamespace(Ljava/lang/String;)V
HSPLandroid/provider/DeviceConfig;->enforceReadPermission(Landroid/content/Context;Ljava/lang/String;)V
HSPLandroid/provider/DeviceConfig;->getBoolean(Ljava/lang/String;Ljava/lang/String;Z)Z
HSPLandroid/provider/DeviceConfig;->getFloat(Ljava/lang/String;Ljava/lang/String;F)F
@@ -12225,10 +12722,11 @@
HSPLandroid/provider/DeviceConfig;->getString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HPLandroid/provider/DeviceConfig;->handleChange(Landroid/net/Uri;)V
HSPLandroid/provider/DeviceConfig;->incrementNamespace(Ljava/lang/String;)V
+HSPLandroid/provider/DeviceConfig;->removeOnPropertyChangedListener(Landroid/provider/DeviceConfig$OnPropertyChangedListener;)V
PLandroid/provider/Downloads;->removeAllDownloadsByPackage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/provider/FontRequest;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
HSPLandroid/provider/FontsContract$1;-><init>()V
-PLandroid/provider/FontsContract$1;->run()V
+HPLandroid/provider/FontsContract$1;->run()V
HSPLandroid/provider/FontsContract$FontFamilyResult;->getFonts()[Landroid/provider/FontsContract$FontInfo;
HSPLandroid/provider/FontsContract$FontFamilyResult;->getStatusCode()I
HSPLandroid/provider/FontsContract$FontInfo;->getAxes()[Landroid/graphics/fonts/FontVariationAxis;
@@ -12250,6 +12748,7 @@
HSPLandroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/MediaStore$Images$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
HSPLandroid/provider/MediaStore$Video$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/SearchIndexableResource;-><init>(Landroid/content/Context;)V
HSPLandroid/provider/SearchIndexablesProvider;-><init>()V
HSPLandroid/provider/SearchIndexablesProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
HSPLandroid/provider/Settings$ContentProviderHolder;-><init>(Landroid/net/Uri;)V
@@ -12364,8 +12863,9 @@
HSPLandroid/security/KeyStore$OperationPromise;->onFinished(Landroid/security/keymaster/OperationResult;)V
HSPLandroid/security/KeyStore$State;-><init>(Ljava/lang/String;I)V
HSPLandroid/security/KeyStore;->abort(Landroid/os/IBinder;)I
-PLandroid/security/KeyStore;->addAuthToken([B)I
+HPLandroid/security/KeyStore;->addAuthToken([B)I
HSPLandroid/security/KeyStore;->begin(Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)Landroid/security/keymaster/OperationResult;
+HSPLandroid/security/KeyStore;->clearUid(I)Z
HSPLandroid/security/KeyStore;->contains(Ljava/lang/String;)Z
HSPLandroid/security/KeyStore;->contains(Ljava/lang/String;I)Z
HSPLandroid/security/KeyStore;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
@@ -12374,13 +12874,13 @@
HSPLandroid/security/KeyStore;->getToken()Landroid/os/IBinder;
HPLandroid/security/KeyStore;->grant(Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/security/KeyStore;->state(I)Landroid/security/KeyStore$State;
-PLandroid/security/KeyStore;->unlock(ILjava/lang/String;)Z
+HPLandroid/security/KeyStore;->unlock(ILjava/lang/String;)Z
HSPLandroid/security/KeyStore;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
HSPLandroid/security/NetworkSecurityPolicy;-><init>()V
-PLandroid/security/Scrypt;-><init>()V
-PLandroid/security/Scrypt;->scrypt([B[BIIII)[B
+HPLandroid/security/Scrypt;-><init>()V
+HPLandroid/security/Scrypt;->scrypt([B[BIIII)[B
HSPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;-><init>()V
-PLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/security/keymaster/KeyAttestationApplicationId$1;-><init>()V
PLandroid/security/keymaster/KeyAttestationApplicationId;->writeToParcel(Landroid/os/Parcel;I)V
PLandroid/security/keymaster/KeyAttestationPackageInfo$1;-><init>()V
@@ -12476,13 +12976,14 @@
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->abort(Landroid/security/keystore/IKeystoreResponseCallback;Landroid/os/IBinder;)I
HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->addAuthToken([B)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->begin(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->clear_uid(J)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->exist(Ljava/lang/String;I)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->finish(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getKeyCharacteristics(Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getState(I)I
HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->grant(Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->onKeyguardVisibilityChanged(ZI)I
-PLandroid/security/keystore/IKeystoreService$Stub$Proxy;->unlock(ILjava/lang/String;)I
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->unlock(ILjava/lang/String;)I
HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->update(Landroid/security/keystore/IKeystoreOperationResultCallback;Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)I
HSPLandroid/security/keystore/IKeystoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/keystore/IKeystoreService;
HSPLandroid/security/keystore/KeyProperties$KeyAlgorithm;->fromKeymasterSecretKeyAlgorithm(II)Ljava/lang/String;
@@ -12533,6 +13034,7 @@
HSPLandroid/security/net/config/ApplicationConfig;->getDefaultInstance()Landroid/security/net/config/ApplicationConfig;
HSPLandroid/security/net/config/ApplicationConfig;->setDefaultInstance(Landroid/security/net/config/ApplicationConfig;)V
HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCertificateTransparencyVerificationRequired(Ljava/lang/String;)Z
+HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
HSPLandroid/security/net/config/DirectoryCertificateSource$3;->match(Ljava/security/cert/X509Certificate;)Z
HSPLandroid/security/net/config/DirectoryCertificateSource;-><init>(Ljava/io/File;)V
HSPLandroid/security/net/config/DirectoryCertificateSource;->findCert(Ljavax/security/auth/x500/X500Principal;Landroid/security/net/config/DirectoryCertificateSource$CertSelector;)Ljava/security/cert/X509Certificate;
@@ -12582,6 +13084,7 @@
HSPLandroid/security/net/config/XmlConfigSource;->getPerDomainConfigs()Ljava/util/Set;
HSPLandroid/security/net/config/XmlConfigSource;->parseCertificatesEntry(Landroid/content/res/XmlResourceParser;Z)Landroid/security/net/config/CertificatesEntryRef;
HSPLandroid/security/net/config/XmlConfigSource;->parseConfigEntry(Landroid/content/res/XmlResourceParser;Ljava/util/Set;Landroid/security/net/config/NetworkSecurityConfig$Builder;I)Ljava/util/List;
+HSPLandroid/security/net/config/XmlConfigSource;->parseDomain(Landroid/content/res/XmlResourceParser;Ljava/util/Set;)Landroid/security/net/config/Domain;
HSPLandroid/security/net/config/XmlConfigSource;->parseNetworkSecurityConfig(Landroid/content/res/XmlResourceParser;)V
HSPLandroid/security/net/config/XmlConfigSource;->parseTrustAnchors(Landroid/content/res/XmlResourceParser;Z)Ljava/util/Collection;
PLandroid/service/appprediction/IPredictionService$Stub$Proxy;->notifyAppTargetEvent(Landroid/app/prediction/AppPredictionSessionId;Landroid/app/prediction/AppTargetEvent;)V
@@ -12633,6 +13136,7 @@
HSPLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
PLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/service/contentcapture/SnapshotData$1;-><init>()V
+HSPLandroid/service/dreams/IDreamManager$Stub$Proxy;->getDefaultDreamComponent()Landroid/content/ComponentName;
HSPLandroid/service/dreams/IDreamManager$Stub;-><init>()V
HSPLandroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager;
HSPLandroid/service/dreams/IDreamManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -12654,8 +13158,15 @@
PLandroid/service/gatekeeper/GateKeeperResponse$1;-><init>()V
PLandroid/service/gatekeeper/GateKeeperResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/gatekeeper/GateKeeperResponse;
PLandroid/service/gatekeeper/GateKeeperResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;->verifyChallenge(IJ[B[B)Landroid/service/gatekeeper/GateKeeperResponse;
+HPLandroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;->verifyChallenge(IJ[B[B)Landroid/service/gatekeeper/GateKeeperResponse;
HSPLandroid/service/gatekeeper/IGateKeeperService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/gatekeeper/IGateKeeperService;
+HSPLandroid/service/media/IMediaBrowserService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/service/media/MediaBrowserService$ServiceBinder$1;->run()V
+HSPLandroid/service/media/MediaBrowserService$ServiceBinder;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/service/media/MediaBrowserService;-><init>()V
+HSPLandroid/service/media/MediaBrowserService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HSPLandroid/service/media/MediaBrowserService;->onCreate()V
HSPLandroid/service/notification/Adjustment$1;-><init>()V
HSPLandroid/service/notification/Adjustment$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/Adjustment;
HSPLandroid/service/notification/Adjustment$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -12703,9 +13214,10 @@
HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;->get()Landroid/service/notification/StatusBarNotification;
HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;-><init>()V
HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/service/notification/NotificationAssistantService$MyHandler;->handleMessage(Landroid/os/Message;)V
-PLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onActionClicked(Ljava/lang/String;Landroid/app/Notification$Action;I)V
+HPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onActionClicked(Ljava/lang/String;Landroid/app/Notification$Action;I)V
HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationEnqueuedWithChannel(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/app/NotificationChannel;)V
HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationsSeen(Ljava/util/List;)V
@@ -12755,6 +13267,7 @@
HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getUserSentiment(Ljava/lang/String;)I
HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getVisibilityOverride(Ljava/lang/String;)I
HSPLandroid/service/notification/NotificationListenerService$RankingMap;->isIntercepted(Ljava/lang/String;)Z
+HSPLandroid/service/notification/NotificationListenerService;-><init>()V
HSPLandroid/service/notification/NotificationListenerService;->cleanUpNotificationList(Landroid/content/pm/ParceledListSlice;)[Landroid/service/notification/StatusBarNotification;
HSPLandroid/service/notification/NotificationListenerService;->createLegacyIconExtras(Landroid/app/Notification;)V
HSPLandroid/service/notification/NotificationListenerService;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
@@ -12767,6 +13280,8 @@
HSPLandroid/service/notification/NotificationListenerService;->onInterruptionFilterChanged(I)V
HSPLandroid/service/notification/NotificationListenerService;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;)V
HSPLandroid/service/notification/NotificationListenerService;->onNotificationRankingUpdate(Landroid/service/notification/NotificationListenerService$RankingMap;)V
+HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;I)V
+HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;Landroid/service/notification/NotificationStats;I)V
HSPLandroid/service/notification/NotificationRankingUpdate$1;-><init>()V
HSPLandroid/service/notification/NotificationRankingUpdate$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationRankingUpdate;
HSPLandroid/service/notification/NotificationRankingUpdate$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -12795,6 +13310,7 @@
HSPLandroid/service/notification/NotificationStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationStats;
HSPLandroid/service/notification/NotificationStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/service/notification/NotificationStats;-><init>(Landroid/os/Parcel;)V
+HPLandroid/service/notification/NotificationStats;->hasInteracted()Z
HSPLandroid/service/notification/NotificationStats;->hasSeen()Z
HSPLandroid/service/notification/NotificationStats;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/service/notification/NotifyingApp$1;-><init>()V
@@ -12832,7 +13348,7 @@
HSPLandroid/service/notification/StatusBarNotification;->isAppGroup()Z
HSPLandroid/service/notification/StatusBarNotification;->isGroup()Z
HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String;
-PLandroid/service/notification/StatusBarNotification;->setOverrideGroupKey(Ljava/lang/String;)V
+HPLandroid/service/notification/StatusBarNotification;->setOverrideGroupKey(Ljava/lang/String;)V
HSPLandroid/service/notification/StatusBarNotification;->shortenTag(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/service/notification/StatusBarNotification;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/service/notification/ZenModeConfig$1;-><init>()V
@@ -12894,12 +13410,14 @@
HSPLandroid/service/notification/ZenPolicy;->getZenPolicyPriorityCategoryState(I)I
HSPLandroid/service/notification/ZenPolicy;->getZenPolicyVisualEffectState(I)I
HSPLandroid/service/oemlock/IOemLockService$Stub;-><init>()V
+HPLandroid/service/oemlock/IOemLockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;-><init>()V
-PLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLandroid/service/textclassifier/ITextClassifierCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;-><init>()V
HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/service/textclassifier/ITextClassifierCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onSuggestConversationActions(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/ConversationActions$Request;Landroid/service/textclassifier/ITextClassifierCallback;)V
HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassifierEvent;)V
HSPLandroid/service/textclassifier/ITextClassifierService$Stub;-><init>()V
@@ -12917,7 +13435,7 @@
PLandroid/service/trust/ITrustAgentServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
PLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
PLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->ready()V
-PLandroid/service/voice/IVoiceInteractionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionService;
+HPLandroid/service/voice/IVoiceInteractionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionService;
PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->closeSystemDialogs()V
PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->handleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V
@@ -12927,7 +13445,7 @@
PLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->show(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
PLandroid/service/voice/IVoiceInteractionSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSession;
PLandroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;->newSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
-PLandroid/service/voice/IVoiceInteractionSessionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSessionService;
+HPLandroid/service/voice/IVoiceInteractionSessionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSessionService;
HSPLandroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;I)V
HSPLandroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ServiceInfo;)V
HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getParseError()Ljava/lang/String;
@@ -12977,12 +13495,13 @@
HSPLandroid/system/Os;->chmod(Ljava/lang/String;I)V
HSPLandroid/system/Os;->chown(Ljava/lang/String;II)V
HSPLandroid/system/Os;->close(Ljava/io/FileDescriptor;)V
-PLandroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
+HPLandroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
HSPLandroid/system/Os;->fchmod(Ljava/io/FileDescriptor;I)V
HSPLandroid/system/Os;->fchown(Ljava/io/FileDescriptor;II)V
HSPLandroid/system/Os;->fcntlInt(Ljava/io/FileDescriptor;II)I
+HSPLandroid/system/Os;->fdatasync(Ljava/io/FileDescriptor;)V
HSPLandroid/system/Os;->fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;
-PLandroid/system/Os;->fsync(Ljava/io/FileDescriptor;)V
+HPLandroid/system/Os;->fsync(Ljava/io/FileDescriptor;)V
HSPLandroid/system/Os;->getenv(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/system/Os;->getgid()I
HSPLandroid/system/Os;->getpeername(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;
@@ -13039,8 +13558,12 @@
HSPLandroid/telecom/CallAudioState$1;-><init>()V
HSPLandroid/telecom/CallAudioState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/CallAudioState;
HSPLandroid/telecom/CallAudioState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/telecom/CallAudioState;-><init>(Landroid/telecom/CallAudioState;)V
+HSPLandroid/telecom/CallAudioState;-><init>(ZII)V
HSPLandroid/telecom/CallAudioState;->audioRouteToString(I)Ljava/lang/String;
HSPLandroid/telecom/CallAudioState;->equals(Ljava/lang/Object;)Z
+HSPLandroid/telecom/CallAudioState;->getRoute()I
+HSPLandroid/telecom/CallAudioState;->getSupportedRouteMask()I
HSPLandroid/telecom/CallAudioState;->toString()Ljava/lang/String;
HPLandroid/telecom/CallAudioState;->writeToParcel(Landroid/os/Parcel;I)V
PLandroid/telecom/Connection;->capabilitiesToString(I)Ljava/lang/String;
@@ -13054,15 +13577,33 @@
PLandroid/telecom/ConnectionRequest$Builder;->build()Landroid/telecom/ConnectionRequest;
PLandroid/telecom/ConnectionRequest;-><init>(Landroid/os/Parcel;)V
PLandroid/telecom/ConnectionRequest;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telecom/ConnectionService;-><init>()V
+HPLandroid/telecom/ConnectionService;->access$100(Landroid/telecom/ConnectionService;)Landroid/telecom/ConnectionServiceAdapter;
+HPLandroid/telecom/ConnectionService;->access$1900(Landroid/telecom/ConnectionService;Ljava/lang/String;Landroid/telecom/CallAudioState;)V
+HPLandroid/telecom/ConnectionService;->access$200(Landroid/telecom/ConnectionService;)V
+HPLandroid/telecom/ConnectionService;->access$300(Landroid/telecom/ConnectionService;)Z
+HPLandroid/telecom/ConnectionService;->access$500(Landroid/telecom/ConnectionService;)Ljava/util/List;
+HPLandroid/telecom/ConnectionService;->access$600(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
+HPLandroid/telecom/ConnectionService;->addConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/Connection;)V
+HPLandroid/telecom/ConnectionService;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZ)V
+HPLandroid/telecom/ConnectionService;->createIdList(Ljava/util/List;)Ljava/util/List;
+HPLandroid/telecom/ConnectionService;->endAllConnections()V
+HPLandroid/telecom/ConnectionService;->findConnectionForAction(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/Connection;
+HPLandroid/telecom/ConnectionService;->getAllConnections()Ljava/util/Collection;
+HPLandroid/telecom/ConnectionService;->notifyCreateConnectionComplete(Ljava/lang/String;)V
+HPLandroid/telecom/ConnectionService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HPLandroid/telecom/ConnectionService;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;)V
+HPLandroid/telecom/ConnectionService;->onUnbind(Landroid/content/Intent;)Z
+HPLandroid/telecom/ConnectionService;->removeConnection(Landroid/telecom/Connection;)V
HSPLandroid/telecom/DefaultDialerManager;->getDefaultDialerApplication(Landroid/content/Context;I)Ljava/lang/String;
HSPLandroid/telecom/DisconnectCause$1;-><init>()V
HSPLandroid/telecom/DisconnectCause$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/DisconnectCause;
HSPLandroid/telecom/DisconnectCause$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/telecom/DisconnectCause;-><init>(I)V
HPLandroid/telecom/DisconnectCause;->toString()Ljava/lang/String;
-PLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;)V
+HPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;)V
HSPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/Object;)V
-PLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
+HPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
HSPLandroid/telecom/Log;->addRequestResponsePair(Landroid/telecom/Logging/EventManager$TimedEventPair;)V
HSPLandroid/telecom/Log;->buildMessage(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
HSPLandroid/telecom/Log;->continueSession(Landroid/telecom/Logging/Session;Ljava/lang/String;)V
@@ -13071,7 +13612,7 @@
HSPLandroid/telecom/Log;->d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
HSPLandroid/telecom/Log;->endSession()V
HSPLandroid/telecom/Log;->getEventManager()Landroid/telecom/Logging/EventManager;
-PLandroid/telecom/Log;->getExternalSession()Landroid/telecom/Logging/Session$Info;
+HPLandroid/telecom/Log;->getExternalSession()Landroid/telecom/Logging/Session$Info;
HSPLandroid/telecom/Log;->getSessionId()Ljava/lang/String;
HSPLandroid/telecom/Log;->getSessionManager()Landroid/telecom/Logging/SessionManager;
HSPLandroid/telecom/Log;->i(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
@@ -13086,8 +13627,9 @@
HSPLandroid/telecom/Log;->setTag(Ljava/lang/String;)V
HPLandroid/telecom/Log;->startSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;)V
HSPLandroid/telecom/Log;->startSession(Ljava/lang/String;)V
+HPLandroid/telecom/Log;->startSession(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/telecom/Log;->v(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-PLandroid/telecom/Log;->w(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
+HPLandroid/telecom/Log;->w(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
HSPLandroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;-><init>()V
HSPLandroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;->get()I
HPLandroid/telecom/Logging/-$$Lambda$SessionManager$VyH2gT1EjIvzDy_C9JfTT60CISM;->run()V
@@ -13188,6 +13730,7 @@
HSPLandroid/telecom/PhoneAccount;->capabilitiesToString()Ljava/lang/String;
HSPLandroid/telecom/PhoneAccount;->equals(Ljava/lang/Object;)Z
HSPLandroid/telecom/PhoneAccount;->getAccountHandle()Landroid/telecom/PhoneAccountHandle;
+HSPLandroid/telecom/PhoneAccount;->getExtras()Landroid/os/Bundle;
HSPLandroid/telecom/PhoneAccount;->hasCapabilities(I)Z
HSPLandroid/telecom/PhoneAccount;->supportsUriScheme(Ljava/lang/String;)Z
HSPLandroid/telecom/PhoneAccount;->toString()Ljava/lang/String;
@@ -13207,6 +13750,7 @@
HSPLandroid/telecom/PhoneAccountHandle;->writeToParcel(Landroid/os/Parcel;I)V
PLandroid/telecom/TelecomAnalytics$SessionTiming$1;-><init>()V
HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;)V
+HPLandroid/telecom/TelecomManager;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
HSPLandroid/telecom/TelecomManager;->from(Landroid/content/Context;)Landroid/telecom/TelecomManager;
HSPLandroid/telecom/TelecomManager;->getCallCapablePhoneAccounts()Ljava/util/List;
HSPLandroid/telecom/TelecomManager;->getCallCapablePhoneAccounts(Z)Ljava/util/List;
@@ -13221,6 +13765,7 @@
HSPLandroid/telecom/TelecomManager;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
HSPLandroid/telecom/TelecomManager;->isInCall()Z
HSPLandroid/telecom/TelecomManager;->isRinging()Z
+HSPLandroid/telecom/TelecomManager;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Z
HSPLandroid/telecom/TelecomManager;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
HSPLandroid/telecom/TelecomManager;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
HSPLandroid/telecom/VideoProfile$1;-><init>()V
@@ -13260,13 +13805,14 @@
HSPLandroid/telephony/CallAttributes$1;-><init>()V
HPLandroid/telephony/CallAttributes;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/telephony/CallQuality$1;-><init>()V
+HPLandroid/telephony/CallQuality;->toString()Ljava/lang/String;
HPLandroid/telephony/CallQuality;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/telephony/CarrierConfigManager$Gps;->access$000()Landroid/os/PersistableBundle;
HSPLandroid/telephony/CarrierConfigManager$Gps;->getDefaults()Landroid/os/PersistableBundle;
HSPLandroid/telephony/CarrierConfigManager;-><init>(Landroid/content/Context;)V
HSPLandroid/telephony/CarrierConfigManager;->getConfig()Landroid/os/PersistableBundle;
HSPLandroid/telephony/CarrierConfigManager;->getConfigForSubId(I)Landroid/os/PersistableBundle;
-PLandroid/telephony/CarrierConfigManager;->getDefaultCarrierServicePackageName()Ljava/lang/String;
+HPLandroid/telephony/CarrierConfigManager;->getDefaultCarrierServicePackageName()Ljava/lang/String;
HSPLandroid/telephony/CarrierConfigManager;->getDefaultConfig()Landroid/os/PersistableBundle;
HSPLandroid/telephony/CarrierConfigManager;->isConfigForIdentifiedCarrier(Landroid/os/PersistableBundle;)Z
HSPLandroid/telephony/CarrierConfigManager;->updateConfigForPhoneId(ILjava/lang/String;)V
@@ -13346,6 +13892,7 @@
HSPLandroid/telephony/CellSignalStrengthGsm;-><init>(III)V
HSPLandroid/telephony/CellSignalStrengthGsm;->describeContents()I
HSPLandroid/telephony/CellSignalStrengthGsm;->equals(Ljava/lang/Object;)Z
+HSPLandroid/telephony/CellSignalStrengthGsm;->getLevel()I
HSPLandroid/telephony/CellSignalStrengthGsm;->toString()Ljava/lang/String;
HSPLandroid/telephony/CellSignalStrengthGsm;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
HSPLandroid/telephony/CellSignalStrengthLte$1;-><init>()V
@@ -13392,6 +13939,7 @@
HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/os/Parcel;)V
HSPLandroid/telephony/CellSignalStrengthWcdma;->describeContents()I
HSPLandroid/telephony/CellSignalStrengthWcdma;->equals(Ljava/lang/Object;)Z
+HPLandroid/telephony/CellSignalStrengthWcdma;->getDbm()I
HSPLandroid/telephony/CellSignalStrengthWcdma;->getLevel()I
HSPLandroid/telephony/CellSignalStrengthWcdma;->toString()Ljava/lang/String;
HSPLandroid/telephony/CellSignalStrengthWcdma;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
@@ -13497,12 +14045,15 @@
HSPLandroid/telephony/PhoneCapability;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/telephony/PhoneNumberUtils;->bcdToChar(BI)C
HSPLandroid/telephony/PhoneNumberUtils;->calledPartyBCDToString([BIII)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->compare(Ljava/lang/String;Ljava/lang/String;)Z
HSPLandroid/telephony/PhoneNumberUtils;->compareLoosely(Ljava/lang/String;Ljava/lang/String;)Z
HSPLandroid/telephony/PhoneNumberUtils;->convertKeypadLettersToDigits(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/telephony/PhoneNumberUtils;->createTtsSpan(Ljava/lang/String;)Landroid/text/style/TtsSpan;
+HSPLandroid/telephony/PhoneNumberUtils;->createTtsSpannable(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
HSPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortion(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortionAlt(Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/telephony/PhoneNumberUtils;->extractPostDialPortion(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Landroid/text/Editable;I)V
HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/telephony/PhoneNumberUtils;->formatNumberInternal(Ljava/lang/String;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
@@ -13514,10 +14065,13 @@
HSPLandroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumber(Landroid/content/Context;Ljava/lang/String;)Z
HSPLandroid/telephony/PhoneNumberUtils;->isLocalEmergencyNumberInternal(ILjava/lang/String;Landroid/content/Context;Z)Z
HSPLandroid/telephony/PhoneNumberUtils;->isNonSeparator(C)Z
-PLandroid/telephony/PhoneNumberUtils;->isUriNumber(Ljava/lang/String;)Z
-PLandroid/telephony/PhoneNumberUtils;->isVoiceMailNumber(Landroid/content/Context;ILjava/lang/String;)Z
+HPLandroid/telephony/PhoneNumberUtils;->isUriNumber(Ljava/lang/String;)Z
+HPLandroid/telephony/PhoneNumberUtils;->isVoiceMailNumber(Landroid/content/Context;ILjava/lang/String;)Z
HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->splitAtNonNumerics(Ljava/lang/CharSequence;)Ljava/lang/String;
+HPLandroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/telephony/PhoneNumberUtils;->stripSeparators(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/telephony/PhoneNumberUtils;->toaFromString(Ljava/lang/String;)I
HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCallForwardingIndicatorChanged$7$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Z)V
HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCallStateChanged$11$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;ILjava/lang/String;)V
HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCellInfoChanged$21$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Ljava/util/List;)V
@@ -13678,11 +14232,14 @@
HPLandroid/telephony/SignalStrength;->getCellSignalStrengths(Ljava/lang/Class;)Ljava/util/List;
HSPLandroid/telephony/SignalStrength;->getLevel()I
HSPLandroid/telephony/SignalStrength;->getPrimary()Landroid/telephony/CellSignalStrength;
+HSPLandroid/telephony/SignalStrength;->isGsm()Z
HSPLandroid/telephony/SignalStrength;->toString()Ljava/lang/String;
HSPLandroid/telephony/SignalStrength;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
HSPLandroid/telephony/SignalStrength;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/telephony/SmsManager;-><init>(I)V
+HPLandroid/telephony/SmsManager;->getAutoPersisting()Z
HSPLandroid/telephony/SmsManager;->getDefault()Landroid/telephony/SmsManager;
+HSPLandroid/telephony/SmsManager;->getMmsConfig(Landroid/os/BaseBundle;)Landroid/os/Bundle;
PLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;)Landroid/telephony/SmsMessage;
HSPLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;Z)Landroid/telephony/SmsMessage;
HSPLandroid/telephony/SubscriptionInfo$1;-><init>()V
@@ -13690,6 +14247,7 @@
HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Landroid/telephony/UiccAccessRule;Ljava/lang/String;IZLjava/lang/String;ZIII)V
HSPLandroid/telephony/SubscriptionInfo;->getCarrierId()I
+HSPLandroid/telephony/SubscriptionInfo;->getCarrierName()Ljava/lang/CharSequence;
HSPLandroid/telephony/SubscriptionInfo;->getCountryIso()Ljava/lang/String;
HSPLandroid/telephony/SubscriptionInfo;->getDisplayName()Ljava/lang/CharSequence;
HSPLandroid/telephony/SubscriptionInfo;->getGroupUuid()Landroid/os/ParcelUuid;
@@ -13720,7 +14278,9 @@
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoForSimSlotIndex(I)Landroid/telephony/SubscriptionInfo;
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoList()Ljava/util/List;
HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoList(Z)Ljava/util/List;
+HSPLandroid/telephony/SubscriptionManager;->getDefaultDataPhoneId()I
HSPLandroid/telephony/SubscriptionManager;->getDefaultDataSubscriptionId()I
+HSPLandroid/telephony/SubscriptionManager;->getDefaultDataSubscriptionInfo()Landroid/telephony/SubscriptionInfo;
HSPLandroid/telephony/SubscriptionManager;->getDefaultSmsSubscriptionId()I
HSPLandroid/telephony/SubscriptionManager;->getDefaultSubscriptionId()I
HSPLandroid/telephony/SubscriptionManager;->getDefaultVoicePhoneId()I
@@ -13751,10 +14311,10 @@
HSPLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Ljava/lang/Object;
HSPLandroid/telephony/TelephonyHistogram$1;-><init>()V
HSPLandroid/telephony/TelephonyHistogram;-><init>(III)V
-PLandroid/telephony/TelephonyHistogram;-><init>(Landroid/telephony/TelephonyHistogram;)V
+HPLandroid/telephony/TelephonyHistogram;-><init>(Landroid/telephony/TelephonyHistogram;)V
HSPLandroid/telephony/TelephonyHistogram;->addTimeTaken(I)V
-PLandroid/telephony/TelephonyHistogram;->getBucketCounters()[I
-PLandroid/telephony/TelephonyHistogram;->getBucketEndPoints()[I
+HPLandroid/telephony/TelephonyHistogram;->getBucketCounters()[I
+HPLandroid/telephony/TelephonyHistogram;->getBucketEndPoints()[I
HSPLandroid/telephony/TelephonyManager$MultiSimVariants;-><init>(Ljava/lang/String;I)V
HSPLandroid/telephony/TelephonyManager$MultiSimVariants;->values()[Landroid/telephony/TelephonyManager$MultiSimVariants;
HSPLandroid/telephony/TelephonyManager;-><init>()V
@@ -13766,6 +14326,7 @@
HSPLandroid/telephony/TelephonyManager;->createForSubscriptionId(I)Landroid/telephony/TelephonyManager;
HSPLandroid/telephony/TelephonyManager;->enableIms(I)V
HSPLandroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager;
+HPLandroid/telephony/TelephonyManager;->getActiveVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
HSPLandroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
HSPLandroid/telephony/TelephonyManager;->getCallState()I
HSPLandroid/telephony/TelephonyManager;->getCardIdForDefaultEuicc()I
@@ -13790,6 +14351,7 @@
HSPLandroid/telephony/TelephonyManager;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
HSPLandroid/telephony/TelephonyManager;->getImsMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
HSPLandroid/telephony/TelephonyManager;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
+HSPLandroid/telephony/TelephonyManager;->getIsimIst()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getLine1Number(I)Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getMergedSubscriberIds()[Ljava/lang/String;
@@ -13841,6 +14403,7 @@
HSPLandroid/telephony/TelephonyManager;->getUiccCardsInfo()Ljava/util/List;
HSPLandroid/telephony/TelephonyManager;->getVisualVoicemailPackageName()Ljava/lang/String;
HSPLandroid/telephony/TelephonyManager;->getVoiceMailNumber(I)Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType()I
HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType(I)I
HSPLandroid/telephony/TelephonyManager;->getVtDataUsage(I)Landroid/net/NetworkStats;
HSPLandroid/telephony/TelephonyManager;->isDataCapable()Z
@@ -13991,6 +14554,7 @@
HSPLandroid/telephony/euicc/EuiccManager;-><init>(Landroid/content/Context;)V
HSPLandroid/telephony/euicc/EuiccManager;->isEnabled()Z
HSPLandroid/telephony/gsm/GsmCellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V
+HSPLandroid/telephony/gsm/GsmCellLocation;->getCid()I
HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$4YNlUy9HsD02E7Sbv2VeVtbao08;->run()V
HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$gK2iK9ZQ3GDeuMTfhRd7yjiYlO8;->runOrThrow()V
HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$8xq93ap6i0L56Aegaj-ZEUt9ISc;->runOrThrow()V
@@ -14057,6 +14621,7 @@
HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;-><init>()V
HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsConfig;
HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/telephony/ims/aidl/IImsConfigCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -14072,6 +14637,7 @@
HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsRegistrationCallback;
HSPLandroid/telephony/ims/aidl/IImsServiceController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsServiceController;
+HSPLandroid/telephony/ims/aidl/IImsServiceControllerListener$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/telephony/ims/aidl/IImsSmsListener$Stub;-><init>()V
HSPLandroid/telephony/ims/aidl/IRcs$Stub;-><init>()V
HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$1;-><init>()V
@@ -14111,7 +14677,9 @@
HSPLandroid/telephony/ims/feature/MmTelFeature$Listener;-><init>()V
HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;-><init>()V
HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;-><init>(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
+HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->addCapabilities(I)V
HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->isCapable(I)Z
+HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->removeCapabilities(I)V
HSPLandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;->toString()Ljava/lang/String;
HSPLandroid/telephony/ims/feature/MmTelFeature;-><init>()V
HSPLandroid/telephony/ims/feature/MmTelFeature;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
@@ -14127,6 +14695,7 @@
HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0;->accept(Ljava/lang/Object;)V
HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s;->accept(Ljava/lang/Object;)V
HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->addImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
+HPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getConfigInt(I)I
HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getImsConfigImpl()Landroid/telephony/ims/stub/ImsConfigImplBase;
HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->notifyImsConfigChanged(II)V
HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->setConfigInt(II)I
@@ -14139,6 +14708,8 @@
HSPLandroid/telephony/ims/stub/ImsEcbmImplBase;->getImsEcbm()Lcom/android/ims/internal/IImsEcbm;
HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;->hashCode()I
HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;->toString()Ljava/lang/String;
+HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration;->getServiceFeatures()Ljava/util/Set;
HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase$1;->setListener(Lcom/android/ims/internal/IImsExternalCallStateListener;)V
HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase;-><init>()V
HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase;->getIImsMultiEndpoint()Lcom/android/ims/internal/IImsMultiEndpoint;
@@ -14302,6 +14873,7 @@
HSPLandroid/text/Layout;->getEndHyphenEdit(I)I
HSPLandroid/text/Layout;->getHeight()I
HSPLandroid/text/Layout;->getHeight(Z)I
+HSPLandroid/text/Layout;->getHorizontal(IZ)F
HSPLandroid/text/Layout;->getHorizontal(IZIZ)F
HSPLandroid/text/Layout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I
HSPLandroid/text/Layout;->getLineBaseline(I)I
@@ -14320,6 +14892,8 @@
HSPLandroid/text/Layout;->getLineVisibleEnd(I)I
HSPLandroid/text/Layout;->getLineVisibleEnd(III)I
HSPLandroid/text/Layout;->getLineWidth(I)F
+HSPLandroid/text/Layout;->getOffsetForHorizontal(IF)I
+HSPLandroid/text/Layout;->getOffsetForHorizontal(IFZ)I
HSPLandroid/text/Layout;->getParagraphAlignment(I)Landroid/text/Layout$Alignment;
HSPLandroid/text/Layout;->getParagraphLeadingMargin(I)I
HSPLandroid/text/Layout;->getParagraphSpans(Landroid/text/Spanned;IILjava/lang/Class;)[Ljava/lang/Object;
@@ -14335,6 +14909,7 @@
HSPLandroid/text/Layout;->shouldClampCursor(I)Z
HSPLandroid/text/MeasuredParagraph;-><init>()V
HSPLandroid/text/MeasuredParagraph;->applyMetricsAffectingSpan(Landroid/text/TextPaint;[Landroid/text/style/MetricAffectingSpan;IILandroid/graphics/text/MeasuredText$Builder;)V
+HSPLandroid/text/MeasuredParagraph;->applyReplacementRun(Landroid/text/style/ReplacementSpan;IILandroid/graphics/text/MeasuredText$Builder;)V
HSPLandroid/text/MeasuredParagraph;->applyStyleRun(IILandroid/graphics/text/MeasuredText$Builder;)V
HSPLandroid/text/MeasuredParagraph;->breakText(IZF)I
HSPLandroid/text/MeasuredParagraph;->buildForBidi(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
@@ -14401,6 +14976,7 @@
HSPLandroid/text/SpannableStringBuilder;-><init>()V
HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;)V
HSPLandroid/text/SpannableStringBuilder;-><init>(Ljava/lang/CharSequence;II)V
+HSPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/SpannableStringBuilder;
HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/Editable;
HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
HSPLandroid/text/SpannableStringBuilder;->calcMax(I)I
@@ -14459,9 +15035,11 @@
HSPLandroid/text/SpannableStringInternal;->length()I
HSPLandroid/text/SpannableStringInternal;->nextSpanTransition(IILjava/lang/Class;)I
HSPLandroid/text/SpannableStringInternal;->removeSpan(Ljava/lang/Object;I)V
+HSPLandroid/text/SpannableStringInternal;->sendSpanChanged(Ljava/lang/Object;IIII)V
HSPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;IIIZ)V
HSPLandroid/text/SpannableStringInternal;->toString()Ljava/lang/String;
HSPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;)V
+HSPLandroid/text/SpannedString;->equals(Ljava/lang/Object;)Z
HSPLandroid/text/SpannedString;->getSpanEnd(Ljava/lang/Object;)I
HSPLandroid/text/SpannedString;->getSpanFlags(Ljava/lang/Object;)I
HSPLandroid/text/SpannedString;->getSpanStart(Ljava/lang/Object;)I
@@ -14521,6 +15099,7 @@
HSPLandroid/text/TextLine;-><init>()V
HSPLandroid/text/TextLine;->draw(Landroid/graphics/Canvas;FIII)V
HSPLandroid/text/TextLine;->drawRun(Landroid/graphics/Canvas;IIZFIIIZ)F
+HSPLandroid/text/TextLine;->drawStroke(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
HSPLandroid/text/TextLine;->drawTextRun(Landroid/graphics/Canvas;Landroid/text/TextPaint;IIIIZFI)V
HSPLandroid/text/TextLine;->equalAttributes(Landroid/text/TextPaint;Landroid/text/TextPaint;)Z
HSPLandroid/text/TextLine;->expandMetricsFromPaint(Landroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V
@@ -14539,6 +15118,7 @@
HSPLandroid/text/TextPaint;-><init>()V
HSPLandroid/text/TextPaint;-><init>(I)V
HSPLandroid/text/TextPaint;-><init>(Landroid/graphics/Paint;)V
+HSPLandroid/text/TextPaint;->getUnderlineThickness()F
HSPLandroid/text/TextPaint;->set(Landroid/text/TextPaint;)V
HSPLandroid/text/TextPaint;->setUnderlineText(IF)V
HSPLandroid/text/TextUtils$1;-><init>()V
@@ -14553,6 +15133,7 @@
HSPLandroid/text/TextUtils$StringWithRemovedChars;->toString()Ljava/lang/String;
HSPLandroid/text/TextUtils$TruncateAt;-><init>(Ljava/lang/String;I)V
HSPLandroid/text/TextUtils;->concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+HSPLandroid/text/TextUtils;->copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V
HSPLandroid/text/TextUtils;->couldAffectRtl(C)Z
HSPLandroid/text/TextUtils;->delimitedStringContains(Ljava/lang/String;CLjava/lang/String;)Z
HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;
@@ -14586,10 +15167,12 @@
HSPLandroid/text/TextUtils;->writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V
HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;J)Ljava/lang/CharSequence;
HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Calendar;)Ljava/lang/CharSequence;
+HSPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Date;)Ljava/lang/CharSequence;
HSPLandroid/text/format/DateFormat;->getBestDateTimePattern(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;
HSPLandroid/text/format/DateFormat;->getDayOfWeekString(Llibcore/icu/LocaleData;III)Ljava/lang/String;
HSPLandroid/text/format/DateFormat;->getMonthString(Llibcore/icu/LocaleData;III)Ljava/lang/String;
HSPLandroid/text/format/DateFormat;->getTimeFormat(Landroid/content/Context;)Ljava/text/DateFormat;
+HSPLandroid/text/format/DateFormat;->getTimeFormatString(Landroid/content/Context;)Ljava/lang/String;
HSPLandroid/text/format/DateFormat;->hasDesignator(Ljava/lang/CharSequence;C)Z
HSPLandroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;)Z
HSPLandroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;I)Z
@@ -14612,6 +15195,7 @@
HSPLandroid/text/format/Time;-><init>()V
HSPLandroid/text/format/Time;-><init>(Ljava/lang/String;)V
HSPLandroid/text/format/Time;->format(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/text/format/Time;->getJulianDay(JJ)I
HSPLandroid/text/format/Time;->set(J)V
HSPLandroid/text/format/Time;->setToNow()V
HSPLandroid/text/format/Time;->toMillis(Z)J
@@ -14651,9 +15235,11 @@
HSPLandroid/text/method/TextKeyListener;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
HSPLandroid/text/method/TextKeyListener;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
HSPLandroid/text/method/WordIterator;->checkOffsetIsValid(I)V
+HSPLandroid/text/method/WordIterator;->following(I)I
HSPLandroid/text/method/WordIterator;->getBeginning(I)I
HSPLandroid/text/method/WordIterator;->getBeginning(IZ)I
HSPLandroid/text/method/WordIterator;->setCharSequence(Ljava/lang/CharSequence;II)V
+HSPLandroid/text/style/BackgroundColorSpan;-><init>(I)V
HSPLandroid/text/style/CharacterStyle;->getUnderlying()Landroid/text/style/CharacterStyle;
HSPLandroid/text/style/DynamicDrawableSpan;->getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
HSPLandroid/text/style/ForegroundColorSpan;-><init>(I)V
@@ -14667,8 +15253,10 @@
HSPLandroid/text/style/StyleSpan;->apply(Landroid/graphics/Paint;I)V
HSPLandroid/text/style/StyleSpan;->getSpanTypeIdInternal()I
HSPLandroid/text/style/StyleSpan;->updateDrawState(Landroid/text/TextPaint;)V
+HSPLandroid/text/style/StyleSpan;->updateMeasureState(Landroid/text/TextPaint;)V
HSPLandroid/text/style/StyleSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
HSPLandroid/text/style/SuggestionSpan$1;-><init>()V
+HSPLandroid/text/style/SuggestionSpan;-><init>(Landroid/os/Parcel;)V
HSPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/content/Context;I)V
HSPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/content/Context;II)V
HSPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/os/Parcel;)V
@@ -14677,6 +15265,9 @@
HSPLandroid/text/style/TtsSpan;->getSpanTypeIdInternal()I
HSPLandroid/text/style/TtsSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
HSPLandroid/text/style/UnderlineSpan;-><init>()V
+HSPLandroid/text/style/UnderlineSpan;->getSpanTypeIdInternal()I
+HSPLandroid/text/style/UnderlineSpan;->updateDrawState(Landroid/text/TextPaint;)V
+HSPLandroid/text/style/UnderlineSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
HSPLandroid/transition/AutoTransition;-><init>()V
HSPLandroid/transition/ChangeBounds$1;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
HSPLandroid/transition/ChangeBounds$2;-><init>(Ljava/lang/Class;Ljava/lang/String;)V
@@ -14697,6 +15288,7 @@
HSPLandroid/transition/TransitionInflater;->from(Landroid/content/Context;)Landroid/transition/TransitionInflater;
HSPLandroid/transition/TransitionInflater;->inflateTransition(I)Landroid/transition/Transition;
HSPLandroid/transition/TransitionManager;-><init>()V
+HSPLandroid/transition/TransitionManager;->beginDelayedTransition(Landroid/view/ViewGroup;)V
HSPLandroid/transition/TransitionManager;->beginDelayedTransition(Landroid/view/ViewGroup;Landroid/transition/Transition;)V
HSPLandroid/transition/TransitionManager;->getRunningTransitions()Landroid/util/ArrayMap;
HSPLandroid/transition/TransitionSet;-><init>()V
@@ -14741,7 +15333,7 @@
HSPLandroid/util/ArrayMap;->putAll(Ljava/util/Map;)V
HSPLandroid/util/ArrayMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/ArrayMap;->removeAt(I)Ljava/lang/Object;
-PLandroid/util/ArrayMap;->setValueAt(ILjava/lang/Object;)Ljava/lang/Object;
+HPLandroid/util/ArrayMap;->setValueAt(ILjava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/ArrayMap;->size()I
HSPLandroid/util/ArrayMap;->toString()Ljava/lang/String;
HSPLandroid/util/ArrayMap;->validate()V
@@ -14813,6 +15405,7 @@
HSPLandroid/util/DataUnit$5;->toBytes(J)J
HSPLandroid/util/DataUnit$6;-><init>(Ljava/lang/String;I)V
HSPLandroid/util/DataUnit$6;->toBytes(J)J
+HSPLandroid/util/DebugUtils;->buildShortClassTag(Ljava/lang/Object;Ljava/lang/StringBuilder;)V
HSPLandroid/util/DebugUtils;->flagsToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/util/DebugUtils;->valueToString(Ljava/lang/Class;Ljava/lang/String;I)Ljava/lang/String;
HSPLandroid/util/DisplayMetrics;-><init>()V
@@ -14825,7 +15418,7 @@
HPLandroid/util/EventLog$Event;->getUid()I
HSPLandroid/util/EventLog;->getTagCode(Ljava/lang/String;)I
HSPLandroid/util/EventLog;->readTagsFile()V
-PLandroid/util/ExceptionUtils;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
+HPLandroid/util/ExceptionUtils;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
HSPLandroid/util/FastImmutableArraySet$FastIterator;->hasNext()Z
HSPLandroid/util/FastImmutableArraySet$FastIterator;->next()Ljava/lang/Object;
HSPLandroid/util/FastImmutableArraySet;->iterator()Ljava/util/Iterator;
@@ -14856,8 +15449,10 @@
HSPLandroid/util/JsonReader;->expect(Landroid/util/JsonToken;)V
HSPLandroid/util/JsonReader;->fillBuffer(I)Z
HSPLandroid/util/JsonReader;->hasNext()Z
+HSPLandroid/util/JsonReader;->nextBoolean()Z
HSPLandroid/util/JsonReader;->nextInArray(Z)Landroid/util/JsonToken;
HSPLandroid/util/JsonReader;->nextInObject(Z)Landroid/util/JsonToken;
+HSPLandroid/util/JsonReader;->nextInt()I
HSPLandroid/util/JsonReader;->nextLiteral(Z)Ljava/lang/String;
HSPLandroid/util/JsonReader;->nextLong()J
HSPLandroid/util/JsonReader;->nextName()Ljava/lang/String;
@@ -14884,7 +15479,9 @@
HSPLandroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter;
+HSPLandroid/util/JsonWriter;->open(Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V
+HSPLandroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter;
HSPLandroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter;
HSPLandroid/util/KeyValueListParser$IntValue;-><init>(Ljava/lang/String;I)V
HSPLandroid/util/KeyValueListParser$IntValue;->getValue()I
@@ -14974,6 +15571,8 @@
HSPLandroid/util/LruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
HSPLandroid/util/LruCache;->evictAll()V
HSPLandroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/util/LruCache;->hitCount()I
+HSPLandroid/util/LruCache;->missCount()I
HSPLandroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/util/LruCache;->resize(I)V
@@ -15050,7 +15649,7 @@
HSPLandroid/util/NtpTrustedTime;->hasCache()Z
HSPLandroid/util/PackageUtils;->computeSha256Digest([B)Ljava/lang/String;
HSPLandroid/util/PackageUtils;->computeSha256DigestBytes([B)[B
-PLandroid/util/PackageUtils;->computeSignaturesSha256Digest([Landroid/content/pm/Signature;)Ljava/lang/String;
+HPLandroid/util/PackageUtils;->computeSignaturesSha256Digest([Landroid/content/pm/Signature;)Ljava/lang/String;
HSPLandroid/util/Pair;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
HSPLandroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
HSPLandroid/util/Pair;->equals(Ljava/lang/Object;)Z
@@ -15175,7 +15774,7 @@
HSPLandroid/util/SparseLongArray;->delete(I)V
HSPLandroid/util/SparseLongArray;->get(I)J
HSPLandroid/util/SparseLongArray;->get(IJ)J
-PLandroid/util/SparseLongArray;->indexOfKey(I)I
+HPLandroid/util/SparseLongArray;->indexOfKey(I)I
HSPLandroid/util/SparseLongArray;->keyAt(I)I
HSPLandroid/util/SparseLongArray;->put(IJ)V
HSPLandroid/util/SparseLongArray;->removeAt(I)V
@@ -15194,17 +15793,17 @@
HSPLandroid/util/StateSet;->stateSetMatches([I[I)Z
HSPLandroid/util/StateSet;->trimStateSet([II)[I
HSPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;I)V
-PLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;II)V
+HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;II)V
HSPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;)V
HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;I)V
HPLandroid/util/StringBuilderPrinter;->println(Ljava/lang/String;)V
HSPLandroid/util/TimeUtils;->formatDuration(J)Ljava/lang/String;
HSPLandroid/util/TimeUtils;->formatDuration(JJLjava/io/PrintWriter;)V
-PLandroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
+HPLandroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
HSPLandroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;I)V
HSPLandroid/util/TimeUtils;->formatDuration(JLjava/lang/StringBuilder;)V
HSPLandroid/util/TimeUtils;->formatDurationLocked(JI)I
-PLandroid/util/TimeUtils;->formatForLogging(J)Ljava/lang/String;
+HPLandroid/util/TimeUtils;->formatForLogging(J)Ljava/lang/String;
HSPLandroid/util/TimeUtils;->printFieldLocked([CICIZI)I
HSPLandroid/util/TimedRemoteCaller;-><init>(J)V
HPLandroid/util/TimedRemoteCaller;->getResultTimed(I)Ljava/lang/Object;
@@ -15214,6 +15813,11 @@
HSPLandroid/util/TimestampedValue;->referenceTimeDifference(Landroid/util/TimestampedValue;Landroid/util/TimestampedValue;)J
HSPLandroid/util/TimestampedValue;->toString()Ljava/lang/String;
HSPLandroid/util/TimestampedValue;->writeToParcel(Landroid/os/Parcel;Landroid/util/TimestampedValue;)V
+HSPLandroid/util/TimingLogger;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/util/TimingLogger;->addSplit(Ljava/lang/String;)V
+HSPLandroid/util/TimingLogger;->dumpToLog()V
+HSPLandroid/util/TimingLogger;->reset()V
+HSPLandroid/util/TimingLogger;->reset(Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/util/TimingsTraceLog;-><init>(Ljava/lang/String;J)V
HSPLandroid/util/TimingsTraceLog;->assertSameThread()V
HSPLandroid/util/TimingsTraceLog;->logDuration(Ljava/lang/String;J)V
@@ -15243,18 +15847,18 @@
HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verifyAdditionalAttributes(Ljava/nio/ByteBuffer;)V
HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)[Ljava/security/cert/X509Certificate;
HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLandroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
+HPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerityRootHash(Ljava/lang/String;)[B
-PLandroid/util/apk/ApkSignatureSchemeV3Verifier;->getVerityRootHash(Ljava/lang/String;)[B
+HPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->getVerityRootHash(Ljava/lang/String;)[B
HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->isSupportedSignatureAlgorithm(I)Z
HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verify(Ljava/lang/String;Z)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verifyAdditionalAttributes(Ljava/nio/ByteBuffer;Ljava/util/List;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
HSPLandroid/util/apk/ApkSignatureVerifier;->closeQuietly(Landroid/util/jar/StrictJarFile;)V
-PLandroid/util/apk/ApkSignatureVerifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
+HPLandroid/util/apk/ApkSignatureVerifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
HSPLandroid/util/apk/ApkSignatureVerifier;->generateApkVerityRootHash(Ljava/lang/String;)[B
-PLandroid/util/apk/ApkSignatureVerifier;->getVerityRootHash(Ljava/lang/String;)[B
+HPLandroid/util/apk/ApkSignatureVerifier;->getVerityRootHash(Ljava/lang/String;)[B
HSPLandroid/util/apk/ApkSignatureVerifier;->loadCertificates(Landroid/util/jar/StrictJarFile;Ljava/util/zip/ZipEntry;)[[Ljava/security/cert/Certificate;
HSPLandroid/util/apk/ApkSignatureVerifier;->readFullyIgnoringContents(Ljava/io/InputStream;)V
HSPLandroid/util/apk/ApkSignatureVerifier;->unsafeGetCertsWithoutVerification(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
@@ -15293,7 +15897,7 @@
HSPLandroid/util/apk/VerityBuilder$BufferedDigester;->consume(Ljava/nio/ByteBuffer;)V
HSPLandroid/util/apk/VerityBuilder;->assertSigningBlockAlignedAndHasFullPages(Landroid/util/apk/SignatureInfo;)V
HSPLandroid/util/apk/VerityBuilder;->calculateVerityLevelOffset(J)[I
-PLandroid/util/apk/VerityBuilder;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;Landroid/util/apk/SignatureInfo;)[B
+HPLandroid/util/apk/VerityBuilder;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;Landroid/util/apk/SignatureInfo;)[B
HSPLandroid/util/apk/VerityBuilder;->generateApkVerityDigestAtLeafLevel(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;[BLjava/nio/ByteBuffer;)V
HSPLandroid/util/apk/VerityBuilder;->generateApkVerityExtensions(Ljava/nio/ByteBuffer;JJJ)Ljava/nio/ByteBuffer;
HSPLandroid/util/apk/VerityBuilder;->generateApkVerityHeader(Ljava/nio/ByteBuffer;J[B)Ljava/nio/ByteBuffer;
@@ -15371,6 +15975,7 @@
HSPLandroid/util/proto/ProtoInputStream;->readVarint()J
HSPLandroid/util/proto/ProtoInputStream;->start(J)J
HSPLandroid/util/proto/ProtoOutputStream;-><init>(I)V
+HPLandroid/util/proto/ProtoOutputStream;-><init>(Ljava/io/FileDescriptor;)V
HSPLandroid/util/proto/ProtoOutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLandroid/util/proto/ProtoOutputStream;->compactIfNecessary()V
HSPLandroid/util/proto/ProtoOutputStream;->compactSizes(I)V
@@ -15402,6 +16007,7 @@
HSPLandroid/view/AbsSavedState$1;-><init>()V
HSPLandroid/view/AbsSavedState$2;-><init>()V
HSPLandroid/view/AbsSavedState;-><init>(Landroid/os/Parcelable;)V
+HSPLandroid/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/view/Choreographer$1;-><init>()V
HSPLandroid/view/Choreographer$1;->initialValue()Landroid/view/Choreographer;
@@ -15437,6 +16043,7 @@
HSPLandroid/view/ContextThemeWrapper;-><init>(Landroid/content/Context;I)V
HSPLandroid/view/ContextThemeWrapper;->applyOverrideConfiguration(Landroid/content/res/Configuration;)V
HSPLandroid/view/ContextThemeWrapper;->attachBaseContext(Landroid/content/Context;)V
+HSPLandroid/view/ContextThemeWrapper;->getAssets()Landroid/content/res/AssetManager;
HSPLandroid/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resources;
HSPLandroid/view/ContextThemeWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
HSPLandroid/view/ContextThemeWrapper;->getTheme()Landroid/content/res/Resources$Theme;
@@ -15460,6 +16067,7 @@
HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;)V
HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/view/DisplayAdjustments;Landroid/content/res/Resources;)V
HSPLandroid/view/Display;->getDisplayAdjustments()Landroid/view/DisplayAdjustments;
+HSPLandroid/view/Display;->getDisplayId()I
HSPLandroid/view/Display;->getDisplayInfo(Landroid/view/DisplayInfo;)Z
HSPLandroid/view/Display;->getHeight()I
HSPLandroid/view/Display;->getMaximumSizeDimension()I
@@ -15551,6 +16159,8 @@
HSPLandroid/view/FocusFinder;->findNextFocusInAbsoluteDirection(Ljava/util/ArrayList;Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;I)Landroid/view/View;
HSPLandroid/view/FocusFinder;->findNextUserSpecifiedFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
HSPLandroid/view/FocusFinder;->getEffectiveRoot(Landroid/view/ViewGroup;Landroid/view/View;)Landroid/view/ViewGroup;
+HSPLandroid/view/FocusFinder;->isBetterCandidate(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+HSPLandroid/view/FocusFinder;->isCandidate(Landroid/graphics/Rect;Landroid/graphics/Rect;I)Z
HSPLandroid/view/GestureDetector$GestureHandler;->handleMessage(Landroid/os/Message;)V
HSPLandroid/view/GestureDetector$SimpleOnGestureListener;-><init>()V
HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDoubleTap(Landroid/view/MotionEvent;)Z
@@ -15572,6 +16182,7 @@
HSPLandroid/view/GestureDetector;->setContextClickListener(Landroid/view/GestureDetector$OnContextClickListener;)V
HSPLandroid/view/GestureDetector;->setOnDoubleTapListener(Landroid/view/GestureDetector$OnDoubleTapListener;)V
HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;IILandroid/graphics/Rect;)V
+HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLandroid/view/Gravity;->apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;I)V
HSPLandroid/view/Gravity;->applyDisplay(ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLandroid/view/Gravity;->getAbsoluteGravity(II)I
@@ -15649,10 +16260,11 @@
HSPLandroid/view/IWindowManager$Stub$Proxy;->openSession(Landroid/view/IWindowSessionCallback;)Landroid/view/IWindowSession;
HSPLandroid/view/IWindowManager$Stub;-><init>()V
HSPLandroid/view/IWindowManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowManager;
-PLandroid/view/IWindowManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/view/IWindowManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/view/IWindowManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/view/IWindowSession$Stub$Proxy;->addToDisplay(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/view/InputChannel;Landroid/view/InsetsState;)I
HSPLandroid/view/IWindowSession$Stub$Proxy;->finishDrawing(Landroid/view/IWindow;)V
+HSPLandroid/view/IWindowSession$Stub$Proxy;->getDisplayFrame(Landroid/view/IWindow;Landroid/graphics/Rect;)V
HSPLandroid/view/IWindowSession$Stub$Proxy;->getInTouchMode()Z
HSPLandroid/view/IWindowSession$Stub$Proxy;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
HSPLandroid/view/IWindowSession$Stub$Proxy;->performHapticFeedback(IZ)Z
@@ -15662,7 +16274,7 @@
HSPLandroid/view/IWindowSession$Stub$Proxy;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
HSPLandroid/view/IWindowSession$Stub;-><init>()V
HSPLandroid/view/IWindowSession$Stub;->asBinder()Landroid/os/IBinder;
-PLandroid/view/IWindowSession$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/view/IWindowSession$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLandroid/view/IWindowSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/view/IWindowSessionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/view/IWindowSessionCallback$Stub;->asBinder()Landroid/os/IBinder;
@@ -15686,6 +16298,7 @@
HSPLandroid/view/InputDevice$1;-><init>()V
HSPLandroid/view/InputDevice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InputDevice;
HSPLandroid/view/InputDevice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/InputDevice$MotionRange;-><init>(IIFFFFFLandroid/view/InputDevice$1;)V
HSPLandroid/view/InputDevice;-><init>(IIILjava/lang/String;IILjava/lang/String;ZIILandroid/view/KeyCharacterMap;ZZZ)V
HSPLandroid/view/InputDevice;-><init>(Landroid/os/Parcel;)V
HSPLandroid/view/InputDevice;->addMotionRange(IIFFFFF)V
@@ -15751,6 +16364,7 @@
HSPLandroid/view/KeyCharacterMap;->addDeadKey(III)V
HSPLandroid/view/KeyCharacterMap;->finalize()V
HSPLandroid/view/KeyCharacterMap;->get(II)I
+HSPLandroid/view/KeyCharacterMap;->getKeyboardType()I
HSPLandroid/view/KeyCharacterMap;->load(I)Landroid/view/KeyCharacterMap;
HSPLandroid/view/KeyCharacterMap;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/view/KeyEvent$1;-><init>()V
@@ -15758,25 +16372,29 @@
HSPLandroid/view/KeyEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/view/KeyEvent$DispatcherState;-><init>()V
HSPLandroid/view/KeyEvent$DispatcherState;->handleUpEvent(Landroid/view/KeyEvent;)V
+HSPLandroid/view/KeyEvent$DispatcherState;->isTracking(Landroid/view/KeyEvent;)Z
HSPLandroid/view/KeyEvent$DispatcherState;->reset()V
HSPLandroid/view/KeyEvent$DispatcherState;->reset(Ljava/lang/Object;)V
HSPLandroid/view/KeyEvent$DispatcherState;->startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V
+HSPLandroid/view/KeyEvent;-><init>(JJIIIIIII)V
HSPLandroid/view/KeyEvent;-><init>(Landroid/os/Parcel;)V
HPLandroid/view/KeyEvent;->actionToString(I)Ljava/lang/String;
HSPLandroid/view/KeyEvent;->dispatch(Landroid/view/KeyEvent$Callback;Landroid/view/KeyEvent$DispatcherState;Ljava/lang/Object;)Z
HSPLandroid/view/KeyEvent;->getAction()I
HSPLandroid/view/KeyEvent;->getDeviceId()I
HSPLandroid/view/KeyEvent;->getEventTimeNano()J
+HSPLandroid/view/KeyEvent;->getFlags()I
HSPLandroid/view/KeyEvent;->getKeyCharacterMap()Landroid/view/KeyCharacterMap;
HSPLandroid/view/KeyEvent;->getKeyCode()I
+HSPLandroid/view/KeyEvent;->getMetaState()I
HSPLandroid/view/KeyEvent;->getUnicodeChar()I
HSPLandroid/view/KeyEvent;->getUnicodeChar(I)I
-PLandroid/view/KeyEvent;->isAltPressed()Z
+HPLandroid/view/KeyEvent;->isAltPressed()Z
HSPLandroid/view/KeyEvent;->isCtrlPressed()Z
HPLandroid/view/KeyEvent;->isMetaKey(I)Z
-PLandroid/view/KeyEvent;->isMetaPressed()Z
+HPLandroid/view/KeyEvent;->isMetaPressed()Z
HSPLandroid/view/KeyEvent;->isModifierKey(I)Z
-PLandroid/view/KeyEvent;->isShiftPressed()Z
+HPLandroid/view/KeyEvent;->isShiftPressed()Z
HSPLandroid/view/KeyEvent;->isSystem()Z
HSPLandroid/view/KeyEvent;->isSystemKey(I)Z
HSPLandroid/view/KeyEvent;->isWakeKey()Z
@@ -15829,6 +16447,7 @@
HSPLandroid/view/MotionEvent;->getEventTimeNano()J
HSPLandroid/view/MotionEvent;->getFlags()I
HSPLandroid/view/MotionEvent;->getHistoricalEventTime(I)J
+HSPLandroid/view/MotionEvent;->getHistoricalPressure(II)F
HSPLandroid/view/MotionEvent;->getHistoricalX(II)F
HSPLandroid/view/MotionEvent;->getHistoricalY(II)F
HSPLandroid/view/MotionEvent;->getHistorySize()I
@@ -15854,20 +16473,23 @@
HSPLandroid/view/MotionEvent;->recycle()V
HSPLandroid/view/MotionEvent;->setAction(I)V
HSPLandroid/view/MotionEvent;->setLocation(FF)V
+HSPLandroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent;
HSPLandroid/view/MotionEvent;->transform(Landroid/graphics/Matrix;)V
HSPLandroid/view/OrientationEventListener;-><init>(Landroid/content/Context;)V
HSPLandroid/view/OrientationEventListener;-><init>(Landroid/content/Context;I)V
HSPLandroid/view/PointerIcon$1;-><init>()V
HSPLandroid/view/PointerIcon;-><init>(I)V
+HSPLandroid/view/PointerIcon;->getSystemIcon(Landroid/content/Context;I)Landroid/view/PointerIcon;
+HSPLandroid/view/PointerIcon;->getSystemIconTypeIndex(I)I
HSPLandroid/view/PointerIcon;->setUseLargeIcons(Z)V
HSPLandroid/view/RemoteAnimationAdapter$1;-><init>()V
PLandroid/view/RemoteAnimationAdapter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationAdapter;
PLandroid/view/RemoteAnimationAdapter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-PLandroid/view/RemoteAnimationAdapter;->getCallingPid()I
-PLandroid/view/RemoteAnimationAdapter;->getDuration()J
-PLandroid/view/RemoteAnimationAdapter;->getRunner()Landroid/view/IRemoteAnimationRunner;
-PLandroid/view/RemoteAnimationAdapter;->getStatusBarTransitionDelay()J
-PLandroid/view/RemoteAnimationAdapter;->setCallingPid(I)V
+HPLandroid/view/RemoteAnimationAdapter;->getCallingPid()I
+HPLandroid/view/RemoteAnimationAdapter;->getDuration()J
+HPLandroid/view/RemoteAnimationAdapter;->getRunner()Landroid/view/IRemoteAnimationRunner;
+HPLandroid/view/RemoteAnimationAdapter;->getStatusBarTransitionDelay()J
+HPLandroid/view/RemoteAnimationAdapter;->setCallingPid(I)V
HSPLandroid/view/RemoteAnimationDefinition$1;-><init>()V
PLandroid/view/RemoteAnimationDefinition$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationDefinition;
PLandroid/view/RemoteAnimationDefinition$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -15900,6 +16522,7 @@
HSPLandroid/view/RenderNodeAnimatorSetHelper;->getTarget(Landroid/graphics/RecordingCanvas;)Landroid/graphics/RenderNode;
HSPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V
HSPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;Landroid/os/Handler;)V
+HSPLandroid/view/ScaleGestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/view/ScaleGestureDetector;->setQuickScaleEnabled(Z)V
HSPLandroid/view/ScaleGestureDetector;->setStylusScaleEnabled(Z)V
HSPLandroid/view/Surface$1;-><init>()V
@@ -15933,6 +16556,7 @@
HSPLandroid/view/SurfaceControl$Builder;->setSecure(Z)Landroid/view/SurfaceControl$Builder;
HSPLandroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>()V
HSPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->createFromNative(IIIIJI)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
+HPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->getColorSpace()Landroid/graphics/ColorSpace;
HSPLandroid/view/SurfaceControl$ScreenshotGraphicBuffer;->getGraphicBuffer()Landroid/graphics/GraphicBuffer;
HSPLandroid/view/SurfaceControl$Transaction;-><init>()V
HSPLandroid/view/SurfaceControl$Transaction;->apply()V
@@ -15947,7 +16571,7 @@
HSPLandroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
HSPLandroid/view/SurfaceControl$Transaction;->setAnimationTransaction()Landroid/view/SurfaceControl$Transaction;
HSPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
-PLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction;
+HPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction;
HSPLandroid/view/SurfaceControl$Transaction;->setColorSpaceAgnostic(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
HSPLandroid/view/SurfaceControl$Transaction;->setCornerRadius(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
HSPLandroid/view/SurfaceControl$Transaction;->setDisplayLayerStack(Landroid/os/IBinder;I)Landroid/view/SurfaceControl$Transaction;
@@ -15996,13 +16620,14 @@
HSPLandroid/view/SurfaceControl;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/view/SurfaceControl;->release()V
HSPLandroid/view/SurfaceControl;->remove()V
-PLandroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;)V
-PLandroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIZI)V
+HPLandroid/view/SurfaceControl;->screenshot(Landroid/graphics/Rect;IIZI)Landroid/graphics/Bitmap;
+HPLandroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;)V
+HPLandroid/view/SurfaceControl;->screenshot(Landroid/os/IBinder;Landroid/view/Surface;Landroid/graphics/Rect;IIZI)V
HSPLandroid/view/SurfaceControl;->screenshotToBufferWithSecureLayersUnsafe(Landroid/os/IBinder;Landroid/graphics/Rect;IIZI)Landroid/view/SurfaceControl$ScreenshotGraphicBuffer;
HSPLandroid/view/SurfaceControl;->setAllowedDisplayConfigs(Landroid/os/IBinder;[I)Z
HSPLandroid/view/SurfaceControl;->setAlpha(F)V
HSPLandroid/view/SurfaceControl;->setBufferSize(II)V
-PLandroid/view/SurfaceControl;->setColor([F)V
+HPLandroid/view/SurfaceControl;->setColor([F)V
HSPLandroid/view/SurfaceControl;->setColorSpaceAgnostic(Z)V
HSPLandroid/view/SurfaceControl;->setDisplayPowerMode(Landroid/os/IBinder;I)V
HSPLandroid/view/SurfaceControl;->setDisplayedContentSamplingEnabled(Landroid/os/IBinder;ZII)Z
@@ -16020,11 +16645,18 @@
HSPLandroid/view/SurfaceSession;->finalize()V
HSPLandroid/view/SurfaceSession;->kill()V
HSPLandroid/view/SurfaceView$2;->onPreDraw()Z
+HSPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;)V
HSPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/view/SurfaceView;->onAttachedToWindow()V
HSPLandroid/view/SurfaceView;->onDetachedFromWindow()V
HSPLandroid/view/SurfaceView;->onWindowVisibilityChanged(I)V
HSPLandroid/view/SurfaceView;->updateSurface()V
+HSPLandroid/view/SurfaceView;->windowStopped(Z)V
+HSPLandroid/view/TextureView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/view/TextureView;->onAttachedToWindow()V
+HSPLandroid/view/TextureView;->onDetachedFromWindowInternal()V
+HSPLandroid/view/TextureView;->onVisibilityChanged(Landroid/view/View;I)V
+HSPLandroid/view/TextureView;->releaseSurfaceTexture()V
HSPLandroid/view/ThreadedRenderer;-><init>(Landroid/content/Context;ZLjava/lang/String;)V
HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;)V
HSPLandroid/view/ThreadedRenderer;->enableForegroundTrimming()V
@@ -16040,9 +16672,12 @@
HSPLandroid/view/TouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/view/View;)V
HSPLandroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
HSPLandroid/view/VelocityTracker;->clear()V
+HSPLandroid/view/VelocityTracker;->computeCurrentVelocity(I)V
HSPLandroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
HSPLandroid/view/VelocityTracker;->finalize()V
+HSPLandroid/view/VelocityTracker;->getXVelocity()F
HSPLandroid/view/VelocityTracker;->getXVelocity(I)F
+HSPLandroid/view/VelocityTracker;->getYVelocity()F
HSPLandroid/view/VelocityTracker;->getYVelocity(I)F
HSPLandroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
HSPLandroid/view/VelocityTracker;->recycle()V
@@ -16078,6 +16713,8 @@
HSPLandroid/view/View$6;->setValue(Landroid/view/View;F)V
HSPLandroid/view/View$6;->setValue(Ljava/lang/Object;F)V
HSPLandroid/view/View$7;-><init>(Ljava/lang/String;)V
+HSPLandroid/view/View$7;->setValue(Landroid/view/View;F)V
+HSPLandroid/view/View$7;->setValue(Ljava/lang/Object;F)V
HSPLandroid/view/View$8;-><init>(Ljava/lang/String;)V
HSPLandroid/view/View$9;-><init>(Ljava/lang/String;)V
HSPLandroid/view/View$AccessibilityDelegate;-><init>()V
@@ -16119,11 +16756,13 @@
HSPLandroid/view/View;->bringToFront()V
HSPLandroid/view/View;->buildDrawingCache(Z)V
HSPLandroid/view/View;->buildDrawingCacheImpl(Z)V
+HSPLandroid/view/View;->buildLayer()V
HSPLandroid/view/View;->calculateIsImportantForContentCapture()Z
HSPLandroid/view/View;->canHaveDisplayList()Z
HSPLandroid/view/View;->canNotifyAutofillEnterExitEvent()Z
HSPLandroid/view/View;->canResolveLayoutDirection()Z
HSPLandroid/view/View;->canResolveTextDirection()Z
+HSPLandroid/view/View;->canScrollHorizontally(I)Z
HSPLandroid/view/View;->canScrollVertically(I)Z
HSPLandroid/view/View;->canTakeFocus()Z
HSPLandroid/view/View;->cancelLongPress()V
@@ -16140,6 +16779,7 @@
HSPLandroid/view/View;->combineVisibility(II)I
HSPLandroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
HSPLandroid/view/View;->computeHorizontalScrollExtent()I
+HSPLandroid/view/View;->computeHorizontalScrollRange()I
HSPLandroid/view/View;->computeOpaqueFlags()V
HSPLandroid/view/View;->computeScroll()V
HSPLandroid/view/View;->computeSystemWindowInsets(Landroid/view/WindowInsets;Landroid/graphics/Rect;)Landroid/view/WindowInsets;
@@ -16160,6 +16800,8 @@
HSPLandroid/view/View;->dispatchDrawableHotspotChanged(FF)V
HSPLandroid/view/View;->dispatchFinishTemporaryDetach()V
HSPLandroid/view/View;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+HSPLandroid/view/View;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroid/view/View;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
HSPLandroid/view/View;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
HSPLandroid/view/View;->dispatchProvideStructure(Landroid/view/ViewStructure;II)V
HSPLandroid/view/View;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
@@ -16200,8 +16842,10 @@
HSPLandroid/view/View;->getAccessibilityLiveRegion()I
HSPLandroid/view/View;->getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider;
HSPLandroid/view/View;->getAccessibilityViewId()I
+HSPLandroid/view/View;->getAccessibilityWindowId()I
HSPLandroid/view/View;->getAlpha()F
HSPLandroid/view/View;->getAnimation()Landroid/view/animation/Animation;
+HSPLandroid/view/View;->getApplicationWindowToken()Landroid/os/IBinder;
HSPLandroid/view/View;->getAutofillHints()[Ljava/lang/String;
HSPLandroid/view/View;->getAutofillType()I
HSPLandroid/view/View;->getAutofillViewId()I
@@ -16223,6 +16867,7 @@
HSPLandroid/view/View;->getFitsSystemWindows()Z
HSPLandroid/view/View;->getFocusable()I
HSPLandroid/view/View;->getFocusableAttribute(Landroid/content/res/TypedArray;)I
+HSPLandroid/view/View;->getFocusedRect(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->getForeground()Landroid/graphics/drawable/Drawable;
HSPLandroid/view/View;->getForegroundGravity()I
HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;)Z
@@ -16242,6 +16887,7 @@
HSPLandroid/view/View;->getLeft()I
HSPLandroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo;
HSPLandroid/view/View;->getLocationInWindow([I)V
+HSPLandroid/view/View;->getLocationOnScreen()[I
HSPLandroid/view/View;->getLocationOnScreen([I)V
HSPLandroid/view/View;->getMatrix()Landroid/graphics/Matrix;
HSPLandroid/view/View;->getMeasuredHeight()I
@@ -16258,6 +16904,7 @@
HSPLandroid/view/View;->getPaddingStart()I
HSPLandroid/view/View;->getPaddingTop()I
HSPLandroid/view/View;->getParent()Landroid/view/ViewParent;
+HSPLandroid/view/View;->getParentForAccessibility()Landroid/view/ViewParent;
HSPLandroid/view/View;->getPivotX()F
HSPLandroid/view/View;->getPivotY()F
HSPLandroid/view/View;->getRawLayoutDirection()I
@@ -16270,10 +16917,12 @@
HSPLandroid/view/View;->getRotation()F
HSPLandroid/view/View;->getRotationX()F
HSPLandroid/view/View;->getRotationY()F
+HSPLandroid/view/View;->getRunQueue()Landroid/view/HandlerActionQueue;
HSPLandroid/view/View;->getScaleX()F
HSPLandroid/view/View;->getScaleY()F
HSPLandroid/view/View;->getScrollX()I
HSPLandroid/view/View;->getScrollY()I
+HSPLandroid/view/View;->getSelfOrParentImportantForA11y()Landroid/view/View;
HSPLandroid/view/View;->getStraightVerticalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLandroid/view/View;->getSuggestedMinimumHeight()I
HSPLandroid/view/View;->getSuggestedMinimumWidth()I
@@ -16292,9 +16941,11 @@
HSPLandroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
HSPLandroid/view/View;->getVisibility()I
HSPLandroid/view/View;->getWidth()I
+HSPLandroid/view/View;->getWindowAttachCount()I
HSPLandroid/view/View;->getWindowSystemUiVisibility()I
HSPLandroid/view/View;->getWindowToken()Landroid/os/IBinder;
HSPLandroid/view/View;->getWindowVisibility()I
+HSPLandroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->getX()F
HSPLandroid/view/View;->getY()F
HSPLandroid/view/View;->getZ()F
@@ -16302,6 +16953,7 @@
HSPLandroid/view/View;->handleScrollBarDragging(Landroid/view/MotionEvent;)Z
HSPLandroid/view/View;->hasAncestorThatBlocksDescendantFocus()Z
HSPLandroid/view/View;->hasDefaultFocus()Z
+HSPLandroid/view/View;->hasExplicitFocusable()Z
HSPLandroid/view/View;->hasFocus()Z
HSPLandroid/view/View;->hasFocusable()Z
HSPLandroid/view/View;->hasFocusable(ZZ)Z
@@ -16400,6 +17052,7 @@
HSPLandroid/view/View;->onAttachedToWindow()V
HSPLandroid/view/View;->onCancelPendingInputEvents()V
HSPLandroid/view/View;->onCheckIsTextEditor()Z
+HSPLandroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V
HSPLandroid/view/View;->onConfigurationChanged(Landroid/content/res/Configuration;)V
HSPLandroid/view/View;->onCreateDrawableState(I)[I
HSPLandroid/view/View;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
@@ -16415,10 +17068,14 @@
HSPLandroid/view/View;->onFinishTemporaryDetach()V
HSPLandroid/view/View;->onFocusChanged(ZILandroid/graphics/Rect;)V
HSPLandroid/view/View;->onFocusLost()V
+HSPLandroid/view/View;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/View;->onKeyDown(ILandroid/view/KeyEvent;)Z
HSPLandroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z
HSPLandroid/view/View;->onLayout(ZIIII)V
HSPLandroid/view/View;->onMeasure(II)V
+HSPLandroid/view/View;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/View;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
HSPLandroid/view/View;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V
HSPLandroid/view/View;->onProvideStructure(Landroid/view/ViewStructure;II)V
@@ -16495,6 +17152,8 @@
HSPLandroid/view/View;->scrollTo(II)V
HSPLandroid/view/View;->sendAccessibilityEvent(I)V
HSPLandroid/view/View;->sendAccessibilityEventInternal(I)V
+HSPLandroid/view/View;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View;->sendAccessibilityEventUncheckedInternal(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/View;->setAccessibilityDelegate(Landroid/view/View$AccessibilityDelegate;)V
HSPLandroid/view/View;->setAccessibilityHeading(Z)V
HSPLandroid/view/View;->setAccessibilityLiveRegion(I)V
@@ -16509,8 +17168,10 @@
HSPLandroid/view/View;->setBackgroundColor(I)V
HSPLandroid/view/View;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/view/View;->setBackgroundResource(I)V
+HSPLandroid/view/View;->setBackgroundTintList(Landroid/content/res/ColorStateList;)V
HSPLandroid/view/View;->setBottom(I)V
HSPLandroid/view/View;->setClickable(Z)V
+HSPLandroid/view/View;->setClipBounds(Landroid/graphics/Rect;)V
HSPLandroid/view/View;->setClipToOutline(Z)V
HSPLandroid/view/View;->setContentDescription(Ljava/lang/CharSequence;)V
HSPLandroid/view/View;->setDefaultFocusHighlightEnabled(Z)V
@@ -16534,7 +17195,9 @@
HSPLandroid/view/View;->setImportantForAutofill(I)V
HSPLandroid/view/View;->setImportantForContentCapture(I)V
HSPLandroid/view/View;->setIsRootNamespace(Z)V
+HSPLandroid/view/View;->setKeepScreenOn(Z)V
HSPLandroid/view/View;->setKeyboardNavigationCluster(Z)V
+HSPLandroid/view/View;->setLayerPaint(Landroid/graphics/Paint;)V
HSPLandroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V
HSPLandroid/view/View;->setLayoutDirection(I)V
HSPLandroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
@@ -16544,6 +17207,10 @@
HSPLandroid/view/View;->setMinimumHeight(I)V
HSPLandroid/view/View;->setMinimumWidth(I)V
HSPLandroid/view/View;->setNextFocusDownId(I)V
+HSPLandroid/view/View;->setNextFocusForwardId(I)V
+HSPLandroid/view/View;->setNextFocusLeftId(I)V
+HSPLandroid/view/View;->setNextFocusRightId(I)V
+HSPLandroid/view/View;->setNextFocusUpId(I)V
HSPLandroid/view/View;->setOnApplyWindowInsetsListener(Landroid/view/View$OnApplyWindowInsetsListener;)V
HSPLandroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
HSPLandroid/view/View;->setOnCreateContextMenuListener(Landroid/view/View$OnCreateContextMenuListener;)V
@@ -16559,6 +17226,7 @@
HSPLandroid/view/View;->setPaddingRelative(IIII)V
HSPLandroid/view/View;->setPivotX(F)V
HSPLandroid/view/View;->setPivotY(F)V
+HSPLandroid/view/View;->setPointerIcon(Landroid/view/PointerIcon;)V
HSPLandroid/view/View;->setPressed(Z)V
HSPLandroid/view/View;->setRight(I)V
HSPLandroid/view/View;->setRotation(F)V
@@ -16569,6 +17237,7 @@
HSPLandroid/view/View;->setScaleX(F)V
HSPLandroid/view/View;->setScaleY(F)V
HSPLandroid/view/View;->setScrollContainer(Z)V
+HSPLandroid/view/View;->setScrollIndicators(II)V
HSPLandroid/view/View;->setScrollX(I)V
HSPLandroid/view/View;->setScrollY(I)V
HSPLandroid/view/View;->setSelected(Z)V
@@ -16577,6 +17246,7 @@
HSPLandroid/view/View;->setTag(ILjava/lang/Object;)V
HSPLandroid/view/View;->setTag(Ljava/lang/Object;)V
HSPLandroid/view/View;->setTagInternal(ILjava/lang/Object;)V
+HSPLandroid/view/View;->setTextAlignment(I)V
HSPLandroid/view/View;->setTextDirection(I)V
HSPLandroid/view/View;->setTooltipText(Ljava/lang/CharSequence;)V
HSPLandroid/view/View;->setTop(I)V
@@ -16585,6 +17255,7 @@
HSPLandroid/view/View;->setTranslationX(F)V
HSPLandroid/view/View;->setTranslationY(F)V
HSPLandroid/view/View;->setTranslationZ(F)V
+HSPLandroid/view/View;->setVerticalScrollBarEnabled(Z)V
HSPLandroid/view/View;->setVisibility(I)V
HSPLandroid/view/View;->setWillNotDraw(Z)V
HSPLandroid/view/View;->setX(F)V
@@ -16608,7 +17279,7 @@
HSPLandroid/view/ViewAnimationHostBridge;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V
HSPLandroid/view/ViewConfiguration;-><init>(Landroid/content/Context;)V
HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
-PLandroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J
+HPLandroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J
HSPLandroid/view/ViewConfiguration;->getDoubleTapMinTime()I
HSPLandroid/view/ViewConfiguration;->getDoubleTapTimeout()I
HSPLandroid/view/ViewConfiguration;->getKeyRepeatTimeout()I
@@ -16629,6 +17300,7 @@
HSPLandroid/view/ViewConfiguration;->getScaledScrollBarSize()I
HSPLandroid/view/ViewConfiguration;->getScaledTouchSlop()I
HSPLandroid/view/ViewConfiguration;->getScaledVerticalScrollFactor()F
+HSPLandroid/view/ViewConfiguration;->getScaledWindowTouchSlop()I
HSPLandroid/view/ViewConfiguration;->getTapTimeout()I
HSPLandroid/view/ViewConfiguration;->isFadingMarqueeEnabled()Z
HSPLandroid/view/ViewDebug;->getViewInstanceCount()J
@@ -16698,16 +17370,19 @@
HSPLandroid/view/ViewGroup;->dispatchDetachedFromWindow()V
HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V
HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V
+HSPLandroid/view/ViewGroup;->dispatchFinishTemporaryDetach()V
HSPLandroid/view/ViewGroup;->dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V
HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V
HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z
+HSPLandroid/view/ViewGroup;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
HSPLandroid/view/ViewGroup;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
HSPLandroid/view/ViewGroup;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
HSPLandroid/view/ViewGroup;->dispatchScreenStateChanged(I)V
HSPLandroid/view/ViewGroup;->dispatchSetPressed(Z)V
HSPLandroid/view/ViewGroup;->dispatchSetSelected(Z)V
+HSPLandroid/view/ViewGroup;->dispatchStartTemporaryDetach()V
HSPLandroid/view/ViewGroup;->dispatchThawSelfOnly(Landroid/util/SparseArray;)V
HSPLandroid/view/ViewGroup;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/view/ViewGroup;->dispatchTransformedTouchEvent(Landroid/view/MotionEvent;ZLandroid/view/View;I)Z
@@ -16748,6 +17423,7 @@
HSPLandroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
HSPLandroid/view/ViewGroup;->getLayoutMode()I
HSPLandroid/view/ViewGroup;->getLayoutTransition()Landroid/animation/LayoutTransition;
+HSPLandroid/view/ViewGroup;->getScrollIndicatorBounds(Landroid/graphics/Rect;)V
HSPLandroid/view/ViewGroup;->getTouchscreenBlocksFocus()Z
HSPLandroid/view/ViewGroup;->handleFocusGainInternal(ILandroid/graphics/Rect;)V
HSPLandroid/view/ViewGroup;->hasDefaultFocus()Z
@@ -16773,6 +17449,7 @@
HSPLandroid/view/ViewGroup;->measureChild(Landroid/view/View;II)V
HSPLandroid/view/ViewGroup;->measureChildWithMargins(Landroid/view/View;IIII)V
HSPLandroid/view/ViewGroup;->measureChildren(II)V
+HSPLandroid/view/ViewGroup;->notifySubtreeAccessibilityStateChanged(Landroid/view/View;Landroid/view/View;I)V
HSPLandroid/view/ViewGroup;->notifySubtreeAccessibilityStateChangedIfNeeded()V
HSPLandroid/view/ViewGroup;->offsetRectBetweenParentAndChild(Landroid/view/View;Landroid/graphics/Rect;ZZ)V
HSPLandroid/view/ViewGroup;->onAttachedToWindow()V
@@ -16782,11 +17459,14 @@
HSPLandroid/view/ViewGroup;->onDetachedFromWindow()V
HSPLandroid/view/ViewGroup;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/view/ViewGroup;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
+HSPLandroid/view/ViewGroup;->onRequestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroid/view/ViewGroup;->onRequestSendAccessibilityEventInternal(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
HSPLandroid/view/ViewGroup;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/view/ViewGroup;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
HSPLandroid/view/ViewGroup;->onViewAdded(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->onViewRemoved(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->populateChildrenForAutofill(Ljava/util/ArrayList;I)V
+HSPLandroid/view/ViewGroup;->recomputeViewAttributes(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->removeAllViews()V
HSPLandroid/view/ViewGroup;->removeAllViewsInLayout()V
HSPLandroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
@@ -16800,6 +17480,7 @@
HSPLandroid/view/ViewGroup;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
HSPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
HSPLandroid/view/ViewGroup;->requestFocus(ILandroid/graphics/Rect;)Z
+HSPLandroid/view/ViewGroup;->requestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
HSPLandroid/view/ViewGroup;->requestTransitionStart(Landroid/animation/LayoutTransition;)V
HSPLandroid/view/ViewGroup;->requestTransparentRegion(Landroid/view/View;)V
HSPLandroid/view/ViewGroup;->resetResolvedDrawables()V
@@ -16822,6 +17503,7 @@
HSPLandroid/view/ViewGroup;->setClipChildren(Z)V
HSPLandroid/view/ViewGroup;->setClipToPadding(Z)V
HSPLandroid/view/ViewGroup;->setDescendantFocusability(I)V
+HSPLandroid/view/ViewGroup;->setLayoutAnimation(Landroid/view/animation/LayoutAnimationController;)V
HSPLandroid/view/ViewGroup;->setLayoutTransition(Landroid/animation/LayoutTransition;)V
HSPLandroid/view/ViewGroup;->setMotionEventSplittingEnabled(Z)V
HSPLandroid/view/ViewGroup;->setOnHierarchyChangeListener(Landroid/view/ViewGroup$OnHierarchyChangeListener;)V
@@ -16861,6 +17543,7 @@
HSPLandroid/view/ViewPropertyAnimator;->withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;
HSPLandroid/view/ViewRootImpl$1;->onDisplayChanged(I)V
HSPLandroid/view/ViewRootImpl$4;->run()V
+HSPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->ensureConnection()V
HSPLandroid/view/ViewRootImpl$AsyncInputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V
HSPLandroid/view/ViewRootImpl$AsyncInputStage;->defer(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
HSPLandroid/view/ViewRootImpl$AsyncInputStage;->dequeue(Landroid/view/ViewRootImpl$QueuedInputEvent;Landroid/view/ViewRootImpl$QueuedInputEvent;)V
@@ -16886,6 +17569,9 @@
HSPLandroid/view/ViewRootImpl$NativePostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
HSPLandroid/view/ViewRootImpl$NativePreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
HSPLandroid/view/ViewRootImpl$QueuedInputEvent;->shouldSkipIme()Z
+HSPLandroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->removeCallbacksAndRun()V
+HSPLandroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->run()V
+HSPLandroid/view/ViewRootImpl$SendWindowContentChangedAccessibilityEvent;->runOrPost(Landroid/view/View;I)V
HSPLandroid/view/ViewRootImpl$SyntheticInputStage;-><init>(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/ViewRootImpl$SyntheticInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
HSPLandroid/view/ViewRootImpl$SyntheticInputStage;->onDetachedFromWindow()V
@@ -16907,6 +17593,7 @@
HSPLandroid/view/ViewRootImpl$ViewRootHandler;->sendMessageAtTime(Landroid/os/Message;J)Z
HSPLandroid/view/ViewRootImpl$W;->closeSystemDialogs(Ljava/lang/String;)V
HSPLandroid/view/ViewRootImpl$W;->dispatchAppVisibility(Z)V
+HSPLandroid/view/ViewRootImpl$W;->dispatchSystemUiVisibilityChanged(IIII)V
HSPLandroid/view/ViewRootImpl$W;->dispatchWindowShown()V
HSPLandroid/view/ViewRootImpl$W;->insetsChanged(Landroid/view/InsetsState;)V
HSPLandroid/view/ViewRootImpl$W;->moved(II)V
@@ -16956,6 +17643,7 @@
HSPLandroid/view/ViewRootImpl;->getAudioManager()Landroid/media/AudioManager;
HSPLandroid/view/ViewRootImpl;->getAutofillManager()Landroid/view/autofill/AutofillManager;
HSPLandroid/view/ViewRootImpl;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
+HSPLandroid/view/ViewRootImpl;->getCommonPredecessor(Landroid/view/View;Landroid/view/View;)Landroid/view/View;
HSPLandroid/view/ViewRootImpl;->getDisplayId()I
HSPLandroid/view/ViewRootImpl;->getHostVisibility()I
HSPLandroid/view/ViewRootImpl;->getParent()Landroid/view/ViewParent;
@@ -16967,7 +17655,9 @@
HSPLandroid/view/ViewRootImpl;->getWindowFlags()I
HSPLandroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets;
HSPLandroid/view/ViewRootImpl;->handleContentCaptureFlush()V
+HSPLandroid/view/ViewRootImpl;->handleDispatchSystemUiVisibilityChanged(Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;)V
HSPLandroid/view/ViewRootImpl;->handleDispatchWindowShown()V
+HSPLandroid/view/ViewRootImpl;->handleWindowContentChangedEvent(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/ViewRootImpl;->handleWindowFocusChanged()V
HSPLandroid/view/ViewRootImpl;->hasColorModeChanged(I)Z
HSPLandroid/view/ViewRootImpl;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V
@@ -16982,6 +17672,7 @@
HSPLandroid/view/ViewRootImpl;->maybeHandleWindowMove(Landroid/graphics/Rect;)V
HSPLandroid/view/ViewRootImpl;->maybeUpdateTooltip(Landroid/view/MotionEvent;)V
HSPLandroid/view/ViewRootImpl;->measureHierarchy(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/content/res/Resources;II)Z
+HSPLandroid/view/ViewRootImpl;->notifySubtreeAccessibilityStateChanged(Landroid/view/View;Landroid/view/View;I)V
HSPLandroid/view/ViewRootImpl;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V
HSPLandroid/view/ViewRootImpl;->onPostDraw(Landroid/graphics/RecordingCanvas;)V
HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V
@@ -17007,6 +17698,7 @@
HSPLandroid/view/ViewRootImpl;->requestDisallowInterceptTouchEvent(Z)V
HSPLandroid/view/ViewRootImpl;->requestFitSystemWindows()V
HSPLandroid/view/ViewRootImpl;->requestLayout()V
+HSPLandroid/view/ViewRootImpl;->requestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
HSPLandroid/view/ViewRootImpl;->requestTransparentRegion(Landroid/view/View;)V
HSPLandroid/view/ViewRootImpl;->scheduleTraversals()V
HSPLandroid/view/ViewRootImpl;->scrollToRectOrFocus(Landroid/graphics/Rect;Z)Z
@@ -17070,6 +17762,7 @@
HSPLandroid/view/Window;->getWindowStyle()Landroid/content/res/TypedArray;
HSPLandroid/view/Window;->hasFeature(I)Z
HSPLandroid/view/Window;->haveDimAmount()Z
+HSPLandroid/view/Window;->isOutOfBounds(Landroid/content/Context;Landroid/view/MotionEvent;)Z
HSPLandroid/view/Window;->makeActive()V
HSPLandroid/view/Window;->setCallback(Landroid/view/Window$Callback;)V
HSPLandroid/view/Window;->setCloseOnTouchOutside(Z)V
@@ -17096,13 +17789,18 @@
HSPLandroid/view/WindowInsets;->createCompatTypeMap(Landroid/graphics/Rect;)[Landroid/graphics/Insets;
HSPLandroid/view/WindowInsets;->displayCutoutCopyConstructorArgument(Landroid/view/WindowInsets;)Landroid/view/DisplayCutout;
HSPLandroid/view/WindowInsets;->equals(Ljava/lang/Object;)Z
+HSPLandroid/view/WindowInsets;->getDisplayCutout()Landroid/view/DisplayCutout;
HSPLandroid/view/WindowInsets;->getInsets([Landroid/graphics/Insets;I)Landroid/graphics/Insets;
+HSPLandroid/view/WindowInsets;->getStableInsetBottom()I
+HSPLandroid/view/WindowInsets;->getStableInsetLeft()I
+HSPLandroid/view/WindowInsets;->getStableInsetRight()I
HSPLandroid/view/WindowInsets;->getSystemWindowInsetBottom()I
HSPLandroid/view/WindowInsets;->getSystemWindowInsetLeft()I
HSPLandroid/view/WindowInsets;->getSystemWindowInsetRight()I
HSPLandroid/view/WindowInsets;->getSystemWindowInsetTop()I
HSPLandroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets;
HSPLandroid/view/WindowInsets;->insetInsets(Landroid/graphics/Insets;IIII)Landroid/graphics/Insets;
+HSPLandroid/view/WindowInsets;->isConsumed()Z
HSPLandroid/view/WindowInsets;->replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets;
HSPLandroid/view/WindowManager$LayoutParams$1;-><init>()V
HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/WindowManager$LayoutParams;
@@ -17123,7 +17821,7 @@
HSPLandroid/view/WindowManagerGlobal;->closeAllExceptView(Landroid/os/IBinder;Landroid/view/View;Ljava/lang/String;Ljava/lang/String;)V
HSPLandroid/view/WindowManagerGlobal;->doRemoveView(Landroid/view/ViewRootImpl;)V
HSPLandroid/view/WindowManagerGlobal;->doTrimForeground()V
-PLandroid/view/WindowManagerGlobal;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
+HPLandroid/view/WindowManagerGlobal;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
HSPLandroid/view/WindowManagerGlobal;->findViewLocked(Landroid/view/View;Z)I
HSPLandroid/view/WindowManagerGlobal;->getInstance()Landroid/view/WindowManagerGlobal;
HSPLandroid/view/WindowManagerGlobal;->getRootViews(Landroid/os/IBinder;)Ljava/util/ArrayList;
@@ -17145,11 +17843,17 @@
HSPLandroid/view/WindowManagerImpl;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/view/accessibility/-$$Lambda$AccessibilityManager$1$o7fCplskH9NlBwJvkl6NoZ0L_BA;->run()V
HSPLandroid/view/accessibility/AccessibilityEvent$1;-><init>()V
+HSPLandroid/view/accessibility/AccessibilityEvent;->clear()V
+HSPLandroid/view/accessibility/AccessibilityEvent;->setEventTime(J)V
+HSPLandroid/view/accessibility/AccessibilityEvent;->setPackageName(Ljava/lang/CharSequence;)V
+HSPLandroid/view/accessibility/AccessibilityEvent;->writeAccessibilityRecordToParcel(Landroid/view/accessibility/AccessibilityRecord;Landroid/os/Parcel;I)V
+HSPLandroid/view/accessibility/AccessibilityEvent;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/view/accessibility/AccessibilityManager$1;->lambda$notifyServicesStateChanged$0$AccessibilityManager$1(Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;)V
HSPLandroid/view/accessibility/AccessibilityManager$1;->notifyServicesStateChanged(J)V
HSPLandroid/view/accessibility/AccessibilityManager$1;->setState(I)V
HSPLandroid/view/accessibility/AccessibilityManager$MyCallback;->handleMessage(Landroid/os/Message;)Z
HSPLandroid/view/accessibility/AccessibilityManager;-><init>(Landroid/content/Context;Landroid/view/accessibility/IAccessibilityManager;I)V
+HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Ljava/lang/String;Landroid/view/accessibility/IAccessibilityInteractionConnection;)I
HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityServicesStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;Landroid/os/Handler;)V
HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z
HSPLandroid/view/accessibility/AccessibilityManager;->addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;Landroid/os/Handler;)V
@@ -17157,6 +17861,7 @@
HSPLandroid/view/accessibility/AccessibilityManager;->addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;)Z
HSPLandroid/view/accessibility/AccessibilityManager;->addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;Landroid/os/Handler;)V
HSPLandroid/view/accessibility/AccessibilityManager;->getEnabledAccessibilityServiceList(I)Ljava/util/List;
+HSPLandroid/view/accessibility/AccessibilityManager;->getInstalledAccessibilityServiceList()Ljava/util/List;
HSPLandroid/view/accessibility/AccessibilityManager;->getInstance(Landroid/content/Context;)Landroid/view/accessibility/AccessibilityManager;
HSPLandroid/view/accessibility/AccessibilityManager;->getRecommendedTimeoutMillis(II)I
HSPLandroid/view/accessibility/AccessibilityManager;->isAccessibilityVolumeStreamActive()Z
@@ -17165,10 +17870,13 @@
HSPLandroid/view/accessibility/AccessibilityManager;->isTouchExplorationEnabled()Z
HSPLandroid/view/accessibility/AccessibilityManager;->notifyAccessibilityButtonVisibilityChanged(Z)V
HSPLandroid/view/accessibility/AccessibilityManager;->notifyAccessibilityStateChanged()V
+HSPLandroid/view/accessibility/AccessibilityManager;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
HSPLandroid/view/accessibility/AccessibilityManager;->removeAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z
HSPLandroid/view/accessibility/AccessibilityManager;->removeHighTextContrastStateChangeListener(Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;)V
+HSPLandroid/view/accessibility/AccessibilityManager;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/view/accessibility/AccessibilityManager;->setStateLocked(I)V
HSPLandroid/view/accessibility/AccessibilityManager;->tryConnectToServiceLocked(Landroid/view/accessibility/IAccessibilityManager;)V
+HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->findView(I)Landroid/view/View;
HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->getInstance()Landroid/view/accessibility/AccessibilityNodeIdManager;
HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->registerViewWithId(Landroid/view/View;I)V
HSPLandroid/view/accessibility/AccessibilityNodeIdManager;->unregisterViewWithId(I)V
@@ -17179,15 +17887,25 @@
HSPLandroid/view/accessibility/AccessibilityNodeInfo;-><init>()V
HSPLandroid/view/accessibility/AccessibilityNodeInfo;->makeNodeId(II)J
HSPLandroid/view/accessibility/AccessibilityRecord;-><init>()V
+HSPLandroid/view/accessibility/AccessibilityRecord;->clear()V
+HSPLandroid/view/accessibility/AccessibilityRecord;->enforceNotSealed()V
+HSPLandroid/view/accessibility/AccessibilityRecord;->isSealed()Z
+HSPLandroid/view/accessibility/AccessibilityRecord;->setClassName(Ljava/lang/CharSequence;)V
+HSPLandroid/view/accessibility/AccessibilityRecord;->setSource(Landroid/view/View;I)V
HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;-><init>(IIIIILjava/lang/String;)V
HSPLandroid/view/accessibility/CaptioningManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/view/accessibility/CaptioningManager;->addCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
+HSPLandroid/view/accessibility/CaptioningManager;->getFontScale()F
HSPLandroid/view/accessibility/CaptioningManager;->getLocale()Ljava/util/Locale;
+HSPLandroid/view/accessibility/CaptioningManager;->getRawUserStyle()I
+HSPLandroid/view/accessibility/CaptioningManager;->getUserStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;
HSPLandroid/view/accessibility/CaptioningManager;->isEnabled()Z
HSPLandroid/view/accessibility/CaptioningManager;->removeCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->asBinder()Landroid/os/IBinder;
HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
+HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getInstalledAccessibilityServiceList(I)Ljava/util/List;
HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->getRecommendedTimeoutMillis()J
HSPLandroid/view/accessibility/IAccessibilityManager$Stub;-><init>()V
HSPLandroid/view/accessibility/IAccessibilityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -17195,7 +17913,9 @@
HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->notifyServicesStateChanged(J)V
HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->setState(I)V
HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/view/animation/AccelerateDecelerateInterpolator;-><init>()V
+HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->createNativeInterpolator()J
HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->getInterpolation(F)F
HSPLandroid/view/animation/AccelerateInterpolator;-><init>()V
HSPLandroid/view/animation/AccelerateInterpolator;-><init>(F)V
@@ -17221,7 +17941,7 @@
HSPLandroid/view/animation/Animation;->getBackgroundColor()I
HSPLandroid/view/animation/Animation;->getDuration()J
HSPLandroid/view/animation/Animation;->getFillAfter()Z
-PLandroid/view/animation/Animation;->getInterpolator()Landroid/view/animation/Interpolator;
+HPLandroid/view/animation/Animation;->getInterpolator()Landroid/view/animation/Interpolator;
HSPLandroid/view/animation/Animation;->getInvalidateRegion(IIIILandroid/graphics/RectF;Landroid/view/animation/Transformation;)V
HSPLandroid/view/animation/Animation;->getRepeatCount()I
HSPLandroid/view/animation/Animation;->getScaleFactor()F
@@ -17289,10 +18009,12 @@
HSPLandroid/view/animation/AnimationUtils$1;->initialValue()Ljava/lang/Object;
HSPLandroid/view/animation/AnimationUtils;->createAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/view/animation/AnimationSet;Landroid/util/AttributeSet;)Landroid/view/animation/Animation;
HSPLandroid/view/animation/AnimationUtils;->createInterpolatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;)Landroid/view/animation/Interpolator;
+HSPLandroid/view/animation/AnimationUtils;->createLayoutAnimationFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/view/animation/LayoutAnimationController;
HSPLandroid/view/animation/AnimationUtils;->currentAnimationTimeMillis()J
HSPLandroid/view/animation/AnimationUtils;->loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation;
HSPLandroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;
HSPLandroid/view/animation/AnimationUtils;->loadInterpolator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;I)Landroid/view/animation/Interpolator;
+HSPLandroid/view/animation/AnimationUtils;->loadLayoutAnimation(Landroid/content/Context;I)Landroid/view/animation/LayoutAnimationController;
HSPLandroid/view/animation/BaseInterpolator;->getChangingConfiguration()I
HSPLandroid/view/animation/BaseInterpolator;->setChangingConfiguration(I)V
HPLandroid/view/animation/ClipRectAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
@@ -17302,9 +18024,13 @@
HSPLandroid/view/animation/DecelerateInterpolator;-><init>(F)V
HSPLandroid/view/animation/DecelerateInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
HSPLandroid/view/animation/DecelerateInterpolator;->getInterpolation(F)F
+HSPLandroid/view/animation/LayoutAnimationController;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/view/animation/LayoutAnimationController;->setAnimation(Landroid/content/Context;I)V
+HSPLandroid/view/animation/LayoutAnimationController;->setAnimation(Landroid/view/animation/Animation;)V
HSPLandroid/view/animation/LinearInterpolator;-><init>()V
HSPLandroid/view/animation/LinearInterpolator;->createNativeInterpolator()J
HSPLandroid/view/animation/LinearInterpolator;->getInterpolation(F)F
+HSPLandroid/view/animation/OvershootInterpolator;-><init>()V
HSPLandroid/view/animation/PathInterpolator;-><init>(FFFF)V
HSPLandroid/view/animation/PathInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
HSPLandroid/view/animation/PathInterpolator;->createNativeInterpolator()J
@@ -17328,7 +18054,8 @@
HSPLandroid/view/animation/Transformation;->set(Landroid/view/animation/Transformation;)V
HSPLandroid/view/animation/Transformation;->setAlpha(F)V
HPLandroid/view/animation/Transformation;->setClipRect(IIII)V
-PLandroid/view/animation/Transformation;->setClipRect(Landroid/graphics/Rect;)V
+HPLandroid/view/animation/Transformation;->setClipRect(Landroid/graphics/Rect;)V
+HSPLandroid/view/animation/TranslateAnimation;-><init>(FFFF)V
HSPLandroid/view/animation/TranslateAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/view/animation/TranslateAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
HSPLandroid/view/animation/TranslateAnimation;->initialize(IIII)V
@@ -17342,18 +18069,20 @@
HSPLandroid/view/autofill/AutofillManager;-><init>(Landroid/content/Context;Landroid/view/autofill/IAutoFillManager;)V
HSPLandroid/view/autofill/AutofillManager;->ensureServiceClientAddedIfNeededLocked()V
HSPLandroid/view/autofill/AutofillManager;->getClient()Landroid/view/autofill/AutofillManager$AutofillClient;
+HSPLandroid/view/autofill/AutofillManager;->isEnabled()Z
HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V
HSPLandroid/view/autofill/AutofillManager;->notifyViewVisibilityChangedInternal(Landroid/view/View;IZZ)V
HSPLandroid/view/autofill/AutofillManager;->requestHideFillUi(Landroid/view/autofill/AutofillId;Z)V
HSPLandroid/view/autofill/AutofillValue$1;-><init>()V
HPLandroid/view/autofill/AutofillValue$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/autofill/AutofillValue;
-PLandroid/view/autofill/AutofillValue$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/autofill/AutofillValue$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HPLandroid/view/autofill/AutofillValue;-><init>(Landroid/os/Parcel;)V
HPLandroid/view/autofill/AutofillValue;->equals(Ljava/lang/Object;)Z
HPLandroid/view/autofill/AutofillValue;->getTextValue()Ljava/lang/CharSequence;
HPLandroid/view/autofill/AutofillValue;->isEmpty()Z
HSPLandroid/view/autofill/AutofillValue;->writeToParcel(Landroid/os/Parcel;I)V
-PLandroid/view/autofill/Helper;->toList(Ljava/util/Set;)Ljava/util/ArrayList;
+HPLandroid/view/autofill/Helper;->toList(Ljava/util/Set;)Ljava/util/ArrayList;
+HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;Landroid/content/ComponentName;ILcom/android/internal/os/IResultReceiver;)V
HSPLandroid/view/autofill/IAutoFillManager$Stub;-><init>()V
HSPLandroid/view/autofill/IAutoFillManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManager;
HPLandroid/view/autofill/IAutoFillManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -17361,7 +18090,8 @@
PLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
PLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->getAugmentedAutofillClient(Lcom/android/internal/os/IResultReceiver;)V
PLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setSessionFinished(ILjava/util/List;)V
-PLandroid/view/autofill/IAutoFillManagerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManagerClient;
+HSPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManagerClient;
HSPLandroid/view/contentcapture/ContentCaptureContext$1;-><init>()V
HSPLandroid/view/contentcapture/ContentCaptureContext;-><init>(Landroid/view/contentcapture/ContentCaptureContext;Landroid/content/ComponentName;III)V
PLandroid/view/contentcapture/ContentCaptureContext;->writeToParcel(Landroid/os/Parcel;I)V
@@ -17369,7 +18099,7 @@
HSPLandroid/view/contentcapture/ContentCaptureHelper;->getLoggingLevelAsString(I)Ljava/lang/String;
HSPLandroid/view/contentcapture/ContentCaptureHelper;->setLoggingLevel(I)V
HSPLandroid/view/contentcapture/IContentCaptureManager$Stub;-><init>()V
-PLandroid/view/contentcapture/IContentCaptureManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/contentcapture/IContentCaptureManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLandroid/view/inputmethod/BaseInputConnection;->beginBatchEdit()Z
HSPLandroid/view/inputmethod/BaseInputConnection;->endBatchEdit()Z
HSPLandroid/view/inputmethod/BaseInputConnection;->finishComposingText()Z
@@ -17397,6 +18127,7 @@
HSPLandroid/view/inputmethod/InputBinding$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputBinding;
HSPLandroid/view/inputmethod/InputBinding$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/view/inputmethod/InputBinding;-><init>(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputBinding;)V
+HSPLandroid/view/inputmethod/InputBinding;->getConnection()Landroid/view/inputmethod/InputConnection;
HSPLandroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlags(Landroid/view/inputmethod/InputConnection;)I
HSPLandroid/view/inputmethod/InputMethodInfo$1;-><init>()V
HSPLandroid/view/inputmethod/InputMethodInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputMethodInfo;
@@ -17425,6 +18156,7 @@
HSPLandroid/view/inputmethod/InputMethodManager$PendingEvent;->run()V
HSPLandroid/view/inputmethod/InputMethodManager;-><init>(Lcom/android/internal/view/IInputMethodManager;ILandroid/os/Looper;)V
HSPLandroid/view/inputmethod/InputMethodManager;->checkFocusNoStartInput(Z)Z
+HSPLandroid/view/inputmethod/InputMethodManager;->closeCurrentInput()V
HSPLandroid/view/inputmethod/InputMethodManager;->createRealInstance(ILandroid/os/Looper;)Landroid/view/inputmethod/InputMethodManager;
HSPLandroid/view/inputmethod/InputMethodManager;->dispatchInputEvent(Landroid/view/InputEvent;Ljava/lang/Object;Landroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;Landroid/os/Handler;)I
HSPLandroid/view/inputmethod/InputMethodManager;->finishedInputEvent(IZZ)V
@@ -17450,6 +18182,7 @@
HSPLandroid/view/inputmethod/InputMethodManager;->restartInput(Landroid/view/View;)V
HSPLandroid/view/inputmethod/InputMethodManager;->sendInputEventOnMainLooperLocked(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)I
HSPLandroid/view/inputmethod/InputMethodManager;->setInputChannelLocked(Landroid/view/InputChannel;)V
+HSPLandroid/view/inputmethod/InputMethodManager;->showSoftInput(Landroid/view/View;I)Z
HSPLandroid/view/inputmethod/InputMethodManager;->showSoftInput(Landroid/view/View;ILandroid/os/ResultReceiver;)Z
HSPLandroid/view/inputmethod/InputMethodManager;->startInputInner(ILandroid/os/IBinder;III)Z
HSPLandroid/view/inputmethod/InputMethodManager;->updateSelection(Landroid/view/View;IIII)V
@@ -17477,7 +18210,7 @@
HSPLandroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;-><init>()V
HSPLandroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;->apply(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;-><init>()V
-PLandroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;->apply(Ljava/lang/Object;)Ljava/lang/Object;
PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;-><init>()V
PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;->test(Ljava/lang/Object;)Z
PLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$YTQv8oPvlmJL4tITUFD4z4JWKRk;-><init>()V
@@ -17493,7 +18226,7 @@
HSPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
PLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos;->apply(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;-><init>()V
-PLandroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
HSPLandroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;-><init>()V
HSPLandroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;->apply(Ljava/lang/Object;)Ljava/lang/Object;
HPLandroid/view/textclassifier/ActionsSuggestionsHelper$PersonEncoder;->encode(Landroid/app/Person;)I
@@ -17547,8 +18280,8 @@
HSPLandroid/view/textclassifier/SystemTextClassifier$BlockingCallback;->onSuccess(Landroid/os/Bundle;)V
HSPLandroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->get()Ljava/lang/Object;
HSPLandroid/view/textclassifier/SystemTextClassifier;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;)V
-PLandroid/view/textclassifier/SystemTextClassifier;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassifierEvent;)V
-PLandroid/view/textclassifier/SystemTextClassifier;->suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;
+HPLandroid/view/textclassifier/SystemTextClassifier;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassifierEvent;)V
+HPLandroid/view/textclassifier/SystemTextClassifier;->suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;
HSPLandroid/view/textclassifier/TextClassification$1;-><init>()V
HSPLandroid/view/textclassifier/TextClassification$Builder;-><init>()V
HSPLandroid/view/textclassifier/TextClassification$Builder;->build()Landroid/view/textclassifier/TextClassification;
@@ -17564,6 +18297,7 @@
HSPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;-><init>(Landroid/view/textclassifier/TextClassificationManager;)V
HSPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;->onChange(Z)V
HSPLandroid/view/textclassifier/TextClassificationManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/view/textclassifier/TextClassificationManager;->finalize()V
HSPLandroid/view/textclassifier/TextClassificationManager;->getLocalTextClassifier()Landroid/view/textclassifier/TextClassifier;
HSPLandroid/view/textclassifier/TextClassificationManager;->getSettings()Landroid/view/textclassifier/TextClassificationConstants;
HSPLandroid/view/textclassifier/TextClassificationManager;->getSettings(Landroid/content/Context;)Landroid/view/textclassifier/TextClassificationConstants;
@@ -17594,14 +18328,14 @@
HPLandroid/view/textclassifier/TextClassifierImpl;->createConversationActionResult(Landroid/view/textclassifier/ConversationActions$Request;[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;)Landroid/view/textclassifier/ConversationActions;
HSPLandroid/view/textclassifier/TextClassifierImpl;->detectLanguage(Landroid/view/textclassifier/TextLanguage$Request;)Landroid/view/textclassifier/TextLanguage;
HSPLandroid/view/textclassifier/TextClassifierImpl;->detectLanguageTagsFromText(Ljava/lang/CharSequence;)Ljava/lang/String;
-PLandroid/view/textclassifier/TextClassifierImpl;->getActionsImpl()Lcom/google/android/textclassifier/ActionsSuggestionsModel;
+HPLandroid/view/textclassifier/TextClassifierImpl;->getActionsImpl()Lcom/google/android/textclassifier/ActionsSuggestionsModel;
HSPLandroid/view/textclassifier/TextClassifierImpl;->getAnnotatorImpl(Landroid/os/LocaleList;)Lcom/google/android/textclassifier/AnnotatorModel;
HSPLandroid/view/textclassifier/TextClassifierImpl;->getLangIdImpl()Lcom/google/android/textclassifier/LangIdModel;
HSPLandroid/view/textclassifier/TextClassifierImpl;->getLangIdThreshold()F
HSPLandroid/view/textclassifier/TextClassifierImpl;->getResourceLocalesString()Ljava/lang/String;
HSPLandroid/view/textclassifier/TextClassifierImpl;->maybeCloseAndLogError(Landroid/os/ParcelFileDescriptor;)V
-PLandroid/view/textclassifier/TextClassifierImpl;->resolveActionTypesFromRequest(Landroid/view/textclassifier/ConversationActions$Request;)Ljava/util/Collection;
-PLandroid/view/textclassifier/TextClassifierImpl;->suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;
+HPLandroid/view/textclassifier/TextClassifierImpl;->resolveActionTypesFromRequest(Landroid/view/textclassifier/ConversationActions$Request;)Ljava/util/Collection;
+HPLandroid/view/textclassifier/TextClassifierImpl;->suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;
HSPLandroid/view/textclassifier/TextLanguage$1;-><init>()V
HSPLandroid/view/textclassifier/TextLanguage$Builder;-><init>()V
HSPLandroid/view/textclassifier/TextLanguage$Builder;->build()Landroid/view/textclassifier/TextLanguage;
@@ -17611,14 +18345,14 @@
PLandroid/view/textclassifier/intent/-$$Lambda$LabeledIntent$LaL7EfxShgNu4lrdo3mv85g49Jg;-><init>()V
PLandroid/view/textclassifier/intent/LabeledIntent;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;I)V
PLandroid/view/textclassifier/intent/LabeledIntent;->resolve(Landroid/content/Context;Landroid/view/textclassifier/intent/LabeledIntent$TitleChooser;Landroid/os/Bundle;)Landroid/view/textclassifier/intent/LabeledIntent$Result;
-PLandroid/view/textclassifier/intent/TemplateIntentFactory;->create([Lcom/google/android/textclassifier/RemoteActionTemplate;)Ljava/util/List;
-PLandroid/view/textclassifier/intent/TemplateIntentFactory;->createIntent(Lcom/google/android/textclassifier/RemoteActionTemplate;)Landroid/content/Intent;
-PLandroid/view/textclassifier/intent/TemplateIntentFactory;->isValidTemplate(Lcom/google/android/textclassifier/RemoteActionTemplate;)Z
-PLandroid/view/textclassifier/intent/TemplateIntentFactory;->nameVariantsToBundle([Lcom/google/android/textclassifier/NamedVariant;)Landroid/os/Bundle;
+HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->create([Lcom/google/android/textclassifier/RemoteActionTemplate;)Ljava/util/List;
+HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->createIntent(Lcom/google/android/textclassifier/RemoteActionTemplate;)Landroid/content/Intent;
+HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->isValidTemplate(Lcom/google/android/textclassifier/RemoteActionTemplate;)Z
+HPLandroid/view/textclassifier/intent/TemplateIntentFactory;->nameVariantsToBundle([Lcom/google/android/textclassifier/NamedVariant;)Landroid/os/Bundle;
HSPLandroid/view/textservice/SpellCheckerInfo$1;-><init>()V
HSPLandroid/view/textservice/SpellCheckerInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
-PLandroid/view/textservice/SpellCheckerInfo;->getComponent()Landroid/content/ComponentName;
-PLandroid/view/textservice/SpellCheckerInfo;->getPackageName()Ljava/lang/String;
+HPLandroid/view/textservice/SpellCheckerInfo;->getComponent()Landroid/content/ComponentName;
+HPLandroid/view/textservice/SpellCheckerInfo;->getPackageName()Ljava/lang/String;
HSPLandroid/view/textservice/SpellCheckerInfo;->getSubtypeAt(I)Landroid/view/textservice/SpellCheckerSubtype;
HSPLandroid/view/textservice/SpellCheckerInfo;->getSubtypeCount()I
HSPLandroid/view/textservice/SpellCheckerSubtype$1;-><init>()V
@@ -17695,28 +18429,47 @@
HSPLandroid/widget/AbsListView$RecycleBin;->setViewTypeCount(I)V
HSPLandroid/widget/AbsListView$RecycleBin;->shouldRecycleViewType(I)Z
HSPLandroid/widget/AbsListView$SavedState$1;-><init>()V
+HSPLandroid/widget/AbsListView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/widget/AbsListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/AbsListView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
HSPLandroid/widget/AbsListView;->clearChoices()V
+HSPLandroid/widget/AbsListView;->computeVerticalScrollExtent()I
+HSPLandroid/widget/AbsListView;->computeVerticalScrollOffset()I
+HSPLandroid/widget/AbsListView;->computeVerticalScrollRange()I
HSPLandroid/widget/AbsListView;->dispatchDraw(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/AbsListView;->dispatchSetPressed(Z)V
HSPLandroid/widget/AbsListView;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/widget/AbsListView;->drawableStateChanged()V
+HSPLandroid/widget/AbsListView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HSPLandroid/widget/AbsListView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/AbsListView$LayoutParams;
+HSPLandroid/widget/AbsListView;->getVerticalScrollbarWidth()I
HSPLandroid/widget/AbsListView;->handleBoundsChange()V
HSPLandroid/widget/AbsListView;->handleDataChanged()V
+HSPLandroid/widget/AbsListView;->handleScrollBarDragging(Landroid/view/MotionEvent;)Z
HSPLandroid/widget/AbsListView;->hideSelector()V
HSPLandroid/widget/AbsListView;->initAbsListView()V
HSPLandroid/widget/AbsListView;->internalSetPadding(IIII)V
HSPLandroid/widget/AbsListView;->invokeOnItemScrollListener()V
+HSPLandroid/widget/AbsListView;->isFastScrollEnabled()Z
HSPLandroid/widget/AbsListView;->isInFilterMode()Z
+HSPLandroid/widget/AbsListView;->isVerticalScrollBarHidden()Z
HSPLandroid/widget/AbsListView;->jumpDrawablesToCurrentState()V
HSPLandroid/widget/AbsListView;->obtainView(I[Z)Landroid/view/View;
HSPLandroid/widget/AbsListView;->onAttachedToWindow()V
HSPLandroid/widget/AbsListView;->onDetachedFromWindow()V
+HSPLandroid/widget/AbsListView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/widget/AbsListView;->onLayout(ZIIII)V
HSPLandroid/widget/AbsListView;->onMeasure(II)V
HSPLandroid/widget/AbsListView;->onRtlPropertiesChanged(I)V
+HSPLandroid/widget/AbsListView;->onSaveInstanceState()Landroid/os/Parcelable;
+HSPLandroid/widget/AbsListView;->onTouchDown(Landroid/view/MotionEvent;)V
+HSPLandroid/widget/AbsListView;->onTouchEvent(Landroid/view/MotionEvent;)Z
HSPLandroid/widget/AbsListView;->onTouchModeChanged(Z)V
+HSPLandroid/widget/AbsListView;->onTouchUp(Landroid/view/MotionEvent;)V
HSPLandroid/widget/AbsListView;->onWindowFocusChanged(Z)V
+HSPLandroid/widget/AbsListView;->pointToPosition(II)I
+HSPLandroid/widget/AbsListView;->positionSelector(ILandroid/view/View;)V
+HSPLandroid/widget/AbsListView;->positionSelector(ILandroid/view/View;ZFF)V
HSPLandroid/widget/AbsListView;->requestLayout()V
HSPLandroid/widget/AbsListView;->resetList()V
HSPLandroid/widget/AbsListView;->setAdapter(Landroid/widget/ListAdapter;)V
@@ -17741,11 +18494,17 @@
HSPLandroid/widget/AbsSeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/AbsSeekBar;->applyThumbTint()V
HSPLandroid/widget/AbsSeekBar;->applyTickMarkTint()V
+HSPLandroid/widget/AbsSeekBar;->drawThumb(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/AbsSeekBar;->drawTickMarks(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/AbsSeekBar;->drawTrack(Landroid/graphics/Canvas;)V
HSPLandroid/widget/AbsSeekBar;->drawableStateChanged()V
HSPLandroid/widget/AbsSeekBar;->getThumbOffset()I
HSPLandroid/widget/AbsSeekBar;->jumpDrawablesToCurrentState()V
+HSPLandroid/widget/AbsSeekBar;->onDraw(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/AbsSeekBar;->onMeasure(II)V
HSPLandroid/widget/AbsSeekBar;->onResolveDrawables(I)V
HSPLandroid/widget/AbsSeekBar;->onRtlPropertiesChanged(I)V
+HSPLandroid/widget/AbsSeekBar;->onSizeChanged(IIII)V
HSPLandroid/widget/AbsSeekBar;->onVisualProgressChanged(IF)V
HSPLandroid/widget/AbsSeekBar;->setKeyProgressIncrement(I)V
HSPLandroid/widget/AbsSeekBar;->setMax(I)V
@@ -17754,11 +18513,16 @@
HSPLandroid/widget/AbsSeekBar;->setThumbOffset(I)V
HSPLandroid/widget/AbsSeekBar;->setThumbPos(ILandroid/graphics/drawable/Drawable;FI)V
HSPLandroid/widget/AbsSeekBar;->setTickMark(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/widget/AbsSeekBar;->updateThumbAndTrackPos(II)V
HSPLandroid/widget/AbsSeekBar;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
+HSPLandroid/widget/ActionMenuPresenter$2;->onViewDetachedFromWindow(Landroid/view/View;)V
HSPLandroid/widget/ActionMenuPresenter;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/ActionMenuPresenter;->bindItemView(Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
+HSPLandroid/widget/ActionMenuPresenter;->dismissPopupMenus()Z
HSPLandroid/widget/ActionMenuPresenter;->flagActionItems()Z
HSPLandroid/widget/ActionMenuPresenter;->getItemView(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HSPLandroid/widget/ActionMenuPresenter;->hideOverflowMenu()Z
+HSPLandroid/widget/ActionMenuPresenter;->hideSubMenus()Z
HSPLandroid/widget/ActionMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
HSPLandroid/widget/ActionMenuPresenter;->isOverflowMenuShowing()Z
HSPLandroid/widget/ActionMenuPresenter;->setExpandedActionViewsExclusive(Z)V
@@ -17768,12 +18532,16 @@
HSPLandroid/widget/ActionMenuPresenter;->updateMenuView(Z)V
HSPLandroid/widget/ActionMenuView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/ActionMenuView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
+HSPLandroid/widget/ActionMenuView;->dismissPopupMenus()V
+HSPLandroid/widget/ActionMenuView;->generateDefaultLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
HSPLandroid/widget/ActionMenuView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
HSPLandroid/widget/ActionMenuView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/ActionMenuView$LayoutParams;
+HSPLandroid/widget/ActionMenuView;->generateOverflowButtonLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
HSPLandroid/widget/ActionMenuView;->getMenu()Landroid/view/Menu;
HSPLandroid/widget/ActionMenuView;->hasDividerBeforeChildAt(I)Z
HSPLandroid/widget/ActionMenuView;->initialize(Lcom/android/internal/view/menu/MenuBuilder;)V
HSPLandroid/widget/ActionMenuView;->isOverflowMenuShowing()Z
+HSPLandroid/widget/ActionMenuView;->onDetachedFromWindow()V
HSPLandroid/widget/ActionMenuView;->onLayout(ZIIII)V
HSPLandroid/widget/ActionMenuView;->onMeasure(II)V
HSPLandroid/widget/ActionMenuView;->peekMenu()Lcom/android/internal/view/menu/MenuBuilder;
@@ -17801,11 +18569,14 @@
HSPLandroid/widget/BaseAdapter;->getItemViewType(I)I
HSPLandroid/widget/BaseAdapter;->getViewTypeCount()I
HSPLandroid/widget/BaseAdapter;->hasStableIds()Z
+HSPLandroid/widget/BaseAdapter;->isEnabled(I)Z
HSPLandroid/widget/BaseAdapter;->notifyDataSetChanged()V
HSPLandroid/widget/BaseAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
HSPLandroid/widget/BaseAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
HSPLandroid/widget/Button;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/Button;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroid/widget/Button;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HSPLandroid/widget/CheckBox;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/Chronometer;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/Chronometer;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/Chronometer;->onDetachedFromWindow()V
@@ -17827,6 +18598,7 @@
HSPLandroid/widget/CompoundButton;->onCreateDrawableState(I)[I
HSPLandroid/widget/CompoundButton;->onDraw(Landroid/graphics/Canvas;)V
HSPLandroid/widget/CompoundButton;->onResolveDrawables(I)V
+HSPLandroid/widget/CompoundButton;->setButtonDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/CompoundButton;->setChecked(Z)V
HSPLandroid/widget/CompoundButton;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V
HSPLandroid/widget/CompoundButton;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
@@ -17860,15 +18632,18 @@
HSPLandroid/widget/Editor$EditOperation;->commit()V
HSPLandroid/widget/Editor$EditOperation;->mergeInsertWith(Landroid/widget/Editor$EditOperation;)Z
HSPLandroid/widget/Editor$InsertionPointCursorController;->hide()V
+HSPLandroid/widget/Editor$InsertionPointCursorController;->invalidateHandle()V
HSPLandroid/widget/Editor$InsertionPointCursorController;->isActive()Z
HSPLandroid/widget/Editor$InsertionPointCursorController;->isCursorBeingModified()Z
HSPLandroid/widget/Editor$InsertionPointCursorController;->onDetached()V
HSPLandroid/widget/Editor$MagnifierMotionAnimator;-><init>(Landroid/widget/Magnifier;)V
HSPLandroid/widget/Editor$PositionListener;->addSubscriber(Landroid/widget/Editor$TextViewPositionListener;Z)V
HSPLandroid/widget/Editor$PositionListener;->onPreDraw()Z
+HSPLandroid/widget/Editor$PositionListener;->onScrollChanged()V
HSPLandroid/widget/Editor$PositionListener;->removeSubscriber(Landroid/widget/Editor$TextViewPositionListener;)V
HSPLandroid/widget/Editor$PositionListener;->updatePosition()V
HSPLandroid/widget/Editor$ProcessTextIntentActionsHandler;-><init>(Landroid/widget/Editor;)V
+HSPLandroid/widget/Editor$SelectionModifierCursorController;->invalidateHandles()V
HSPLandroid/widget/Editor$SelectionModifierCursorController;->isCursorBeingModified()Z
HSPLandroid/widget/Editor$SelectionModifierCursorController;->isDragAcceleratorActive()Z
HSPLandroid/widget/Editor$SelectionModifierCursorController;->isSelectionStartDragged()Z
@@ -17912,13 +18687,16 @@
HSPLandroid/widget/Editor;->hideInsertionPointCursorController()V
HSPLandroid/widget/Editor;->invalidateHandlesAndActionMode()V
HSPLandroid/widget/Editor;->invalidateTextDisplayList()V
+HSPLandroid/widget/Editor;->invalidateTextDisplayList(Landroid/text/Layout;II)V
HSPLandroid/widget/Editor;->loadCursorDrawable()V
HSPLandroid/widget/Editor;->makeBlink()V
HSPLandroid/widget/Editor;->onAttachedToWindow()V
HSPLandroid/widget/Editor;->onDetachedFromWindow()V
HSPLandroid/widget/Editor;->onDraw(Landroid/graphics/Canvas;Landroid/text/Layout;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
HSPLandroid/widget/Editor;->onFocusChanged(ZI)V
+HSPLandroid/widget/Editor;->onLocaleChanged()V
HSPLandroid/widget/Editor;->onScreenStateChanged(I)V
+HSPLandroid/widget/Editor;->onScrollChanged()V
HSPLandroid/widget/Editor;->onWindowFocusChanged(Z)V
HSPLandroid/widget/Editor;->prepareCursorControllers()V
HSPLandroid/widget/Editor;->refreshTextActionMode()V
@@ -17935,9 +18713,11 @@
HSPLandroid/widget/Editor;->updateSpellCheckSpans(IIZ)V
HSPLandroid/widget/ForwardingListener;-><init>(Landroid/view/View;)V
HSPLandroid/widget/ForwardingListener;->onViewAttachedToWindow(Landroid/view/View;)V
+HSPLandroid/widget/ForwardingListener;->onViewDetachedFromWindow(Landroid/view/View;)V
HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(II)V
HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(III)V
HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
@@ -17960,6 +18740,8 @@
HSPLandroid/widget/GridLayout$1;-><init>()V
HSPLandroid/widget/GridLayout$2;-><init>()V
HSPLandroid/widget/GridLayout$3;-><init>()V
+HSPLandroid/widget/GridLayout$3;->getAlignmentValue(Landroid/view/View;II)I
+HSPLandroid/widget/GridLayout$3;->getGravityOffset(Landroid/view/View;I)I
HSPLandroid/widget/GridLayout$4;-><init>()V
HSPLandroid/widget/GridLayout$6;-><init>()V
HSPLandroid/widget/GridLayout$7$1;->getOffset(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Alignment;IZ)I
@@ -18076,6 +18858,7 @@
HSPLandroid/widget/ImageView;->drawableStateChanged()V
HSPLandroid/widget/ImageView;->getBaseline()I
HSPLandroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
+HSPLandroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
HSPLandroid/widget/ImageView;->getScaleType()Landroid/widget/ImageView$ScaleType;
HSPLandroid/widget/ImageView;->hasOverlappingRendering()Z
HSPLandroid/widget/ImageView;->initImageView()V
@@ -18098,10 +18881,12 @@
HSPLandroid/widget/ImageView;->setColorFilter(I)V
HSPLandroid/widget/ImageView;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V
HSPLandroid/widget/ImageView;->setColorFilter(Landroid/graphics/ColorFilter;)V
+HSPLandroid/widget/ImageView;->setCropToPadding(Z)V
HSPLandroid/widget/ImageView;->setFrame(IIII)Z
HSPLandroid/widget/ImageView;->setImageAlpha(I)V
HSPLandroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
HSPLandroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/widget/ImageView;->setImageIcon(Landroid/graphics/drawable/Icon;)V
HSPLandroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V
HSPLandroid/widget/ImageView;->setImageResource(I)V
HSPLandroid/widget/ImageView;->setImageTintList(Landroid/content/res/ColorStateList;)V
@@ -18132,6 +18917,8 @@
HSPLandroid/widget/LinearLayout;->getAccessibilityClassName()Ljava/lang/CharSequence;
HSPLandroid/widget/LinearLayout;->getBaseline()I
HSPLandroid/widget/LinearLayout;->getChildrenSkipCount(Landroid/view/View;I)I
+HSPLandroid/widget/LinearLayout;->getDividerDrawable()Landroid/graphics/drawable/Drawable;
+HSPLandroid/widget/LinearLayout;->getGravity()I
HSPLandroid/widget/LinearLayout;->getLocationOffset(Landroid/view/View;)I
HSPLandroid/widget/LinearLayout;->getNextLocationOffset(Landroid/view/View;)I
HSPLandroid/widget/LinearLayout;->getOrientation()I
@@ -18164,6 +18951,7 @@
HSPLandroid/widget/ListView;->fillFromTop(I)Landroid/view/View;
HSPLandroid/widget/ListView;->fillSpecific(II)Landroid/view/View;
HSPLandroid/widget/ListView;->fillUp(II)Landroid/view/View;
+HSPLandroid/widget/ListView;->findMotionRow(I)I
HSPLandroid/widget/ListView;->findViewInHeadersOrFooters(Ljava/util/ArrayList;I)Landroid/view/View;
HSPLandroid/widget/ListView;->findViewTraversal(I)Landroid/view/View;
HSPLandroid/widget/ListView;->getAdapter()Landroid/widget/Adapter;
@@ -18180,6 +18968,7 @@
HSPLandroid/widget/ListView;->resetList()V
HSPLandroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V
HSPLandroid/widget/ListView;->setCacheColorHint(I)V
+HSPLandroid/widget/ListView;->setDivider(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V
HSPLandroid/widget/Magnifier$Builder;->applyDefaults()V
HSPLandroid/widget/Magnifier;-><init>(Landroid/widget/Magnifier$Builder;)V
@@ -18207,20 +18996,31 @@
HSPLandroid/widget/OverScroller;->isFinished()Z
HSPLandroid/widget/OverScroller;->springBack(IIIIII)Z
HSPLandroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;III)V
+HSPLandroid/widget/PopupMenu;->getMenu()Landroid/view/Menu;
HSPLandroid/widget/PopupMenu;->getMenuInflater()Landroid/view/MenuInflater;
+HSPLandroid/widget/PopupMenu;->inflate(I)V
+HSPLandroid/widget/PopupMenu;->setOnMenuItemClickListener(Landroid/widget/PopupMenu$OnMenuItemClickListener;)V
HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/widget/PopupWindow;->dismiss()V
HSPLandroid/widget/PopupWindow;->getTransition(I)Landroid/transition/Transition;
HSPLandroid/widget/PopupWindow;->isShowing()Z
+HSPLandroid/widget/PopupWindow;->setAttachedInDecor(Z)V
HSPLandroid/widget/PopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/widget/PopupWindow;->setContentView(Landroid/view/View;)V
HSPLandroid/widget/PopupWindow;->setEnterTransition(Landroid/transition/Transition;)V
HSPLandroid/widget/PopupWindow;->setExitTransition(Landroid/transition/Transition;)V
+HSPLandroid/widget/PopupWindow;->setFocusable(Z)V
+HSPLandroid/widget/PopupWindow;->setInputMethodMode(I)V
HSPLandroid/widget/ProgressBar$SavedState$1;-><init>()V
+HSPLandroid/widget/ProgressBar$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/ProgressBar;->applyIndeterminateTint()V
+HSPLandroid/widget/ProgressBar;->applyPrimaryProgressTint()V
HSPLandroid/widget/ProgressBar;->doRefreshProgress(IIZZZ)V
HSPLandroid/widget/ProgressBar;->drawTrack(Landroid/graphics/Canvas;)V
HSPLandroid/widget/ProgressBar;->drawableStateChanged()V
+HSPLandroid/widget/ProgressBar;->getCurrentDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/widget/ProgressBar;->getIndeterminateDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/widget/ProgressBar;->getMax()I
HSPLandroid/widget/ProgressBar;->getMin()I
@@ -18267,9 +19067,15 @@
HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(II)V
HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$100(Landroid/widget/RelativeLayout$LayoutParams;)I
+HSPLandroid/widget/RelativeLayout$LayoutParams;->access$112(Landroid/widget/RelativeLayout$LayoutParams;I)I
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$200(Landroid/widget/RelativeLayout$LayoutParams;)I
+HSPLandroid/widget/RelativeLayout$LayoutParams;->access$212(Landroid/widget/RelativeLayout$LayoutParams;I)I
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$300(Landroid/widget/RelativeLayout$LayoutParams;)I
+HSPLandroid/widget/RelativeLayout$LayoutParams;->access$302(Landroid/widget/RelativeLayout$LayoutParams;I)I
+HSPLandroid/widget/RelativeLayout$LayoutParams;->access$312(Landroid/widget/RelativeLayout$LayoutParams;I)I
HSPLandroid/widget/RelativeLayout$LayoutParams;->access$400(Landroid/widget/RelativeLayout$LayoutParams;)I
+HSPLandroid/widget/RelativeLayout$LayoutParams;->access$402(Landroid/widget/RelativeLayout$LayoutParams;I)I
+HSPLandroid/widget/RelativeLayout$LayoutParams;->access$412(Landroid/widget/RelativeLayout$LayoutParams;I)I
HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(I)V
HSPLandroid/widget/RelativeLayout$LayoutParams;->addRule(II)V
HSPLandroid/widget/RelativeLayout$LayoutParams;->getRules()[I
@@ -18303,6 +19109,7 @@
HSPLandroid/widget/RelativeLayout;->positionChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z
HSPLandroid/widget/RelativeLayout;->positionChildVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;IZ)Z
HSPLandroid/widget/RelativeLayout;->requestLayout()V
+HSPLandroid/widget/RelativeLayout;->setGravity(I)V
HSPLandroid/widget/RelativeLayout;->shouldDelayChildPressedState()Z
HSPLandroid/widget/RelativeLayout;->sortChildren()V
HSPLandroid/widget/RemoteViews$1;-><init>()V
@@ -18311,7 +19118,7 @@
HSPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLandroid/widget/RemoteViews$Action;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
HSPLandroid/widget/RemoteViews$Action;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-PLandroid/widget/RemoteViews$Action;->visitUris(Ljava/util/function/Consumer;)V
+HPLandroid/widget/RemoteViews$Action;->visitUris(Ljava/util/function/Consumer;)V
HSPLandroid/widget/RemoteViews$BitmapCache;->getBitmapForId(I)Landroid/graphics/Bitmap;
HSPLandroid/widget/RemoteViews$BitmapCache;->getBitmapId(Landroid/graphics/Bitmap;)I
HPLandroid/widget/RemoteViews$BitmapCache;->getBitmapMemory()I
@@ -18328,7 +19135,7 @@
HSPLandroid/widget/RemoteViews$ReflectionAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
HSPLandroid/widget/RemoteViews$ReflectionAction;->getActionTag()I
HSPLandroid/widget/RemoteViews$ReflectionAction;->getParameterType()Ljava/lang/Class;
-PLandroid/widget/RemoteViews$ReflectionAction;->visitUris(Ljava/util/function/Consumer;)V
+HPLandroid/widget/RemoteViews$ReflectionAction;->visitUris(Ljava/util/function/Consumer;)V
HSPLandroid/widget/RemoteViews$ReflectionAction;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/widget/RemoteViews$RemoteResponse;->readFromParcel(Landroid/os/Parcel;)V
HSPLandroid/widget/RemoteViews$RemoteResponse;->writeToParcel(Landroid/os/Parcel;I)V
@@ -18339,6 +19146,8 @@
HSPLandroid/widget/RemoteViews$TextViewSizeAction;->getActionTag()I
HSPLandroid/widget/RemoteViews$TextViewSizeAction;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/widget/RemoteViews$ViewGroupActionAdd;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
+HSPLandroid/widget/RemoteViews$ViewPaddingAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
+HSPLandroid/widget/RemoteViews$ViewPaddingAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
HSPLandroid/widget/RemoteViews;-><init>(Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
HSPLandroid/widget/RemoteViews;-><init>(Landroid/widget/RemoteViews;)V
HSPLandroid/widget/RemoteViews;-><init>(Ljava/lang/String;I)V
@@ -18352,6 +19161,7 @@
HSPLandroid/widget/RemoteViews;->getMethod(Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
HSPLandroid/widget/RemoteViews;->getPackage()Ljava/lang/String;
HSPLandroid/widget/RemoteViews;->hasFlags(I)Z
+HSPLandroid/widget/RemoteViews;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
HSPLandroid/widget/RemoteViews;->inflateView(Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;I)Landroid/view/View;
HSPLandroid/widget/RemoteViews;->onLoadClass(Ljava/lang/Class;)Z
HSPLandroid/widget/RemoteViews;->performApply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
@@ -18366,7 +19176,7 @@
HSPLandroid/widget/RemoteViews;->setOnClickResponse(ILandroid/widget/RemoteViews$RemoteResponse;)V
HSPLandroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
HSPLandroid/widget/RemoteViews;->setViewVisibility(II)V
-PLandroid/widget/RemoteViews;->visitUris(Ljava/util/function/Consumer;)V
+HPLandroid/widget/RemoteViews;->visitUris(Ljava/util/function/Consumer;)V
HSPLandroid/widget/RemoteViews;->writeActionsToParcel(Landroid/os/Parcel;)V
HSPLandroid/widget/RemoteViews;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/widget/RtlSpacingHelper;->getEnd()I
@@ -18384,12 +19194,14 @@
HSPLandroid/widget/ScrollBarDrawable;->onStateChange([I)Z
HSPLandroid/widget/ScrollBarDrawable;->propagateCurrentState(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/ScrollBarDrawable;->setAlpha(I)V
+HSPLandroid/widget/ScrollBarDrawable;->setAlwaysDrawVerticalTrack(Z)V
HSPLandroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/ScrollBarDrawable;->setHorizontalTrackDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/ScrollBarDrawable;->setParameters(IIIZ)V
HSPLandroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/ScrollBarDrawable;->setVerticalTrackDrawable(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/ScrollView$SavedState$1;-><init>()V
+HSPLandroid/widget/ScrollView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
HSPLandroid/widget/ScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/ScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
HSPLandroid/widget/ScrollView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
@@ -18398,6 +19210,7 @@
HSPLandroid/widget/ScrollView;->computeVerticalScrollOffset()I
HSPLandroid/widget/ScrollView;->computeVerticalScrollRange()I
HSPLandroid/widget/ScrollView;->draw(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/ScrollView;->getAccessibilityClassName()Ljava/lang/CharSequence;
HSPLandroid/widget/ScrollView;->initScrollView()V
HSPLandroid/widget/ScrollView;->measureChildWithMargins(Landroid/view/View;IIII)V
HSPLandroid/widget/ScrollView;->onDetachedFromWindow()V
@@ -18409,9 +19222,11 @@
HSPLandroid/widget/ScrollView;->requestLayout()V
HSPLandroid/widget/ScrollView;->scrollTo(II)V
HSPLandroid/widget/ScrollView;->setFillViewport(Z)V
+HSPLandroid/widget/ScrollView;->shouldDelayChildPressedState()Z
HSPLandroid/widget/Scroller$ViscousFluidInterpolator;->viscousFluid(F)F
HSPLandroid/widget/Scroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V
HSPLandroid/widget/Scroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
+HSPLandroid/widget/Scroller;->computeScrollOffset()Z
HSPLandroid/widget/Scroller;->isFinished()Z
HSPLandroid/widget/SeekBar;->onProgressRefresh(FZI)V
HSPLandroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
@@ -18422,6 +19237,10 @@
HSPLandroid/widget/Space;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/Space;->draw(Landroid/graphics/Canvas;)V
HSPLandroid/widget/Space;->onMeasure(II)V
+HSPLandroid/widget/SpellChecker;-><init>(Landroid/widget/TextView;)V
+HSPLandroid/widget/SpellChecker;->closeSession()V
+HSPLandroid/widget/SpellChecker;->resetSession()V
+HSPLandroid/widget/SpellChecker;->spellCheck(II)V
HSPLandroid/widget/Switch$1;-><init>(Ljava/lang/String;)V
HSPLandroid/widget/Switch;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/Switch;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
@@ -18523,12 +19342,16 @@
HSPLandroid/widget/TextView;->getLineSpacingExtra()F
HSPLandroid/widget/TextView;->getLineSpacingMultiplier()F
HSPLandroid/widget/TextView;->getMaxEms()I
+HSPLandroid/widget/TextView;->getMaxHeight()I
HSPLandroid/widget/TextView;->getMaxLines()I
+HSPLandroid/widget/TextView;->getMaxWidth()I
HSPLandroid/widget/TextView;->getMinEms()I
HSPLandroid/widget/TextView;->getPaint()Landroid/text/TextPaint;
HSPLandroid/widget/TextView;->getSelectionEnd()I
HSPLandroid/widget/TextView;->getSelectionStart()I
+HSPLandroid/widget/TextView;->getSpellCheckerLocale()Ljava/util/Locale;
HSPLandroid/widget/TextView;->getText()Ljava/lang/CharSequence;
+HSPLandroid/widget/TextView;->getTextColors()Landroid/content/res/ColorStateList;
HSPLandroid/widget/TextView;->getTextCursorDrawable()Landroid/graphics/drawable/Drawable;
HSPLandroid/widget/TextView;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;
HSPLandroid/widget/TextView;->getTextLocale()Ljava/util/Locale;
@@ -18574,7 +19397,9 @@
HSPLandroid/widget/TextView;->onEndBatchEdit()V
HSPLandroid/widget/TextView;->onFocusChanged(ZILandroid/graphics/Rect;)V
HSPLandroid/widget/TextView;->onLayout(ZIIII)V
+HSPLandroid/widget/TextView;->onLocaleChanged()V
HSPLandroid/widget/TextView;->onMeasure(II)V
+HSPLandroid/widget/TextView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
HSPLandroid/widget/TextView;->onPreDraw()Z
HSPLandroid/widget/TextView;->onProvideStructure(Landroid/view/ViewStructure;II)V
HSPLandroid/widget/TextView;->onResolveDrawables(I)V
@@ -18662,6 +19487,7 @@
HSPLandroid/widget/TextView;->setTypefaceFromAttrs(Landroid/graphics/Typeface;Ljava/lang/String;III)V
HSPLandroid/widget/TextView;->setupAutoSizeText()Z
HSPLandroid/widget/TextView;->setupAutoSizeUniformPresetSizesConfiguration()Z
+HSPLandroid/widget/TextView;->shouldAdvanceFocusOnEnter()Z
HSPLandroid/widget/TextView;->spanChange(Landroid/text/Spanned;Ljava/lang/Object;IIII)V
HSPLandroid/widget/TextView;->startMarquee()V
HSPLandroid/widget/TextView;->stopMarquee()V
@@ -18728,6 +19554,7 @@
HSPLandroid/widget/Toolbar;->onSaveInstanceState()Landroid/os/Parcelable;
HSPLandroid/widget/Toolbar;->setContentInsetsRelative(II)V
HSPLandroid/widget/Toolbar;->setLogo(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/widget/Toolbar;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
HSPLandroid/widget/Toolbar;->setNavigationContentDescription(Ljava/lang/CharSequence;)V
HSPLandroid/widget/Toolbar;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
HSPLandroid/widget/Toolbar;->setNavigationOnClickListener(Landroid/view/View$OnClickListener;)V
@@ -18741,10 +19568,13 @@
HSPLandroid/widget/Toolbar;->shouldLayout(Landroid/view/View;)Z
HSPLandroid/widget/ViewAnimator;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLandroid/widget/ViewAnimator;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
+HSPLandroid/widget/ViewAnimator;->getBaseline()I
+HSPLandroid/widget/ViewAnimator;->getCurrentView()Landroid/view/View;
HSPLandroid/widget/ViewAnimator;->setAnimateFirstView(Z)V
HSPLandroid/widget/ViewAnimator;->setDisplayedChild(I)V
HSPLandroid/widget/ViewAnimator;->showOnly(I)V
HSPLandroid/widget/ViewAnimator;->showOnly(IZ)V
+HSPLandroid/widget/ViewSwitcher;-><init>(Landroid/content/Context;)V
HSPLandroid/widget/ViewSwitcher;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
PLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readRawVarint32()I
@@ -18776,11 +19606,11 @@
HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeStringNoTag(Ljava/lang/String;)V
HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeTag(II)V
HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeUInt32NoTag(I)V
-PLcom/android/framework/protobuf/nano/MessageNano;->getCachedSize()I
-PLcom/android/framework/protobuf/nano/MessageNano;->getSerializedSize()I
-PLcom/android/framework/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/framework/protobuf/nano/MessageNano;[BII)Lcom/android/framework/protobuf/nano/MessageNano;
-PLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;)[B
-PLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;[BII)V
+HPLcom/android/framework/protobuf/nano/MessageNano;->getCachedSize()I
+HPLcom/android/framework/protobuf/nano/MessageNano;->getSerializedSize()I
+HPLcom/android/framework/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/framework/protobuf/nano/MessageNano;[BII)Lcom/android/framework/protobuf/nano/MessageNano;
+HPLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;)[B
+HPLcom/android/framework/protobuf/nano/MessageNano;->toByteArray(Lcom/android/framework/protobuf/nano/MessageNano;[BII)V
HSPLcom/android/i18n/phonenumbers/AlternateFormatsCountryCodeSet;->getCountryCodeSet()Ljava/util/Set;
HSPLcom/android/i18n/phonenumbers/CountryCodeToRegionCodeMap;->getCountryCodeToRegionCodeMap()Ljava/util/Map;
HSPLcom/android/i18n/phonenumbers/MetadataManager$1;-><init>()V
@@ -18817,11 +19647,13 @@
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNationalSignificantNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String;
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNddPrefixForRegion(Ljava/lang/String;Z)Ljava/lang/String;
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberDescByType(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
+HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberType(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberTypeHelper(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForCountryCode(I)Ljava/lang/String;
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String;
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodeForNumberFromRegionList(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/List;)Ljava/lang/String;
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->hasFormattingPatternForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
+HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberGeographical(Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;I)Z
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isValidNumberForRegion(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Z
@@ -18914,6 +19746,7 @@
HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getCountryCodeSource()Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;
HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getNationalNumber()J
HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getRawInput()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasCountryCode()Z
HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasCountryCodeSource()Z
HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasExtension()Z
HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->hasRawInput()Z
@@ -18943,6 +19776,7 @@
HSPLcom/android/ims/ImsConfig;->addConfigCallback(Landroid/telephony/ims/ProvisioningManager$Callback;)V
HSPLcom/android/ims/ImsConfig;->addConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
HSPLcom/android/ims/ImsConfig;->getConfigInt(I)I
+HSPLcom/android/ims/ImsConfig;->getProvisionedValue(I)I
HSPLcom/android/ims/ImsConfig;->setConfig(II)I
HSPLcom/android/ims/ImsConfig;->setProvisionedValue(II)I
HSPLcom/android/ims/ImsConfigListener$Stub;-><init>()V
@@ -18987,11 +19821,13 @@
HSPLcom/android/ims/ImsManager;->isTtyOnVoLteCapable()Z
HSPLcom/android/ims/ImsManager;->isTurnOffImsAllowedByPlatform()Z
HSPLcom/android/ims/ImsManager;->isVolteEnabledByPlatform()Z
+HSPLcom/android/ims/ImsManager;->isVolteProvisionedOnDevice()Z
HSPLcom/android/ims/ImsManager;->isVtEnabledByPlatform()Z
HSPLcom/android/ims/ImsManager;->isVtEnabledByUser()Z
HSPLcom/android/ims/ImsManager;->isWfcEnabledByPlatform()Z
HSPLcom/android/ims/ImsManager;->isWfcEnabledByUser()Z
HSPLcom/android/ims/ImsManager;->isWfcRoamingEnabledByUser()Z
+HSPLcom/android/ims/ImsManager;->lambda$setRttConfig$4$ImsManager(ZI)V
HSPLcom/android/ims/ImsManager;->lambda$setWfcModeInternal$1$ImsManager(I)V
HSPLcom/android/ims/ImsManager;->lambda$setWfcRoamingSettingInternal$2$ImsManager(I)V
HSPLcom/android/ims/ImsManager;->onSmsReady()V
@@ -19061,6 +19897,7 @@
HSPLcom/android/ims/internal/IImsEcbmListener$Stub;-><init>()V
HSPLcom/android/ims/internal/IImsExternalCallStateListener$Stub;-><init>()V
HSPLcom/android/ims/internal/IImsFeatureStatusCallback$Stub;-><init>()V
+HSPLcom/android/ims/internal/IImsFeatureStatusCallback$Stub;->asBinder()Landroid/os/IBinder;
HSPLcom/android/ims/internal/IImsMultiEndpoint$Stub;-><init>()V
HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->imsFeatureCreated(II)V
HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;-><init>()V
@@ -19097,10 +19934,20 @@
HSPLcom/android/internal/accessibility/AccessibilityShortcutController;->setCurrentUser(I)V
HSPLcom/android/internal/alsa/AlsaCardsParser;-><init>()V
HSPLcom/android/internal/alsa/LineTokenizer;-><init>(Ljava/lang/String;)V
+HSPLcom/android/internal/app/AlertController;-><init>(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)V
+HSPLcom/android/internal/app/AlertController;->create(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)Lcom/android/internal/app/AlertController;
+HSPLcom/android/internal/app/AlertController;->installContent()V
+HSPLcom/android/internal/app/AlertController;->resolvePanel(Landroid/view/View;Landroid/view/View;)Landroid/view/ViewGroup;
+HSPLcom/android/internal/app/AlertController;->setBackground(Landroid/content/res/TypedArray;Landroid/view/View;Landroid/view/View;Landroid/view/View;Landroid/view/View;ZZZ)V
+HSPLcom/android/internal/app/AlertController;->setupButtons(Landroid/view/ViewGroup;)V
+HSPLcom/android/internal/app/AlertController;->setupContent(Landroid/view/ViewGroup;)V
+HSPLcom/android/internal/app/AlertController;->setupCustomContent(Landroid/view/ViewGroup;)V
+HSPLcom/android/internal/app/AlertController;->setupTitle(Landroid/view/ViewGroup;)V
+HSPLcom/android/internal/app/AlertController;->setupView()V
HSPLcom/android/internal/app/AssistUtils;-><init>(Landroid/content/Context;)V
HSPLcom/android/internal/app/AssistUtils;->getAssistComponentForUser(I)Landroid/content/ComponentName;
-PLcom/android/internal/app/AssistUtils;->isPreinstalledAssistant(Landroid/content/Context;Landroid/content/ComponentName;)Z
-PLcom/android/internal/app/AssistUtils;->shouldDisclose(Landroid/content/Context;Landroid/content/ComponentName;)Z
+HPLcom/android/internal/app/AssistUtils;->isPreinstalledAssistant(Landroid/content/Context;Landroid/content/ComponentName;)Z
+HPLcom/android/internal/app/AssistUtils;->shouldDisclose(Landroid/content/Context;Landroid/content/ComponentName;)Z
HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->opActiveChanged(IILjava/lang/String;Z)V
@@ -19125,16 +19972,18 @@
HSPLcom/android/internal/app/IAppOpsService$Stub;-><init>()V
HSPLcom/android/internal/app/IAppOpsService$Stub;->asBinder()Landroid/os/IBinder;
HSPLcom/android/internal/app/IAppOpsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService;
-PLcom/android/internal/app/IAppOpsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/app/IAppOpsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLcom/android/internal/app/IAppOpsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/app/IBatteryStats$Stub$Proxy;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
+HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
+HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->getStatisticsStream()Landroid/os/ParcelFileDescriptor;
HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->isCharging()Z
+HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
HSPLcom/android/internal/app/IBatteryStats$Stub;-><init>()V
HSPLcom/android/internal/app/IBatteryStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IBatteryStats;
-PLcom/android/internal/app/IBatteryStats$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/app/IBatteryStats$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLcom/android/internal/app/IBatteryStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/app/ISoundTriggerService$Stub;-><init>()V
-PLcom/android/internal/app/ISoundTriggerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/app/ISoundTriggerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;-><init>()V
HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -19149,7 +19998,7 @@
HSPLcom/android/internal/app/ProcessMap;->getMap()Landroid/util/ArrayMap;
HSPLcom/android/internal/app/ProcessMap;->put(Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/Object;
HSPLcom/android/internal/app/ProcessMap;->remove(Ljava/lang/String;I)Ljava/lang/Object;
-PLcom/android/internal/app/ProcessMap;->size()I
+HPLcom/android/internal/app/ProcessMap;->size()I
HSPLcom/android/internal/app/ResolverActivity$ActionTitle;-><init>(Ljava/lang/String;ILjava/lang/String;III)V
HSPLcom/android/internal/app/ResolverActivity;->getLabelRes(Ljava/lang/String;)I
HSPLcom/android/internal/app/procstats/AssociationState$SourceKey;->equals(Ljava/lang/Object;)Z
@@ -19176,7 +20025,7 @@
HSPLcom/android/internal/app/procstats/DurationsTable;->addDurations(Lcom/android/internal/app/procstats/DurationsTable;)V
HSPLcom/android/internal/app/procstats/IProcessStats$Stub;-><init>()V
HSPLcom/android/internal/app/procstats/IProcessStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/procstats/IProcessStats;
-PLcom/android/internal/app/procstats/IProcessStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/app/procstats/IProcessStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/app/procstats/ProcessState$1;-><init>()V
HSPLcom/android/internal/app/procstats/ProcessState$PssAggr;-><init>()V
HSPLcom/android/internal/app/procstats/ProcessState$PssAggr;->add(JJ)V
@@ -19201,18 +20050,18 @@
HSPLcom/android/internal/app/procstats/ProcessState;->pullFixedProc(Landroid/util/ArrayMap;I)Lcom/android/internal/app/procstats/ProcessState;
HSPLcom/android/internal/app/procstats/ProcessState;->pullFixedProc(Ljava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
HSPLcom/android/internal/app/procstats/ProcessState;->readFromParcel(Landroid/os/Parcel;Z)Z
-PLcom/android/internal/app/procstats/ProcessState;->reportExcessiveCpu(Landroid/util/ArrayMap;)V
+HPLcom/android/internal/app/procstats/ProcessState;->reportExcessiveCpu(Landroid/util/ArrayMap;)V
HSPLcom/android/internal/app/procstats/ProcessState;->setCombinedState(IJ)V
HSPLcom/android/internal/app/procstats/ProcessState;->setState(IIJLandroid/util/ArrayMap;)V
HSPLcom/android/internal/app/procstats/ProcessState;->toString()Ljava/lang/String;
HPLcom/android/internal/app/procstats/ProcessState;->writeToParcel(Landroid/os/Parcel;J)V
HSPLcom/android/internal/app/procstats/ProcessStats$1;-><init>()V
-PLcom/android/internal/app/procstats/ProcessStats$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/app/procstats/ProcessStats;
-PLcom/android/internal/app/procstats/ProcessStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLcom/android/internal/app/procstats/ProcessStats$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/app/procstats/ProcessStats;
+HPLcom/android/internal/app/procstats/ProcessStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
HSPLcom/android/internal/app/procstats/ProcessStats$PackageState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Ljava/lang/String;IJ)V
HSPLcom/android/internal/app/procstats/ProcessStats$PackageState;->getAssociationStateLocked(Lcom/android/internal/app/procstats/ProcessState;Ljava/lang/String;)Lcom/android/internal/app/procstats/AssociationState;
HSPLcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;-><init>([I[I)V
-PLcom/android/internal/app/procstats/ProcessStats;-><init>(Landroid/os/Parcel;)V
+HPLcom/android/internal/app/procstats/ProcessStats;-><init>(Landroid/os/Parcel;)V
HSPLcom/android/internal/app/procstats/ProcessStats;-><init>(Z)V
HPLcom/android/internal/app/procstats/ProcessStats;->add(Lcom/android/internal/app/procstats/ProcessStats;)V
HSPLcom/android/internal/app/procstats/ProcessStats;->addSysMemUsage(JJJJJ)V
@@ -19237,7 +20086,7 @@
HSPLcom/android/internal/app/procstats/ProcessStats;->updateTrackingAssociationsLocked(IJ)V
HPLcom/android/internal/app/procstats/ProcessStats;->writeCommonString(Landroid/os/Parcel;Ljava/lang/String;)V
HPLcom/android/internal/app/procstats/ProcessStats;->writeCompactedLongArray(Landroid/os/Parcel;[JI)V
-PLcom/android/internal/app/procstats/ProcessStats;->writeToParcel(Landroid/os/Parcel;I)V
+HPLcom/android/internal/app/procstats/ProcessStats;->writeToParcel(Landroid/os/Parcel;I)V
HPLcom/android/internal/app/procstats/ProcessStats;->writeToParcel(Landroid/os/Parcel;JI)V
HSPLcom/android/internal/app/procstats/PssTable;->mergeStats(IIJJJJJJJJJ)V
HPLcom/android/internal/app/procstats/PssTable;->mergeStats(Lcom/android/internal/app/procstats/PssTable;)V
@@ -19284,7 +20133,7 @@
HPLcom/android/internal/app/procstats/SparseMappingTable;->writeToParcel(Landroid/os/Parcel;)V
HSPLcom/android/internal/app/procstats/SysMemUsageTable;->getTotalMemUsage()[J
HSPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeStats(I[JI)V
-PLcom/android/internal/app/procstats/SysMemUsageTable;->mergeStats(Lcom/android/internal/app/procstats/SysMemUsageTable;)V
+HPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeStats(Lcom/android/internal/app/procstats/SysMemUsageTable;)V
HSPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeSysMemUsage([JI[JI)V
HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetIds(Landroid/content/ComponentName;)[I
HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
@@ -19309,35 +20158,35 @@
HPLcom/android/internal/backup/IBackupTransport$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/backup/IBackupTransport;
HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->close()V
HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Landroid/content/pm/PackageParser$Package;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
-PLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/io/File;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
+HPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/io/File;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/util/List;ZZZ)Lcom/android/internal/content/NativeLibraryHelper$Handle;
HSPLcom/android/internal/content/NativeLibraryHelper$Handle;->finalize()V
HSPLcom/android/internal/content/NativeLibraryHelper;->copyNativeBinariesForSupportedAbi(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/io/File;[Ljava/lang/String;Z)I
-PLcom/android/internal/content/NativeLibraryHelper;->copyNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/io/File;Ljava/lang/String;)I
+HPLcom/android/internal/content/NativeLibraryHelper;->copyNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/io/File;Ljava/lang/String;)I
HSPLcom/android/internal/content/NativeLibraryHelper;->createNativeLibrarySubdir(Ljava/io/File;)V
HSPLcom/android/internal/content/NativeLibraryHelper;->findSupportedAbi(Lcom/android/internal/content/NativeLibraryHelper$Handle;[Ljava/lang/String;)I
HSPLcom/android/internal/content/NativeLibraryHelper;->hasRenderscriptBitcode(Lcom/android/internal/content/NativeLibraryHelper$Handle;)Z
-PLcom/android/internal/content/NativeLibraryHelper;->removeNativeBinariesFromDirLI(Ljava/io/File;Z)V
-PLcom/android/internal/content/NativeLibraryHelper;->sumNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
+HPLcom/android/internal/content/NativeLibraryHelper;->removeNativeBinariesFromDirLI(Ljava/io/File;Z)V
+HPLcom/android/internal/content/NativeLibraryHelper;->sumNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
PLcom/android/internal/content/PackageHelper$1;->getAllow3rdPartyOnInternalConfig(Landroid/content/Context;)Z
PLcom/android/internal/content/PackageHelper$1;->getExistingAppInfo(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
PLcom/android/internal/content/PackageHelper$1;->getForceAllowOnExternalSetting(Landroid/content/Context;)Z
PLcom/android/internal/content/PackageHelper$1;->getStorageManager(Landroid/content/Context;)Landroid/os/storage/StorageManager;
-PLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
-PLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Ljava/lang/String;)J
-PLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Ljava/lang/String;Ljava/io/FileDescriptor;)J
-PLcom/android/internal/content/PackageHelper;->fitsOnInternal(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Z
-PLcom/android/internal/content/PackageHelper;->getDefaultTestableInterface()Lcom/android/internal/content/PackageHelper$TestableInterface;
+HPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/lang/String;)J
+HPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Ljava/lang/String;)J
+HPLcom/android/internal/content/PackageHelper;->calculateInstalledSize(Landroid/content/pm/PackageParser$PackageLite;Ljava/lang/String;Ljava/io/FileDescriptor;)J
+HPLcom/android/internal/content/PackageHelper;->fitsOnInternal(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Z
+HPLcom/android/internal/content/PackageHelper;->getDefaultTestableInterface()Lcom/android/internal/content/PackageHelper$TestableInterface;
HSPLcom/android/internal/content/PackageHelper;->getStorageManager()Landroid/os/storage/IStorageManager;
-PLcom/android/internal/content/PackageHelper;->resolveInstallLocation(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)I
-PLcom/android/internal/content/PackageHelper;->resolveInstallLocation(Landroid/content/Context;Ljava/lang/String;IJI)I
-PLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Ljava/lang/String;
-PLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;Lcom/android/internal/content/PackageHelper$TestableInterface;)Ljava/lang/String;
+HPLcom/android/internal/content/PackageHelper;->resolveInstallLocation(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)I
+HPLcom/android/internal/content/PackageHelper;->resolveInstallLocation(Landroid/content/Context;Ljava/lang/String;IJI)I
+HPLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;)Ljava/lang/String;
+HPLcom/android/internal/content/PackageHelper;->resolveInstallVolume(Landroid/content/Context;Landroid/content/pm/PackageInstaller$SessionParams;Lcom/android/internal/content/PackageHelper$TestableInterface;)Ljava/lang/String;
HSPLcom/android/internal/content/PackageMonitor;-><init>()V
HSPLcom/android/internal/content/PackageMonitor;->didSomePackagesChange()Z
HSPLcom/android/internal/content/PackageMonitor;->getChangingUserId()I
HSPLcom/android/internal/content/PackageMonitor;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
-PLcom/android/internal/content/PackageMonitor;->isComponentModified(Ljava/lang/String;)Z
+HPLcom/android/internal/content/PackageMonitor;->isComponentModified(Ljava/lang/String;)Z
HSPLcom/android/internal/content/PackageMonitor;->isPackageAppearing(Ljava/lang/String;)I
HSPLcom/android/internal/content/PackageMonitor;->isPackageDisappearing(Ljava/lang/String;)I
HSPLcom/android/internal/content/PackageMonitor;->isPackageModified(Ljava/lang/String;)Z
@@ -19349,8 +20198,8 @@
HSPLcom/android/internal/content/PackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
HSPLcom/android/internal/content/PackageMonitor;->onPackageModified(Ljava/lang/String;)V
HSPLcom/android/internal/content/PackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
-PLcom/android/internal/content/PackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-PLcom/android/internal/content/PackageMonitor;->onPackageUpdateStarted(Ljava/lang/String;I)V
+HPLcom/android/internal/content/PackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
+HPLcom/android/internal/content/PackageMonitor;->onPackageUpdateStarted(Ljava/lang/String;I)V
HSPLcom/android/internal/content/PackageMonitor;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
HSPLcom/android/internal/content/PackageMonitor;->onSomePackagesChanged()V
HSPLcom/android/internal/content/PackageMonitor;->onUidRemoved(I)V
@@ -19388,7 +20237,7 @@
HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;-><init>()V
HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;->accept(Ljava/lang/Object;)V
HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;-><init>()V
-PLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;->accept(Ljava/lang/Object;)V
+HPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;->accept(Ljava/lang/Object;)V
HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;-><init>()V
HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;->accept(Ljava/lang/Object;)V
PLcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;-><init>()V
@@ -19400,16 +20249,18 @@
HSPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->finish()Z
HSPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->getService()Lcom/android/internal/infra/AbstractRemoteService;
HSPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->isFinal()Z
-PLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->onFinished()V
+HPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->onFinished()V
HPLcom/android/internal/infra/AbstractRemoteService$MyAsyncPendingRequest;->run()V
HSPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;-><init>(Lcom/android/internal/infra/AbstractRemoteService;)V
HSPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->onFinished()V
HSPLcom/android/internal/infra/AbstractRemoteService$RemoteServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HPLcom/android/internal/infra/AbstractRemoteService$RemoteServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
HSPLcom/android/internal/infra/AbstractRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;Landroid/os/Handler;IZ)V
+HPLcom/android/internal/infra/AbstractRemoteService;->binderDied()V
HSPLcom/android/internal/infra/AbstractRemoteService;->checkIfDestroyed()Z
HSPLcom/android/internal/infra/AbstractRemoteService;->destroy()V
HSPLcom/android/internal/infra/AbstractRemoteService;->finishRequest(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
-PLcom/android/internal/infra/AbstractRemoteService;->handleBinderDied()V
+HPLcom/android/internal/infra/AbstractRemoteService;->handleBinderDied()V
HSPLcom/android/internal/infra/AbstractRemoteService;->handleEnsureBound()V
HSPLcom/android/internal/infra/AbstractRemoteService;->handleEnsureUnbound()V
HSPLcom/android/internal/infra/AbstractRemoteService;->handleOnConnectedStateChanged(Z)V
@@ -19418,16 +20269,16 @@
HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleBind()V
HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleRequest(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleUnbind()V
-PLcom/android/internal/infra/AbstractRemoteService;->toString()Ljava/lang/String;
+HPLcom/android/internal/infra/AbstractRemoteService;->toString()Ljava/lang/String;
HSPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;Landroid/os/Handler;IZ)V
-PLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handleOnDestroy()V
-PLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handlePendingRequestWhileUnBound(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
-PLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handlePendingRequests()V
+HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handleOnDestroy()V
+HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handlePendingRequestWhileUnBound(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
+HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handlePendingRequests()V
HSPLcom/android/internal/infra/WhitelistHelper;->getWhitelistedComponents(Ljava/lang/String;)Landroid/util/ArraySet;
-PLcom/android/internal/infra/WhitelistHelper;->isWhitelisted(Landroid/content/ComponentName;)Z
+HPLcom/android/internal/infra/WhitelistHelper;->isWhitelisted(Landroid/content/ComponentName;)Z
HSPLcom/android/internal/infra/WhitelistHelper;->isWhitelisted(Ljava/lang/String;)Z
-PLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
-PLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Ljava/util/List;Ljava/util/List;)V
+HPLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+HPLcom/android/internal/infra/WhitelistHelper;->setWhitelist(Ljava/util/List;Ljava/util/List;)V
HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->notifyUserAction()V
HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->reportFullscreenMode(Z)V
HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->reportStartInput(Landroid/os/IBinder;)V
@@ -19448,7 +20299,7 @@
HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;->put(Landroid/os/IBinder;Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations;)V
HSPLcom/android/internal/inputmethod/SubtypeLocaleUtils;->constructLocaleFromString(Ljava/lang/String;)Ljava/util/Locale;
HSPLcom/android/internal/location/GpsNetInitiatedHandler$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/internal/location/GpsNetInitiatedHandler$2;->onCallStateChanged(ILjava/lang/String;)V
+HPLcom/android/internal/location/GpsNetInitiatedHandler$2;->onCallStateChanged(ILjava/lang/String;)V
HSPLcom/android/internal/location/GpsNetInitiatedHandler;-><init>(Landroid/content/Context;Landroid/location/INetInitiatedListener;Z)V
HSPLcom/android/internal/location/GpsNetInitiatedHandler;->setEmergencyExtensionSeconds(I)V
HSPLcom/android/internal/location/GpsNetInitiatedHandler;->setSuplEsEnabled(Z)V
@@ -19458,7 +20309,7 @@
HSPLcom/android/internal/location/ILocationProvider$Stub;-><init>()V
HSPLcom/android/internal/location/ILocationProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/location/ILocationProvider;
HSPLcom/android/internal/location/ILocationProviderManager$Stub;-><init>()V
-PLcom/android/internal/location/ILocationProviderManager$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/location/ILocationProviderManager$Stub;->asBinder()Landroid/os/IBinder;
HPLcom/android/internal/location/ILocationProviderManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/location/ProviderProperties$1;-><init>()V
HSPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderProperties;
@@ -19468,21 +20319,21 @@
HSPLcom/android/internal/location/ProviderRequest$1;-><init>()V
HSPLcom/android/internal/location/ProviderRequest;-><init>()V
HPLcom/android/internal/location/ProviderRequest;->writeToParcel(Landroid/os/Parcel;I)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->buildProto()Lcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;
-PLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->buildProto()Lcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
HPLcom/android/internal/location/gnssmetrics/GnssMetrics$GnssPowerMetrics;->reportSignalQuality([FI)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->addItem(D)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getCount()I
-PLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getMean()D
-PLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getStandardDeviation()D
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->addItem(D)V
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getCount()I
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getMean()D
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->getStandardDeviation()D
HSPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->reset()V
HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;-><init>(Lcom/android/internal/app/IBatteryStats;)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics;->dumpGnssMetricsAsProtoString()Ljava/lang/String;
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->dumpGnssMetricsAsProtoString()Ljava/lang/String;
HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logCn0([FI)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics;->logMissedReports(II)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics;->logPositionAccuracyMeters(F)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics;->logReceivedLocationStatus(Z)V
-PLcom/android/internal/location/gnssmetrics/GnssMetrics;->logTimeToFirstFixMilliSecs(I)V
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logMissedReports(II)V
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logPositionAccuracyMeters(F)V
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logReceivedLocationStatus(Z)V
+HPLcom/android/internal/location/gnssmetrics/GnssMetrics;->logTimeToFirstFixMilliSecs(I)V
HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;->reset()V
PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->clear()Lcom/android/internal/location/nano/GnssLogsProto$GnssLog;
PLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->computeSerializedSize()I
@@ -19495,6 +20346,7 @@
HSPLcom/android/internal/logging/AndroidHandler;->publish(Ljava/util/logging/LogRecord;)V
HSPLcom/android/internal/logging/EventLogTags;->writeCommitSysConfigFile(Ljava/lang/String;J)V
HSPLcom/android/internal/logging/MetricsLogger;-><init>()V
+HSPLcom/android/internal/logging/MetricsLogger;->action(I)V
HSPLcom/android/internal/logging/MetricsLogger;->action(II)V
HSPLcom/android/internal/logging/MetricsLogger;->action(IZ)V
HSPLcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;II)V
@@ -19510,11 +20362,12 @@
HSPLcom/android/internal/logging/MetricsLogger;->visible(Landroid/content/Context;I)V
HSPLcom/android/internal/logging/MetricsLogger;->write(Landroid/metrics/LogMaker;)V
HSPLcom/android/internal/net/INetworkWatchlistManager$Stub;-><init>()V
-PLcom/android/internal/net/INetworkWatchlistManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/net/INetworkWatchlistManager;
+HPLcom/android/internal/net/INetworkWatchlistManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/net/INetworkWatchlistManager;
HSPLcom/android/internal/net/NetworkStatsFactory;-><init>()V
HSPLcom/android/internal/net/NetworkStatsFactory;-><init>(Ljava/io/File;Z)V
HSPLcom/android/internal/net/NetworkStatsFactory;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Z)V
HPLcom/android/internal/net/NetworkStatsFactory;->augmentWithStackedInterfaces([Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/internal/net/NetworkStatsFactory;->noteStackedIface(Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/internal/net/NetworkStatsFactory;->readBpfNetworkStatsDev()Landroid/net/NetworkStats;
HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsDetail(I[Ljava/lang/String;ILandroid/net/NetworkStats;)Landroid/net/NetworkStats;
HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsDetailInternal(I[Ljava/lang/String;ILandroid/net/NetworkStats;)Landroid/net/NetworkStats;
@@ -19543,6 +20396,7 @@
HSPLcom/android/internal/os/AtomicDirectory;->startWrite()Ljava/io/File;
HSPLcom/android/internal/os/AtomicDirectory;->throwIfSomeFilesOpen()V
HSPLcom/android/internal/os/AtomicFile;-><init>(Ljava/io/File;)V
+HSPLcom/android/internal/os/AtomicFile;->delete()V
HSPLcom/android/internal/os/AtomicFile;->exists()Z
HSPLcom/android/internal/os/AtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
HSPLcom/android/internal/os/AtomicFile;->openRead()Ljava/io/FileInputStream;
@@ -19554,7 +20408,7 @@
HSPLcom/android/internal/os/BackgroundThread;->getExecutor()Ljava/util/concurrent/Executor;
HSPLcom/android/internal/os/BackgroundThread;->getHandler()Landroid/os/Handler;
HSPLcom/android/internal/os/BatterySipper$DrainType;-><init>(Ljava/lang/String;I)V
-PLcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
+HPLcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
HSPLcom/android/internal/os/BatterySipper;->add(Lcom/android/internal/os/BatterySipper;)V
HSPLcom/android/internal/os/BatterySipper;->compareTo(Lcom/android/internal/os/BatterySipper;)I
HSPLcom/android/internal/os/BatterySipper;->compareTo(Ljava/lang/Object;)I
@@ -19563,6 +20417,7 @@
HSPLcom/android/internal/os/BatterySipper;->sumPower()D
HSPLcom/android/internal/os/BatteryStatsHelper$1;->compare(Lcom/android/internal/os/BatterySipper;Lcom/android/internal/os/BatterySipper;)I
HSPLcom/android/internal/os/BatteryStatsHelper$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;Z)V
HSPLcom/android/internal/os/BatteryStatsHelper;-><init>(Landroid/content/Context;ZZ)V
HSPLcom/android/internal/os/BatteryStatsHelper;->addAmbientDisplayUsage()V
HSPLcom/android/internal/os/BatteryStatsHelper;->addBluetoothUsage()V
@@ -19575,17 +20430,20 @@
HSPLcom/android/internal/os/BatteryStatsHelper;->addWiFiUsage()V
HSPLcom/android/internal/os/BatteryStatsHelper;->checkHasBluetoothPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
HSPLcom/android/internal/os/BatteryStatsHelper;->checkHasWifiPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
-PLcom/android/internal/os/BatteryStatsHelper;->checkWifiOnly(Landroid/content/Context;)Z
+HPLcom/android/internal/os/BatteryStatsHelper;->checkWifiOnly(Landroid/content/Context;)Z
+HSPLcom/android/internal/os/BatteryStatsHelper;->clearStats()V
HSPLcom/android/internal/os/BatteryStatsHelper;->convertMsToUs(J)J
HSPLcom/android/internal/os/BatteryStatsHelper;->convertUsToMs(J)J
-PLcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/BatteryStats;)V
-PLcom/android/internal/os/BatteryStatsHelper;->getComputedPower()D
+HPLcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/BatteryStats;)V
+HSPLcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/Bundle;)V
+HPLcom/android/internal/os/BatteryStatsHelper;->getComputedPower()D
HSPLcom/android/internal/os/BatteryStatsHelper;->getForegroundActivityTotalTimeUs(Landroid/os/BatteryStats$Uid;J)J
-PLcom/android/internal/os/BatteryStatsHelper;->getMaxDrainedPower()D
-PLcom/android/internal/os/BatteryStatsHelper;->getMinDrainedPower()D
-PLcom/android/internal/os/BatteryStatsHelper;->getPowerProfile()Lcom/android/internal/os/PowerProfile;
+HPLcom/android/internal/os/BatteryStatsHelper;->getMaxDrainedPower()D
+HPLcom/android/internal/os/BatteryStatsHelper;->getMinDrainedPower()D
+HPLcom/android/internal/os/BatteryStatsHelper;->getPowerProfile()Lcom/android/internal/os/PowerProfile;
HSPLcom/android/internal/os/BatteryStatsHelper;->getProcessForegroundTimeMs(Landroid/os/BatteryStats$Uid;I)J
HSPLcom/android/internal/os/BatteryStatsHelper;->getStats()Landroid/os/BatteryStats;
+HSPLcom/android/internal/os/BatteryStatsHelper;->getStats(Lcom/android/internal/app/IBatteryStats;)Lcom/android/internal/os/BatteryStatsImpl;
HSPLcom/android/internal/os/BatteryStatsHelper;->getTotalPower()D
HSPLcom/android/internal/os/BatteryStatsHelper;->getUsageList()Ljava/util/List;
HSPLcom/android/internal/os/BatteryStatsHelper;->isTypeService(Lcom/android/internal/os/BatterySipper;)Z
@@ -19595,6 +20453,7 @@
HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(II)V
HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;)V
HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;JJ)V
+HSPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILjava/util/List;)V
HSPLcom/android/internal/os/BatteryStatsHelper;->removeHiddenBatterySippers(Ljava/util/List;)D
HSPLcom/android/internal/os/BatteryStatsHelper;->shouldHideSipper(Lcom/android/internal/os/BatterySipper;)Z
HSPLcom/android/internal/os/BatteryStatsHelper;->smearScreenBatterySipper(Ljava/util/List;Lcom/android/internal/os/BatterySipper;)V
@@ -19613,12 +20472,15 @@
HSPLcom/android/internal/os/BatteryStatsHistory;->startIteratingHistory()Z
HSPLcom/android/internal/os/BatteryStatsHistory;->writeToParcel(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$1;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
-PLcom/android/internal/os/BatteryStatsImpl$1;->run()V
+HPLcom/android/internal/os/BatteryStatsImpl$1;->run()V
HSPLcom/android/internal/os/BatteryStatsImpl$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
HSPLcom/android/internal/os/BatteryStatsImpl$3;->run()V
HSPLcom/android/internal/os/BatteryStatsImpl$5;->run()V
HSPLcom/android/internal/os/BatteryStatsImpl$6;-><init>()V
-PLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->abortLastDuration(Lcom/android/internal/os/BatteryStatsImpl;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$6;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl;
+HSPLcom/android/internal/os/BatteryStatsImpl$6;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
+HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->abortLastDuration(Lcom/android/internal/os/BatteryStatsImpl;)V
HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->addDuration(Lcom/android/internal/os/BatteryStatsImpl;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeCurrentCountLocked()I
HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeRunTimeLocked(J)J
@@ -19627,24 +20489,25 @@
HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->reset(Z)Z
HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->writeToParcel(Landroid/os/Parcel;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$1;)V
-PLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->set(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
+HPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->set(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Constants;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Handler;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->updateConstants()V
HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->updateKernelUidReadersThrottleTime(JJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Constants;->updateTrackCpuTimesByProcStateLocked(ZZ)V
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;I)V
+HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;ILandroid/os/Parcel;)V
HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->detach()V
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Landroid/os/BatteryStats$LongCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-PLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getMonitoredRailChargeConsumedMaMs()Landroid/os/BatteryStats$LongCounter;
+HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getMonitoredRailChargeConsumedMaMs()Landroid/os/BatteryStats$LongCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getMonitoredRailChargeConsumedMaMs()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getPowerCounter()Landroid/os/BatteryStats$LongCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getPowerCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Landroid/os/BatteryStats$LongCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-PLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Landroid/os/BatteryStats$LongCounter;
+HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Landroid/os/BatteryStats$LongCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-PLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
+HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter;
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
@@ -19653,16 +20516,19 @@
HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeSummaryToParcel(Landroid/os/Parcel;)V
HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeToParcel(Landroid/os/Parcel;I)V
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Counter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->addAtomic(I)V
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->detach()V
HPLcom/android/internal/os/BatteryStatsImpl$Counter;->getCountLocked(I)I
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStarted(JJJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStopped(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->readCounterFromParcel(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$Counter;
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->reset(Z)Z
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->stepAtomic()V
HSPLcom/android/internal/os/BatteryStatsImpl$Counter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
HPLcom/android/internal/os/BatteryStatsImpl$Counter;->writeToParcel(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->detach()V
HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->getSubTimer()Landroid/os/BatteryStats$Timer;
HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->getSubTimer()Lcom/android/internal/os/BatteryStatsImpl$DurationTimer;
@@ -19671,7 +20537,8 @@
HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->startRunningLocked(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->stopRunningLocked(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-PLcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeToParcel(Landroid/os/Parcel;J)V
+HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeToParcel(Landroid/os/Parcel;J)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getCurrentDurationMsLocked(J)J
HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getMaxDurationMsLocked(J)J
HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->getTotalDurationMsLocked(J)J
@@ -19684,6 +20551,7 @@
HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
HPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeToParcel(Landroid/os/Parcel;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(JZ)V
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->detach()V
@@ -19702,6 +20570,7 @@
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getSize()I
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStarted(JJJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStopped(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readFromParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->readSummaryFromParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->reset(Z)Z
HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeSummaryToParcelLocked(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;)V
@@ -19709,9 +20578,11 @@
HSPLcom/android/internal/os/BatteryStatsImpl$MyHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->add(Ljava/lang/String;Ljava/lang/Object;)V
HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->cleanup()V
+HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->clear()V
HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->getMap()Landroid/util/ArrayMap;
HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->startObject(Ljava/lang/String;)Ljava/lang/Object;
HSPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->stopObject(Ljava/lang/String;)Ljava/lang/Object;
+HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->add(JI)V
HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeCurrentCountLocked()I
HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeRunTimeLocked(J)J
@@ -19723,6 +20594,7 @@
HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->update(JI)V
HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->writeToParcel(Landroid/os/Parcel;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$Uid;ILjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeCurrentCountLocked()I
HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->computeRunTimeLocked(J)J
HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->detach()V
@@ -19746,12 +20618,14 @@
HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->getUptime(J)J
HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->init(JJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->isRunning()Z
+HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->readFromParcel(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->readSummaryFromParcel(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->remove(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->setRunning(ZJJ)Z
HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeSummaryToParcel(Landroid/os/Parcel;JJ)V
HPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeToParcel(Landroid/os/Parcel;JJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Timer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;ILcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->detach()V
HPLcom/android/internal/os/BatteryStatsImpl$Timer;->getCountLocked(I)I
HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTimeSinceMarkLocked(J)J
@@ -19773,21 +20647,25 @@
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStarts(I)I
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStarted(JJJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStopped(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->readFromParcelLocked(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startLaunchedLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->startRunningLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked()V
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->writeToParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->detach()V
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getServiceStats()Landroid/util/ArrayMap;
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->getWakeupAlarmStats()Landroid/util/ArrayMap;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->noteWakeupAlarmLocked(Ljava/lang/String;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStarted(JJJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStopped(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->readFromParcelLocked(Landroid/os/Parcel;)V
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->writeToParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Ljava/lang/String;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(IIZ)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addExcessiveCpu(JJ)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addExcessiveCpu(JJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addForegroundTimeLocked(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->detach()V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getForegroundTime(I)J
@@ -19804,14 +20682,18 @@
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->readExcessivePowerFromParcelLocked(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeExcessivePowerToParcelLocked(Landroid/os/Parcel;)V
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeToParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$Uid;I)V
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Landroid/os/BatteryStats$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->readTimersFromParcel(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->reset()Z
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->writeToParcelLocked(Landroid/os/Parcel;J)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$Uid;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->reset()Z
HPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->writeToParcelLocked(Landroid/os/Parcel;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;-><init>(Lcom/android/internal/os/BatteryStatsImpl;I)V
@@ -19832,22 +20714,22 @@
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createVideoTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->detachFromTimeBase()V
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultBgCounter()Landroid/os/BatteryStats$Counter;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultBgCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultCounter()Landroid/os/BatteryStats$Counter;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultBgCounter()Landroid/os/BatteryStats$Counter;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultBgCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultCounter()Landroid/os/BatteryStats$Counter;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanResultCounter()Lcom/android/internal/os/BatteryStatsImpl$Counter;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanTimer()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanTimer()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanTimer()Landroid/os/BatteryStats$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothUnoptimizedScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Landroid/os/BatteryStats$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuActiveTime()J
@@ -19860,7 +20742,7 @@
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Landroid/os/BatteryStats$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundServiceTimer()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundServiceTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundServiceTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFullWifiLockTime(JI)J
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getJobCompletionStats()Landroid/util/ArrayMap;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getJobStats()Landroid/util/ArrayMap;
@@ -19869,19 +20751,19 @@
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioApWakeupCount(I)J
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMulticastWakelockStats()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getMulticastWakelockStats()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMulticastWakelockStats()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityBytes(II)J
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityPackets(II)J
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateBluetoothControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateBluetoothControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateModemControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateWifiControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStats()Landroid/util/ArrayMap;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStatsLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStats()Landroid/util/SparseArray;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStats()Landroid/util/SparseArray;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTime(IJI)J
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStats()Landroid/util/ArrayMap;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStatsLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getScreenOffCpuFreqTimes(I)[J
@@ -19895,7 +20777,7 @@
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUserActivityCount(II)I
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUserCpuTimeUs(I)J
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Landroid/os/BatteryStats$Timer;
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockStats()Landroid/util/ArrayMap;
@@ -19916,47 +20798,48 @@
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->makeProcessState(ILandroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteActivityPausedLocked(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteActivityResumedLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOffLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOnLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanResultsLocked(I)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStartedLocked(JZ)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStoppedLocked(JZ)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOffLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOnLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServicePausedLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServiceResumedLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockAcquiredLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockReleasedLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOffLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteAudioTurnedOnLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanResultsLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStartedLocked(JZ)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteBluetoothScanStoppedLocked(JZ)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOffLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteCameraTurnedOnLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServicePausedLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteForegroundServiceResumedLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockAcquiredLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteFullWifiLockReleasedLocked(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteJobsDeferredLocked(IJ)V
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioActiveTimeLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioApWakeupLocked()V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioApWakeupLocked()V
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteNetworkActivityLocked(IJJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartGps(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartJobLocked(Ljava/lang/String;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSensor(IJ)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSyncLocked(Ljava/lang/String;J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSyncLocked(Ljava/lang/String;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartWakeLocked(ILjava/lang/String;IJ)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopGps(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopGps(J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSensor(IJ)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSyncLocked(Ljava/lang/String;J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSyncLocked(Ljava/lang/String;J)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopWakeLocked(ILjava/lang/String;IJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteUserActivityLocked(I)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOffLocked()V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOnLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOffLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOnLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastDisabledLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastEnabledLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiRadioApWakeupLocked()V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOffLocked()V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOnLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOffLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVideoTurnedOnLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastDisabledLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiMulticastEnabledLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiRadioApWakeupLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStartedLocked(J)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStoppedLocked(J)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStoppedLocked(J)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readJobCompletionsFromParcelLocked(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readJobSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readSyncSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->readWakeSummaryFromParcelLocked(Ljava/lang/String;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->removeIsolatedUid(I)V
-PLcom/android/internal/os/BatteryStatsImpl$Uid;->reportExcessiveCpuLocked(Ljava/lang/String;JJ)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->reportExcessiveCpuLocked(Ljava/lang/String;JJ)V
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->reset(JJ)Z
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryBgTimeBase(JJ)Z
HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateOnBatteryScreenOffBgTimeBase(JJ)Z
@@ -19965,6 +20848,7 @@
HPLcom/android/internal/os/BatteryStatsImpl$Uid;->writeToParcelLocked(Landroid/os/Parcel;JJ)V
HPLcom/android/internal/os/BatteryStatsImpl$UidToRemove;->remove()V
HSPLcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->exists(I)Z
+HSPLcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/internal/os/BatteryStatsImpl$RailEnergyDataCallback;Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;)V
HSPLcom/android/internal/os/BatteryStatsImpl;-><init>(Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/internal/os/BatteryStatsImpl$RailEnergyDataCallback;Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryBufferLocked(JBLandroid/os/BatteryStats$HistoryItem;)V
@@ -20002,8 +20886,8 @@
HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryUptimeLocked()J
HSPLcom/android/internal/os/BatteryStatsImpl;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
HPLcom/android/internal/os/BatteryStatsImpl;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-PLcom/android/internal/os/BatteryStatsImpl;->getChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-PLcom/android/internal/os/BatteryStatsImpl;->getCpuFreqs()[J
+HPLcom/android/internal/os/BatteryStatsImpl;->getChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
+HPLcom/android/internal/os/BatteryStatsImpl;->getCpuFreqs()[J
HSPLcom/android/internal/os/BatteryStatsImpl;->getDeltaModemActivityInfo(Landroid/telephony/ModemActivityInfo;)Landroid/telephony/ModemActivityInfo;
HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdleModeCount(II)I
HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdleModeTime(IJI)J
@@ -20012,41 +20896,41 @@
HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenDozeSinceCharge()I
HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOffSinceCharge()I
HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOnSinceCharge()I
-PLcom/android/internal/os/BatteryStatsImpl;->getDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-PLcom/android/internal/os/BatteryStatsImpl;->getEndPlatformVersion()Ljava/lang/String;
-PLcom/android/internal/os/BatteryStatsImpl;->getEstimatedBatteryCapacity()I
-PLcom/android/internal/os/BatteryStatsImpl;->getExternalStatsCollectionRateLimitMs()J
-PLcom/android/internal/os/BatteryStatsImpl;->getGlobalWifiRunningTime(JI)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
+HPLcom/android/internal/os/BatteryStatsImpl;->getEndPlatformVersion()Ljava/lang/String;
+HPLcom/android/internal/os/BatteryStatsImpl;->getEstimatedBatteryCapacity()I
+HPLcom/android/internal/os/BatteryStatsImpl;->getExternalStatsCollectionRateLimitMs()J
+HPLcom/android/internal/os/BatteryStatsImpl;->getGlobalWifiRunningTime(JI)J
HPLcom/android/internal/os/BatteryStatsImpl;->getGpsBatteryDrainMaMs()J
HPLcom/android/internal/os/BatteryStatsImpl;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
HSPLcom/android/internal/os/BatteryStatsImpl;->getGpsSignalQualityTime(IJI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getHighDischargeAmountSinceCharge()I
-PLcom/android/internal/os/BatteryStatsImpl;->getHistoryBaseTime()J
-PLcom/android/internal/os/BatteryStatsImpl;->getHistoryStringPoolSize()I
-PLcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolString(I)Ljava/lang/String;
-PLcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolUid(I)I
-PLcom/android/internal/os/BatteryStatsImpl;->getInteractiveTime(JI)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryBaseTime()J
+HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryStringPoolSize()I
+HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolString(I)Ljava/lang/String;
+HPLcom/android/internal/os/BatteryStatsImpl;->getHistoryTagPoolUid(I)I
+HPLcom/android/internal/os/BatteryStatsImpl;->getInteractiveTime(JI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getIsOnBattery()Z
HSPLcom/android/internal/os/BatteryStatsImpl;->getKernelMemoryStats()Landroid/util/LongSparseArray;
-PLcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockStats()Ljava/util/Map;
+HPLcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockStats()Ljava/util/Map;
HSPLcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-PLcom/android/internal/os/BatteryStatsImpl;->getLongestDeviceIdleModeTime(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getLongestDeviceIdleModeTime(I)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getLowDischargeAmountSinceCharge()I
-PLcom/android/internal/os/BatteryStatsImpl;->getMaxLearnedBatteryCapacity()I
-PLcom/android/internal/os/BatteryStatsImpl;->getMinLearnedBatteryCapacity()I
+HPLcom/android/internal/os/BatteryStatsImpl;->getMaxLearnedBatteryCapacity()I
+HPLcom/android/internal/os/BatteryStatsImpl;->getMinLearnedBatteryCapacity()I
HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileIfaces()[Ljava/lang/String;
-PLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveAdjustedTime(I)J
-PLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveCount(I)I
+HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveAdjustedTime(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveCount(I)I
HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveTime(JI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownCount(I)I
-PLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownTime(I)J
-PLcom/android/internal/os/BatteryStatsImpl;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
+HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownTime(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
HPLcom/android/internal/os/BatteryStatsImpl;->getNetworkActivityBytes(II)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getNetworkActivityPackets(II)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
-PLcom/android/internal/os/BatteryStatsImpl;->getNumConnectivityChange(I)I
+HPLcom/android/internal/os/BatteryStatsImpl;->getNumConnectivityChange(I)I
HSPLcom/android/internal/os/BatteryStatsImpl;->getPackageStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
-PLcom/android/internal/os/BatteryStatsImpl;->getParcelVersion()I
+HPLcom/android/internal/os/BatteryStatsImpl;->getParcelVersion()I
HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionCount(II)I
HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionTime(IJI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneOnTime(JI)J
@@ -20054,33 +20938,33 @@
HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthCount(II)I
HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTime(IJI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getPowerManagerWakeLockLevel(I)I
-PLcom/android/internal/os/BatteryStatsImpl;->getPowerSaveModeEnabledTime(JI)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getPowerSaveModeEnabledTime(JI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
-PLcom/android/internal/os/BatteryStatsImpl;->getRpmStats()Ljava/util/Map;
+HPLcom/android/internal/os/BatteryStatsImpl;->getRpmStats()Ljava/util/Map;
HSPLcom/android/internal/os/BatteryStatsImpl;->getRpmTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
HSPLcom/android/internal/os/BatteryStatsImpl;->getScreenBrightnessTime(IJI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getScreenDozeTime(JI)J
-PLcom/android/internal/os/BatteryStatsImpl;->getScreenOffRpmStats()Ljava/util/Map;
+HPLcom/android/internal/os/BatteryStatsImpl;->getScreenOffRpmStats()Ljava/util/Map;
HSPLcom/android/internal/os/BatteryStatsImpl;->getScreenOnTime(JI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getServiceStatsLocked(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
HSPLcom/android/internal/os/BatteryStatsImpl;->getStartClockTime()J
-PLcom/android/internal/os/BatteryStatsImpl;->getStartCount()I
-PLcom/android/internal/os/BatteryStatsImpl;->getStartPlatformVersion()Ljava/lang/String;
-PLcom/android/internal/os/BatteryStatsImpl;->getUahDischarge(I)J
-PLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeDeepDoze(I)J
-PLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeLightDoze(I)J
-PLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenDoze(I)J
-PLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenOff(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getStartCount()I
+HPLcom/android/internal/os/BatteryStatsImpl;->getStartPlatformVersion()Ljava/lang/String;
+HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischarge(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeDeepDoze(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeLightDoze(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenDoze(I)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenOff(I)J
HSPLcom/android/internal/os/BatteryStatsImpl;->getUidStats()Landroid/util/SparseArray;
HSPLcom/android/internal/os/BatteryStatsImpl;->getUidStatsLocked(I)Lcom/android/internal/os/BatteryStatsImpl$Uid;
-PLcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonStats()Ljava/util/Map;
+HPLcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonStats()Ljava/util/Map;
HSPLcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
-PLcom/android/internal/os/BatteryStatsImpl;->getWifiActiveTime(JI)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getWifiActiveTime(JI)J
HPLcom/android/internal/os/BatteryStatsImpl;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
HSPLcom/android/internal/os/BatteryStatsImpl;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-PLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockCount(I)I
-PLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockTime(JI)J
-PLcom/android/internal/os/BatteryStatsImpl;->getWifiOnTime(JI)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockCount(I)I
+HPLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockTime(JI)J
+HPLcom/android/internal/os/BatteryStatsImpl;->getWifiOnTime(JI)J
HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSignalStrengthCount(II)I
HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSignalStrengthTime(IJI)J
HPLcom/android/internal/os/BatteryStatsImpl;->getWifiStateCount(II)I
@@ -20089,6 +20973,7 @@
HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateTime(IJI)J
HSPLcom/android/internal/os/BatteryStatsImpl;->hasBluetoothActivityReporting()Z
HSPLcom/android/internal/os/BatteryStatsImpl;->hasWifiActivityReporting()Z
+HSPLcom/android/internal/os/BatteryStatsImpl;->init(Lcom/android/internal/os/BatteryStatsImpl$Clocks;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->initActiveHistoryEventsLocked(JJ)V
HSPLcom/android/internal/os/BatteryStatsImpl;->initDischarge()V
HSPLcom/android/internal/os/BatteryStatsImpl;->initTimes(JJ)V
@@ -20114,22 +20999,22 @@
HPLcom/android/internal/os/BatteryStatsImpl;->noteAudioOnLocked(I)V
HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanResultsFromSourceLocked(Landroid/os/WorkSource;I)V
HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStartedFromSourceLocked(Landroid/os/WorkSource;Z)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStartedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStartedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStoppedFromSourceLocked(Landroid/os/WorkSource;Z)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStoppedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteCameraOffLocked(I)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteCameraOnLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanStoppedLocked(Landroid/os/WorkSource$WorkChain;IZ)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteCameraOffLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteCameraOnLocked(I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteChangeWakelockFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteConnectivityChangedLocked(ILjava/lang/String;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteCurrentTimeChangedLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteDeviceIdleModeLocked(ILjava/lang/String;I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteEventLocked(ILjava/lang/String;I)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredFromSourceLocked(Landroid/os/WorkSource;)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredLocked(I)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedFromSourceLocked(Landroid/os/WorkSource;)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredFromSourceLocked(Landroid/os/WorkSource;)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockAcquiredLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedFromSourceLocked(Landroid/os/WorkSource;)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteFullWifiLockReleasedLocked(I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteGpsChangedLocked(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteGpsSignalQualityLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteGpsSignalQualityLocked(I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteInteractiveLocked(Z)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;II)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteJobStartLocked(Ljava/lang/String;I)V
@@ -20142,13 +21027,15 @@
HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteMobileRadioPowerStateLocked(IJI)Z
HSPLcom/android/internal/os/BatteryStatsImpl;->noteNetworkInterfaceTypeLocked(Ljava/lang/String;I)V
-PLcom/android/internal/os/BatteryStatsImpl;->notePackageInstalledLocked(Ljava/lang/String;J)V
+HPLcom/android/internal/os/BatteryStatsImpl;->notePackageInstalledLocked(Ljava/lang/String;J)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->notePackageUninstalledLocked(Ljava/lang/String;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneDataConnectionStateLocked(IZ)V
HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneOffLocked()V
-PLcom/android/internal/os/BatteryStatsImpl;->notePhoneOnLocked()V
+HPLcom/android/internal/os/BatteryStatsImpl;->notePhoneOnLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneSignalStrengthLocked(Landroid/telephony/SignalStrength;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneStateLocked(II)V
HSPLcom/android/internal/os/BatteryStatsImpl;->notePowerSaveModeLocked(Z)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteProcessAnrLocked(Ljava/lang/String;I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessCrashLocked(Ljava/lang/String;I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessDiedLocked(II)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteProcessFinishLocked(Ljava/lang/String;I)V
@@ -20171,8 +21058,8 @@
HSPLcom/android/internal/os/BatteryStatsImpl;->noteUserActivityLocked(II)V
HPLcom/android/internal/os/BatteryStatsImpl;->noteVibratorOffLocked(I)V
HPLcom/android/internal/os/BatteryStatsImpl;->noteVibratorOnLocked(IJ)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteVideoOffLocked(I)V
-PLcom/android/internal/os/BatteryStatsImpl;->noteVideoOnLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteVideoOffLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteVideoOnLocked(I)V
HPLcom/android/internal/os/BatteryStatsImpl;->noteWakeUpLocked(Ljava/lang/String;I)V
HPLcom/android/internal/os/BatteryStatsImpl;->noteWakeupReasonLocked(Ljava/lang/String;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
@@ -20190,12 +21077,14 @@
HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiStateLocked(ILjava/lang/String;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiSupplicantStateChangedLocked(IZ)V
HSPLcom/android/internal/os/BatteryStatsImpl;->postBatteryNeedsCpuUpdateMsg()V
-PLcom/android/internal/os/BatteryStatsImpl;->prepareForDumpLocked()V
+HPLcom/android/internal/os/BatteryStatsImpl;->prepareForDumpLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl;->pullPendingStateUpdatesLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyItemTagDetailsLocked(Lorg/xmlpull/v1/XmlPullParser;Landroid/os/BatteryStats$DailyItem;ZLjava/lang/String;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyItemTagLocked(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyItemsLocked(Lorg/xmlpull/v1/XmlPullParser;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->readDailyStatsLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->readFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->readFromParcelLocked(Landroid/os/Parcel;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->readHistoryBuffer(Landroid/os/Parcel;Z)V
HSPLcom/android/internal/os/BatteryStatsImpl;->readHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuActiveTimesLocked(Z)V
@@ -20210,8 +21099,9 @@
HSPLcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl;->registerUsbStateReceiver(Landroid/content/Context;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->removeIsolatedUidLocked(I)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->removeUidStatsLocked(I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->reportChangesToStatsLog(Landroid/os/BatteryStats$HistoryItem;III)V
-PLcom/android/internal/os/BatteryStatsImpl;->reportExcessiveCpuLocked(ILjava/lang/String;JJ)V
+HPLcom/android/internal/os/BatteryStatsImpl;->reportExcessiveCpuLocked(ILjava/lang/String;JJ)V
HSPLcom/android/internal/os/BatteryStatsImpl;->resetAllStatsLocked()V
HSPLcom/android/internal/os/BatteryStatsImpl;->scheduleRemoveIsolatedUidLocked(II)V
HSPLcom/android/internal/os/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIII)V
@@ -20224,7 +21114,7 @@
HSPLcom/android/internal/os/BatteryStatsImpl;->startAddingCpuLocked()Z
HSPLcom/android/internal/os/BatteryStatsImpl;->startIteratingHistoryLocked()Z
HSPLcom/android/internal/os/BatteryStatsImpl;->startRecordingHistory(JJZ)V
-PLcom/android/internal/os/BatteryStatsImpl;->stopAllGpsSignalQualityTimersLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->stopAllGpsSignalQualityTimersLocked(I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->stopAllPhoneSignalStrengthTimersLocked(I)V
HSPLcom/android/internal/os/BatteryStatsImpl;->systemServicesReady(Landroid/content/Context;)V
HSPLcom/android/internal/os/BatteryStatsImpl;->trackPerProcStateCpuTimes()Z
@@ -20255,20 +21145,20 @@
HSPLcom/android/internal/os/BatteryStatsImpl;->writeParcelToFileLocked(Landroid/os/Parcel;Lcom/android/internal/os/AtomicFile;Z)V
HSPLcom/android/internal/os/BatteryStatsImpl;->writeStatsLocked(Z)V
HSPLcom/android/internal/os/BatteryStatsImpl;->writeSummaryToParcel(Landroid/os/Parcel;Z)V
-PLcom/android/internal/os/BatteryStatsImpl;->writeToParcel(Landroid/os/Parcel;I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->writeToParcel(Landroid/os/Parcel;I)V
HPLcom/android/internal/os/BatteryStatsImpl;->writeToParcelLocked(Landroid/os/Parcel;ZI)V
HSPLcom/android/internal/os/BinderCallsStats$CallStatKey;-><init>()V
HSPLcom/android/internal/os/BinderCallsStats$CallStatKey;->equals(Ljava/lang/Object;)Z
HSPLcom/android/internal/os/BinderCallsStats$CallStatKey;->hashCode()I
HSPLcom/android/internal/os/BinderCallsStats$Injector;->getRandomGenerator()Ljava/util/Random;
HSPLcom/android/internal/os/BinderCallsStats$UidEntry;->get(ILjava/lang/Class;IZ)Lcom/android/internal/os/BinderCallsStats$CallStat;
-PLcom/android/internal/os/BinderCallsStats$UidEntry;->getCallStatsList()Ljava/util/Collection;
+HPLcom/android/internal/os/BinderCallsStats$UidEntry;->getCallStatsList()Ljava/util/Collection;
HSPLcom/android/internal/os/BinderCallsStats$UidEntry;->getOrCreate(ILjava/lang/Class;IZZ)Lcom/android/internal/os/BinderCallsStats$CallStat;
HSPLcom/android/internal/os/BinderCallsStats;-><init>(Lcom/android/internal/os/BinderCallsStats$Injector;)V
HSPLcom/android/internal/os/BinderCallsStats;->callEnded(Lcom/android/internal/os/BinderInternal$CallSession;III)V
HSPLcom/android/internal/os/BinderCallsStats;->callStarted(Landroid/os/Binder;II)Lcom/android/internal/os/BinderInternal$CallSession;
HSPLcom/android/internal/os/BinderCallsStats;->callThrewException(Lcom/android/internal/os/BinderInternal$CallSession;Ljava/lang/Exception;)V
-PLcom/android/internal/os/BinderCallsStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/BinderCallsStats$ExportedCallStat;
+HPLcom/android/internal/os/BinderCallsStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/BinderCallsStats$ExportedCallStat;
HSPLcom/android/internal/os/BinderCallsStats;->getCallingUid()I
HPLcom/android/internal/os/BinderCallsStats;->getDefaultTransactionNameMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;
HSPLcom/android/internal/os/BinderCallsStats;->getElapsedRealtimeMicro()J
@@ -20300,7 +21190,7 @@
HSPLcom/android/internal/os/BluetoothPowerCalculator;->reset()V
HSPLcom/android/internal/os/CachedDeviceState$Readonly;->createTimeOnBatteryStopwatch()Lcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;
HSPLcom/android/internal/os/CachedDeviceState$Readonly;->isCharging()Z
-PLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->getMillis()J
+HPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->getMillis()J
HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->isRunning()Z
HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->reset()V
HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->start()V
@@ -20334,9 +21224,10 @@
HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOO(ILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOOOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+HSPLcom/android/internal/os/HandlerCaller;->sendMessage(Landroid/os/Message;)V
HSPLcom/android/internal/os/IDropBoxManagerService$Stub;-><init>()V
HSPLcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
-PLcom/android/internal/os/IDropBoxManagerService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/os/IDropBoxManagerService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLcom/android/internal/os/IDropBoxManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HPLcom/android/internal/os/IResultReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLcom/android/internal/os/IResultReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
@@ -20360,7 +21251,7 @@
HPLcom/android/internal/os/KernelCpuThreadReader$Injector;->getUidForPid(I)I
HPLcom/android/internal/os/KernelCpuThreadReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
HSPLcom/android/internal/os/KernelCpuThreadReader;->create(ILjava/util/function/Predicate;I)Lcom/android/internal/os/KernelCpuThreadReader;
-PLcom/android/internal/os/KernelCpuThreadReader;->getCpuFrequenciesKhz()[I
+HPLcom/android/internal/os/KernelCpuThreadReader;->getCpuFrequenciesKhz()[I
HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessCpuUsage()Ljava/util/ArrayList;
HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessCpuUsage(Ljava/nio/file/Path;II)Lcom/android/internal/os/KernelCpuThreadReader$ProcessCpuUsage;
HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessId(Ljava/nio/file/Path;)I
@@ -20394,7 +21285,7 @@
HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->removeUid(I)V
HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->removeUidsFromKernelModule(II)V
HSPLcom/android/internal/os/KernelCpuUidTimeReader;-><init>(Lcom/android/internal/os/KernelCpuProcStringReader;Z)V
-PLcom/android/internal/os/KernelCpuUidTimeReader;->readAbsolute(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HPLcom/android/internal/os/KernelCpuUidTimeReader;->readAbsolute(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
HSPLcom/android/internal/os/KernelCpuUidTimeReader;->readDelta(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
HPLcom/android/internal/os/KernelCpuUidTimeReader;->removeUid(I)V
HSPLcom/android/internal/os/KernelCpuUidTimeReader;->setThrottle(J)V
@@ -20411,13 +21302,13 @@
HSPLcom/android/internal/os/LooperStats$Entry;->reset()V
HPLcom/android/internal/os/LooperStats$ExportedEntry;-><init>(Lcom/android/internal/os/LooperStats$Entry;)V
HSPLcom/android/internal/os/LooperStats;-><init>(II)V
-PLcom/android/internal/os/LooperStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/LooperStats$ExportedEntry;
+HPLcom/android/internal/os/LooperStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/LooperStats$ExportedEntry;
HSPLcom/android/internal/os/LooperStats;->findEntry(Landroid/os/Message;Z)Lcom/android/internal/os/LooperStats$Entry;
HSPLcom/android/internal/os/LooperStats;->getElapsedRealtimeMicro()J
HPLcom/android/internal/os/LooperStats;->getEntries()Ljava/util/List;
HSPLcom/android/internal/os/LooperStats;->getSystemUptimeMillis()J
HSPLcom/android/internal/os/LooperStats;->getThreadTimeMicro()J
-PLcom/android/internal/os/LooperStats;->maybeAddSpecialEntry(Ljava/util/List;Lcom/android/internal/os/LooperStats$Entry;)V
+HPLcom/android/internal/os/LooperStats;->maybeAddSpecialEntry(Ljava/util/List;Lcom/android/internal/os/LooperStats$Entry;)V
HSPLcom/android/internal/os/LooperStats;->messageDispatchStarting()Ljava/lang/Object;
HSPLcom/android/internal/os/LooperStats;->messageDispatched(Ljava/lang/Object;Landroid/os/Message;)V
HSPLcom/android/internal/os/LooperStats;->reset()V
@@ -20454,8 +21345,11 @@
HPLcom/android/internal/os/ProcTimeInStateReader;->getUsageTimesMillis(Ljava/nio/file/Path;)[J
HSPLcom/android/internal/os/ProcTimeInStateReader;->initializeTimeInStateFormat(Ljava/nio/file/Path;)V
HSPLcom/android/internal/os/ProcessCpuTracker$1;-><init>()V
+HPLcom/android/internal/os/ProcessCpuTracker$1;->compare(Lcom/android/internal/os/ProcessCpuTracker$Stats;Lcom/android/internal/os/ProcessCpuTracker$Stats;)I
+HPLcom/android/internal/os/ProcessCpuTracker$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLcom/android/internal/os/ProcessCpuTracker$Stats;-><init>(IIZ)V
HSPLcom/android/internal/os/ProcessCpuTracker;-><init>(Z)V
+HPLcom/android/internal/os/ProcessCpuTracker;->buildWorkingProcs()V
HSPLcom/android/internal/os/ProcessCpuTracker;->collectStats(Ljava/lang/String;IZ[ILjava/util/ArrayList;)[I
HSPLcom/android/internal/os/ProcessCpuTracker;->countStats()I
HSPLcom/android/internal/os/ProcessCpuTracker;->getCpuTimeForPid(I)J
@@ -20465,6 +21359,10 @@
HSPLcom/android/internal/os/ProcessCpuTracker;->init()V
HSPLcom/android/internal/os/ProcessCpuTracker;->onLoadChanged(FFF)V
HSPLcom/android/internal/os/ProcessCpuTracker;->onMeasureProcessName(Ljava/lang/String;)I
+HPLcom/android/internal/os/ProcessCpuTracker;->printCurrentLoad()Ljava/lang/String;
+HPLcom/android/internal/os/ProcessCpuTracker;->printCurrentState(J)Ljava/lang/String;
+HPLcom/android/internal/os/ProcessCpuTracker;->printProcessCPU(Ljava/io/PrintWriter;Ljava/lang/String;ILjava/lang/String;IIIIIIII)V
+HPLcom/android/internal/os/ProcessCpuTracker;->printRatio(Ljava/io/PrintWriter;JJ)V
HSPLcom/android/internal/os/ProcessCpuTracker;->update()V
HSPLcom/android/internal/os/RailStats;-><init>()V
HSPLcom/android/internal/os/RailStats;->setRailStatsAvailability(Z)V
@@ -20509,6 +21407,7 @@
HSPLcom/android/internal/os/Zygote;->callPostForkChildHooks(IZZLjava/lang/String;)V
HSPLcom/android/internal/os/Zygote;->callPostForkSystemServerHooks()V
HSPLcom/android/internal/os/Zygote;->createManagedSocketFromInitSocket(Ljava/lang/String;)Landroid/net/LocalServerSocket;
+HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)I
HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;I)I
HSPLcom/android/internal/os/Zygote;->getConfigurationProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/os/Zygote;->getConfigurationPropertyBoolean(Ljava/lang/String;Ljava/lang/Boolean;)Z
@@ -20526,7 +21425,10 @@
HSPLcom/android/internal/os/ZygoteConnection;->handleChildProc(Lcom/android/internal/os/ZygoteArguments;[Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Z)Ljava/lang/Runnable;
HSPLcom/android/internal/os/ZygoteConnection;->handleHiddenApiAccessLogSampleRate(Lcom/android/internal/os/ZygoteServer;II)Ljava/lang/Runnable;
HSPLcom/android/internal/os/ZygoteConnection;->handleParentProc(I[Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
+HSPLcom/android/internal/os/ZygoteConnection;->handlePreload()V
HSPLcom/android/internal/os/ZygoteConnection;->isClosedByPeer()Z
+HSPLcom/android/internal/os/ZygoteConnection;->isPreloadComplete()Z
+HSPLcom/android/internal/os/ZygoteConnection;->preload()V
HSPLcom/android/internal/os/ZygoteConnection;->processOneCommand(Lcom/android/internal/os/ZygoteServer;)Ljava/lang/Runnable;
HSPLcom/android/internal/os/ZygoteConnection;->setChildPgid(I)V
HSPLcom/android/internal/os/ZygoteConnection;->stateChangeWithUsapPoolReset(Lcom/android/internal/os/ZygoteServer;Ljava/lang/Runnable;)Ljava/lang/Runnable;
@@ -20559,11 +21461,12 @@
HSPLcom/android/internal/policy/DecorView$1;-><init>()V
HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;-><init>(IIIIILjava/lang/String;IILcom/android/internal/policy/DecorView$1;)V
HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isPresent(IIZ)Z
-PLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(IIIZ)Z
+HPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(IIIZ)Z
HSPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(ZIIZ)Z
HSPLcom/android/internal/policy/DecorView;-><init>(Landroid/content/Context;ILcom/android/internal/policy/PhoneWindow;Landroid/view/WindowManager$LayoutParams;)V
HSPLcom/android/internal/policy/DecorView;->createDecorCaptionView(Landroid/view/LayoutInflater;)Lcom/android/internal/widget/DecorCaptionView;
HSPLcom/android/internal/policy/DecorView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+HSPLcom/android/internal/policy/DecorView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
HSPLcom/android/internal/policy/DecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
HSPLcom/android/internal/policy/DecorView;->draw(Landroid/graphics/Canvas;)V
HSPLcom/android/internal/policy/DecorView;->drawResizingShadowIfNeeded(Landroid/graphics/RecordingCanvas;)V
@@ -20574,7 +21477,7 @@
HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Landroid/graphics/Region;)Z
HSPLcom/android/internal/policy/DecorView;->gatherTransparentRegion(Lcom/android/internal/policy/DecorView$ColorViewState;Landroid/graphics/Region;)Z
HSPLcom/android/internal/policy/DecorView;->getAccessibilityViewId()I
-PLcom/android/internal/policy/DecorView;->getNavigationBarRect(IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+HPLcom/android/internal/policy/DecorView;->getNavigationBarRect(IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
HSPLcom/android/internal/policy/DecorView;->getResources()Landroid/content/res/Resources;
HSPLcom/android/internal/policy/DecorView;->initResizingPaints()V
HSPLcom/android/internal/policy/DecorView;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
@@ -20652,6 +21555,7 @@
HSPLcom/android/internal/policy/PhoneWindow$RotationWatcher;-><init>()V
HSPLcom/android/internal/policy/PhoneWindow;-><init>(Landroid/content/Context;)V
HSPLcom/android/internal/policy/PhoneWindow;-><init>(Landroid/content/Context;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;)V
+HSPLcom/android/internal/policy/PhoneWindow;->alwaysReadCloseOnTouchAttr()V
HSPLcom/android/internal/policy/PhoneWindow;->closeAllPanels()V
HSPLcom/android/internal/policy/PhoneWindow;->closeContextMenu()V
HSPLcom/android/internal/policy/PhoneWindow;->closePanel(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;Z)V
@@ -20666,12 +21570,14 @@
HSPLcom/android/internal/policy/PhoneWindow;->getPanelState(IZ)Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
HSPLcom/android/internal/policy/PhoneWindow;->getPanelState(IZLcom/android/internal/policy/PhoneWindow$PanelFeatureState;)Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
HSPLcom/android/internal/policy/PhoneWindow;->getTransition(Landroid/transition/Transition;Landroid/transition/Transition;I)Landroid/transition/Transition;
+HSPLcom/android/internal/policy/PhoneWindow;->getVolumeControlStream()I
HSPLcom/android/internal/policy/PhoneWindow;->installDecor()V
HSPLcom/android/internal/policy/PhoneWindow;->invalidatePanelMenu(I)V
HSPLcom/android/internal/policy/PhoneWindow;->isFloating()Z
HSPLcom/android/internal/policy/PhoneWindow;->isShowingWallpaper()Z
HSPLcom/android/internal/policy/PhoneWindow;->isTranslucent()Z
HSPLcom/android/internal/policy/PhoneWindow;->onActive()V
+HSPLcom/android/internal/policy/PhoneWindow;->onKeyDown(IILandroid/view/KeyEvent;)Z
HSPLcom/android/internal/policy/PhoneWindow;->onKeyUp(IILandroid/view/KeyEvent;)Z
HSPLcom/android/internal/policy/PhoneWindow;->onViewRootImplSet(Landroid/view/ViewRootImpl;)V
HSPLcom/android/internal/policy/PhoneWindow;->openPanelsAfterRestore()V
@@ -20732,6 +21638,7 @@
PLcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;->values()[Lcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;
HPLcom/android/internal/statusbar/NotificationVisibility;->readFromParcel(Landroid/os/Parcel;)V
HSPLcom/android/internal/statusbar/NotificationVisibility;->recycle()V
+HSPLcom/android/internal/statusbar/StatusBarIcon;-><init>(Landroid/os/UserHandle;Ljava/lang/String;Landroid/graphics/drawable/Icon;IILjava/lang/CharSequence;)V
PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->addConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZLandroid/telecom/Logging/Session$Info;)V
PLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->createConnectionComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
@@ -20749,6 +21656,7 @@
PLcom/android/internal/telecom/IInCallService$Stub$Proxy;->setInCallAdapter(Lcom/android/internal/telecom/IInCallAdapter;)V
HPLcom/android/internal/telecom/IInCallService$Stub$Proxy;->updateCall(Landroid/telecom/ParcelableCall;)V
PLcom/android/internal/telecom/IInCallService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IInCallService;
+HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallCapablePhoneAccounts(ZLjava/lang/String;)Ljava/util/List;
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallState()I
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCurrentTtyMode(Ljava/lang/String;)I
@@ -20759,10 +21667,12 @@
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSystemDialerPackage()Ljava/lang/String;
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getUserSelectedOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInCall(Ljava/lang/String;)Z
+HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
HSPLcom/android/internal/telecom/ITelecomService$Stub;-><init>()V
HSPLcom/android/internal/telecom/ITelecomService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ITelecomService;
+HPLcom/android/internal/telecom/ITelecomService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLcom/android/internal/telecom/ITelecomService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/telecom/IVideoProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IVideoProvider;
PLcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;->onResult(Ljava/util/List;Ljava/util/List;)V
@@ -20868,11 +21778,14 @@
HSPLcom/android/internal/telephony/BaseCommands;->unregisterForCallWaitingInfo(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/BaseCommands;->unregisterForCdmaOtaProvision(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/BaseCommands;->unregisterForCdmaPrlChanged(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unregisterForInCallVoicePrivacyOff(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unregisterForInCallVoicePrivacyOn(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/BaseCommands;->unregisterForLceInfo(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/BaseCommands;->unregisterForNattKeepaliveStatus(Landroid/os/Handler;)V
PLcom/android/internal/telephony/BlockChecker;->getBlockStatus(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)I
HSPLcom/android/internal/telephony/Call$SrvccState;-><init>(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/Call$State;-><init>(Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/Call$State;->isRinging()Z
HSPLcom/android/internal/telephony/Call$State;->values()[Lcom/android/internal/telephony/Call$State;
HSPLcom/android/internal/telephony/Call;->clearDisconnected()V
HSPLcom/android/internal/telephony/Call;->getEarliestConnection()Lcom/android/internal/telephony/Connection;
@@ -20882,7 +21795,13 @@
HSPLcom/android/internal/telephony/Call;->setState(Lcom/android/internal/telephony/Call$State;)V
HSPLcom/android/internal/telephony/CallManager$CallManagerHandler;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/CallManager;-><init>()V
+HPLcom/android/internal/telephony/CallManager;->getActiveFgCall(I)Lcom/android/internal/telephony/Call;
+HPLcom/android/internal/telephony/CallManager;->getActiveFgCallState(I)Lcom/android/internal/telephony/Call$State;
+HPLcom/android/internal/telephony/CallManager;->getFirstNonIdleCall(Ljava/util/List;I)Lcom/android/internal/telephony/Call;
HSPLcom/android/internal/telephony/CallManager;->getInstance()Lcom/android/internal/telephony/CallManager;
+HPLcom/android/internal/telephony/CallManager;->getPhone(I)Lcom/android/internal/telephony/Phone;
+HPLcom/android/internal/telephony/CallManager;->hasActiveFgCall()Z
+HPLcom/android/internal/telephony/CallManager;->hasMoreThanOneRingingCall()Z
HSPLcom/android/internal/telephony/CallManager;->registerForDisconnect(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/CallManager;->registerForDisplayInfo(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/CallManager;->registerForInCallVoicePrivacyOff(Landroid/os/Handler;ILjava/lang/Object;)V
@@ -20895,9 +21814,10 @@
HSPLcom/android/internal/telephony/CallManager;->registerPhone(Lcom/android/internal/telephony/Phone;)Z
HSPLcom/android/internal/telephony/CallTracker;->handleRadioAvailable()V
HSPLcom/android/internal/telephony/CallTracker;->pollCallsWhenSafe()V
-PLcom/android/internal/telephony/CallerInfo;->doSecondaryLookupIfNecessary(Landroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfo;)Lcom/android/internal/telephony/CallerInfo;
-PLcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Landroid/net/Uri;Landroid/database/Cursor;)Lcom/android/internal/telephony/CallerInfo;
-PLcom/android/internal/telephony/CallerInfo;->getCurrentCountryIso(Landroid/content/Context;Ljava/util/Locale;)Ljava/lang/String;
+HPLcom/android/internal/telephony/CallerInfo;->doSecondaryLookupIfNecessary(Landroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfo;)Lcom/android/internal/telephony/CallerInfo;
+HPLcom/android/internal/telephony/CallerInfo;->getCallerInfo(Landroid/content/Context;Landroid/net/Uri;Landroid/database/Cursor;)Lcom/android/internal/telephony/CallerInfo;
+HPLcom/android/internal/telephony/CallerInfo;->getCurrentCountryIso(Landroid/content/Context;Ljava/util/Locale;)Ljava/lang/String;
+HPLcom/android/internal/telephony/CallerInfo;->getGeoDescription(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
HPLcom/android/internal/telephony/CallerInfo;->toString()Ljava/lang/String;
PLcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler$1;->run()V
HPLcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler$CallerInfoWorkerHandler;->handleMessage(Landroid/os/Message;)V
@@ -20955,7 +21875,7 @@
HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->unbind(Z)V
HSPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->evaluateBinding(Ljava/lang/String;Z)V
HSPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/CarrierServiceBindHelper;-><init>(Landroid/content/Context;)V
HSPLcom/android/internal/telephony/CarrierServiceBindHelper;->updateForPhoneId(ILjava/lang/String;)V
HSPLcom/android/internal/telephony/CarrierServiceStateTracker$1;->onSubscriptionsChanged()V
@@ -21011,13 +21931,43 @@
HSPLcom/android/internal/telephony/CommandException$Error;-><init>(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/CommandException;->fromRilErrno(I)Lcom/android/internal/telephony/CommandException;
HSPLcom/android/internal/telephony/CommandException;->getCommandError()Lcom/android/internal/telephony/CommandException$Error;
+HPLcom/android/internal/telephony/Connection;-><init>(I)V
+HPLcom/android/internal/telephony/Connection;->addListener(Lcom/android/internal/telephony/Connection$Listener;)V
+HPLcom/android/internal/telephony/Connection;->addPostDialListener(Lcom/android/internal/telephony/Connection$PostDialListener;)V
+HPLcom/android/internal/telephony/Connection;->getAddress()Ljava/lang/String;
+HPLcom/android/internal/telephony/Connection;->getAudioModeIsVoip()Z
+HPLcom/android/internal/telephony/Connection;->getAudioQuality()I
+HPLcom/android/internal/telephony/Connection;->getCallRadioTech()I
+HPLcom/android/internal/telephony/Connection;->getCnapName()Ljava/lang/String;
+HPLcom/android/internal/telephony/Connection;->getCnapNamePresentation()I
+HPLcom/android/internal/telephony/Connection;->getConnectTime()J
+HPLcom/android/internal/telephony/Connection;->getConnectionCapabilities()I
+HPLcom/android/internal/telephony/Connection;->getConnectionExtras()Landroid/os/Bundle;
+HPLcom/android/internal/telephony/Connection;->getCreateTime()J
+HPLcom/android/internal/telephony/Connection;->getDisconnectCause()I
+HPLcom/android/internal/telephony/Connection;->getPhoneType()I
+HPLcom/android/internal/telephony/Connection;->getPostDialState()Lcom/android/internal/telephony/Connection$PostDialState;
+HPLcom/android/internal/telephony/Connection;->getTelecomCallId()Ljava/lang/String;
+HPLcom/android/internal/telephony/Connection;->getVideoProvider()Landroid/telecom/Connection$VideoProvider;
+HPLcom/android/internal/telephony/Connection;->getVideoState()I
+HPLcom/android/internal/telephony/Connection;->isActiveCallDisconnectedOnAnswer()Z
+HPLcom/android/internal/telephony/Connection;->isIncoming()Z
+HPLcom/android/internal/telephony/Connection;->isNetworkIdentifiedEmergencyCall()Z
+HPLcom/android/internal/telephony/Connection;->isPulledCall()Z
+HPLcom/android/internal/telephony/Connection;->notifyDisconnect(I)V
+HPLcom/android/internal/telephony/Connection;->removeListener(Lcom/android/internal/telephony/Connection$Listener;)V
+HPLcom/android/internal/telephony/Connection;->removePostDialListener(Lcom/android/internal/telephony/Connection$PostDialListener;)V
+HPLcom/android/internal/telephony/Connection;->setAudioQuality(I)V
+HPLcom/android/internal/telephony/Connection;->setCallRadioTech(I)V
+HPLcom/android/internal/telephony/Connection;->setTelecomCallId(Ljava/lang/String;)V
+HPLcom/android/internal/telephony/Connection;->shouldAllowAddCallDuringVideoCall()Z
HSPLcom/android/internal/telephony/DctConstants$Activity;-><init>(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/DctConstants$Activity;->values()[Lcom/android/internal/telephony/DctConstants$Activity;
HSPLcom/android/internal/telephony/DctConstants$State;-><init>(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/DctConstants$State;->values()[Lcom/android/internal/telephony/DctConstants$State;
HSPLcom/android/internal/telephony/DebugService;-><init>()V
-PLcom/android/internal/telephony/DebugService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/internal/telephony/DefaultPhoneNotifier;->convertDataActivityState(Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;)I
+HPLcom/android/internal/telephony/DebugService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/DefaultPhoneNotifier;->convertDataActivityState(Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;)I
HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->convertPreciseCallState(Lcom/android/internal/telephony/Call$State;)I
HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->doNotifyDataConnection(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCallForwardingChanged(Lcom/android/internal/telephony/Phone;)V
@@ -21037,7 +21987,7 @@
HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyServiceState(Lcom/android/internal/telephony/Phone;)V
HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifySignalStrength(Lcom/android/internal/telephony/Phone;)V
HSPLcom/android/internal/telephony/DeviceStateMonitor$1;->onAvailable(Landroid/net/Network;)V
-PLcom/android/internal/telephony/DeviceStateMonitor$1;->onLost(Landroid/net/Network;)V
+HPLcom/android/internal/telephony/DeviceStateMonitor$1;->onLost(Landroid/net/Network;)V
HSPLcom/android/internal/telephony/DeviceStateMonitor$2;->onDisplayChanged(I)V
HSPLcom/android/internal/telephony/DeviceStateMonitor$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
HSPLcom/android/internal/telephony/DeviceStateMonitor;-><init>(Lcom/android/internal/telephony/Phone;)V
@@ -21054,12 +22004,15 @@
HSPLcom/android/internal/telephony/ExponentialBackoff;-><init>(JJILandroid/os/Looper;Ljava/lang/Runnable;)V
HSPLcom/android/internal/telephony/ExponentialBackoff;->stop()V
HSPLcom/android/internal/telephony/GlobalSettingsHelper;->getSettingName(Landroid/content/Context;Ljava/lang/String;I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/GlobalSettingsHelper;->setInt(Landroid/content/Context;Ljava/lang/String;II)Z
HSPLcom/android/internal/telephony/GsmAlphabet;->enableCountrySpecificEncodings()V
HSPLcom/android/internal/telephony/GsmAlphabet;->gsm7BitPackedToString([BIIIII)Ljava/lang/String;
HSPLcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BIILjava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/telephony/GsmCdmaCall;->getConnections()Ljava/util/List;
+HPLcom/android/internal/telephony/GsmCdmaCall;->getPhone()Lcom/android/internal/telephony/Phone;
HSPLcom/android/internal/telephony/GsmCdmaCallTracker;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;)V
HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->dispatchCsCallRadioTech(I)V
+HPLcom/android/internal/telephony/GsmCdmaCallTracker;->getPhone()Lcom/android/internal/telephony/GsmCdmaPhone;
HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->handlePollCalls(Landroid/os/AsyncResult;)V
@@ -21079,7 +22032,7 @@
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCallTracker()Lcom/android/internal/telephony/CallTracker;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCarrierId()I
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCarrierInfoForImsiEncryption(I)Landroid/telephony/ImsiEncryptionInfo;
-PLcom/android/internal/telephony/GsmCdmaPhone;->getCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCsCallRadioTech(II)I
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getDataActivityState()Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getDataConnectionState(Ljava/lang/String;)Lcom/android/internal/telephony/PhoneConstants$DataState;
@@ -21092,11 +22045,11 @@
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getGroupIdLevel1()Ljava/lang/String;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getGroupIdLevel2()Ljava/lang/String;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccCard()Lcom/android/internal/telephony/IccCard;
-PLcom/android/internal/telephony/GsmCdmaPhone;->getIccPhoneBookInterfaceManager()Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getIccPhoneBookInterfaceManager()Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccRecordsLoaded()Z
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccSerialNumber()Ljava/lang/String;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIccSmsInterfaceManager()Lcom/android/internal/telephony/IccSmsInterfaceManager;
-PLcom/android/internal/telephony/GsmCdmaPhone;->getImei()Ljava/lang/String;
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getImei()Ljava/lang/String;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getIsimRecords()Lcom/android/internal/telephony/uicc/IsimRecords;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getLine1AlphaTag()Ljava/lang/String;
HSPLcom/android/internal/telephony/GsmCdmaPhone;->getLine1Number()Ljava/lang/String;
@@ -21132,6 +22085,7 @@
HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyCallForwardingIndicator()V
HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyLocationChanged(Landroid/telephony/CellLocation;)V
HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyPhoneStateChanged()V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyPreciseCallStateChanged()V
HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyServiceStateChanged(Landroid/telephony/ServiceState;)V
HSPLcom/android/internal/telephony/GsmCdmaPhone;->onUpdateIccAvailability()V
HSPLcom/android/internal/telephony/GsmCdmaPhone;->phoneObjectUpdater(I)V
@@ -21166,15 +22120,15 @@
HSPLcom/android/internal/telephony/HardwareConfig;->assignSim(Ljava/lang/String;ILjava/lang/String;)V
HSPLcom/android/internal/telephony/HardwareConfig;->toString()Ljava/lang/String;
HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getConfigForSubId(ILjava/lang/String;)Landroid/os/PersistableBundle;
-PLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getDefaultCarrierServicePackageName()Ljava/lang/String;
+HPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getDefaultCarrierServicePackageName()Ljava/lang/String;
HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub;-><init>()V
HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ICarrierConfigLoader;
HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/internal/telephony/IIccPhoneBook$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/telephony/IIccPhoneBook$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
PLcom/android/internal/telephony/IMms$Stub$Proxy;->getAutoPersisting()Z
HSPLcom/android/internal/telephony/IMms$Stub;-><init>()V
HSPLcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms;
-PLcom/android/internal/telephony/IMms$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/telephony/IMms$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->onSubscriptionsChanged()V
HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;-><init>()V
@@ -21207,6 +22161,7 @@
HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub;-><init>()V
HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneSubInfo;
HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/internal/telephony/ISms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISms;
HSPLcom/android/internal/telephony/ISms$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/telephony/ISmsImplBase;-><init>()V
HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubIdList(Z)[I
@@ -21233,6 +22188,8 @@
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataNetworkTypeForSubscriber(ILjava/lang/String;)I
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataState()I
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getEmergencyNumberList(Ljava/lang/String;)Ljava/util/Map;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImeiForSlot(ILjava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1NumberForDisplay(ILjava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMergedSubscriberIds(Ljava/lang/String;)[Ljava/lang/String;
HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
@@ -21277,25 +22234,26 @@
HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;-><init>()V
HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephonyRegistry;
-PLcom/android/internal/telephony/ITelephonyRegistry$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/telephony/IccCard;->getState()Lcom/android/internal/telephony/IccCardConstants$State;
HSPLcom/android/internal/telephony/IccCard;->registerForNetworkLocked(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/IccCardConstants$State;-><init>(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/IccCardConstants$State;->values()[Lcom/android/internal/telephony/IccCardConstants$State;
-PLcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;->notifyPending(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;Ljava/lang/Object;)V
-PLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->checkThread()V
-PLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->getAdnRecordsInEf(I)Ljava/util/List;
-PLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;->notifyPending(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;Ljava/lang/Object;)V
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->checkThread()V
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->getAdnRecordsInEf(I)Ljava/util/List;
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->updateIccRecords(Lcom/android/internal/telephony/uicc/IccRecords;)V
-PLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;)V
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;)V
HSPLcom/android/internal/telephony/IccProvider;-><init>()V
-PLcom/android/internal/telephony/IccProvider;->getRequestSubId(Landroid/net/Uri;)I
+HPLcom/android/internal/telephony/IccProvider;->getRequestSubId(Landroid/net/Uri;)I
HSPLcom/android/internal/telephony/IccProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
-PLcom/android/internal/telephony/IccProvider;->loadFromEf(II)Landroid/database/MatrixCursor;
+HPLcom/android/internal/telephony/IccProvider;->loadFromEf(II)Landroid/database/MatrixCursor;
+HPLcom/android/internal/telephony/IccProvider;->loadRecord(Lcom/android/internal/telephony/uicc/AdnRecord;Landroid/database/MatrixCursor;I)V
HSPLcom/android/internal/telephony/IccProvider;->onCreate()Z
-PLcom/android/internal/telephony/IccProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+HPLcom/android/internal/telephony/IccProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
HSPLcom/android/internal/telephony/IccSmsInterfaceManager$1;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CdmaBroadcastRangeManager;->addRange(IIZ)V
HSPLcom/android/internal/telephony/IccSmsInterfaceManager$CdmaBroadcastRangeManager;->finishUpdate()Z
@@ -21334,14 +22292,18 @@
HSPLcom/android/internal/telephony/InboundSmsHandler$IdleState;->processMessage(Landroid/os/Message;)Z
HSPLcom/android/internal/telephony/InboundSmsHandler$StartupState;->enter()V
HSPLcom/android/internal/telephony/InboundSmsHandler$StartupState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->enter()V
-PLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->exit()V
-PLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->processMessage(Landroid/os/Message;)Z
+HPLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->enter()V
+HPLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->exit()V
+HPLcom/android/internal/telephony/InboundSmsHandler$WaitingState;->processMessage(Landroid/os/Message;)Z
HSPLcom/android/internal/telephony/InboundSmsHandler;-><init>(Ljava/lang/String;Landroid/content/Context;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/CellBroadcastHandler;)V
HSPLcom/android/internal/telephony/InboundSmsHandler;->addTrackerToRawTable(Lcom/android/internal/telephony/InboundSmsTracker;Z)I
HSPLcom/android/internal/telephony/InboundSmsHandler;->addTrackerToRawTableAndSendMessage(Lcom/android/internal/telephony/InboundSmsTracker;Z)I
+HSPLcom/android/internal/telephony/InboundSmsHandler;->checkAndHandleDuplicate(Lcom/android/internal/telephony/InboundSmsTracker;)Z
HSPLcom/android/internal/telephony/InboundSmsHandler;->deleteFromRawTable(Ljava/lang/String;[Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/InboundSmsHandler;->dispatchIntent(Landroid/content/Intent;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;)V
HSPLcom/android/internal/telephony/InboundSmsHandler;->dispatchMessage(Lcom/android/internal/telephony/SmsMessageBase;)I
+HSPLcom/android/internal/telephony/InboundSmsHandler;->dispatchNormalMessage(Lcom/android/internal/telephony/SmsMessageBase;)I
+HPLcom/android/internal/telephony/InboundSmsHandler;->filterSms([[BILcom/android/internal/telephony/InboundSmsTracker;Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;Z)Z
HSPLcom/android/internal/telephony/InboundSmsHandler;->getPhone()Lcom/android/internal/telephony/Phone;
HSPLcom/android/internal/telephony/InboundSmsHandler;->getWakeLockTimeout()I
HSPLcom/android/internal/telephony/InboundSmsHandler;->log(Ljava/lang/String;)V
@@ -21439,7 +22401,7 @@
HSPLcom/android/internal/telephony/Phone;->getCarrierActionAgent()Lcom/android/internal/telephony/CarrierActionAgent;
HSPLcom/android/internal/telephony/Phone;->getCarrierSignalAgent()Lcom/android/internal/telephony/CarrierSignalAgent;
HSPLcom/android/internal/telephony/Phone;->getContext()Landroid/content/Context;
-PLcom/android/internal/telephony/Phone;->getCurrentUiccAppType()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
+HPLcom/android/internal/telephony/Phone;->getCurrentUiccAppType()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
HSPLcom/android/internal/telephony/Phone;->getDataConnectionState()Lcom/android/internal/telephony/PhoneConstants$DataState;
HSPLcom/android/internal/telephony/Phone;->getDataEnabledSettings()Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;
HSPLcom/android/internal/telephony/Phone;->getDcTracker(I)Lcom/android/internal/telephony/dataconnection/DcTracker;
@@ -21464,11 +22426,11 @@
HSPLcom/android/internal/telephony/Phone;->getVtDataUsage(Z)Landroid/net/NetworkStats;
HSPLcom/android/internal/telephony/Phone;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/Phone;->hasMatchedTetherApnSetting()Z
-PLcom/android/internal/telephony/Phone;->isConcurrentVoiceAndDataAllowed()Z
+HPLcom/android/internal/telephony/Phone;->isConcurrentVoiceAndDataAllowed()Z
HSPLcom/android/internal/telephony/Phone;->isDataAllowed(I)Z
HSPLcom/android/internal/telephony/Phone;->isDataAllowed(ILcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
HSPLcom/android/internal/telephony/Phone;->isImsCapabilityAvailable(II)Z
-PLcom/android/internal/telephony/Phone;->isImsRegistered()Z
+HPLcom/android/internal/telephony/Phone;->isImsRegistered()Z
HSPLcom/android/internal/telephony/Phone;->isInEcm()Z
HSPLcom/android/internal/telephony/Phone;->isShuttingDown()Z
HSPLcom/android/internal/telephony/Phone;->isVideoEnabled()Z
@@ -21491,6 +22453,7 @@
HSPLcom/android/internal/telephony/Phone;->registerForDisplayInfo(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/Phone;->registerForEcmTimerReset(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/Phone;->registerForEmergencyCallToggle(Landroid/os/Handler;ILjava/lang/Object;)V
+HPLcom/android/internal/telephony/Phone;->registerForHandoverStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/Phone;->registerForInCallVoicePrivacyOff(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/Phone;->registerForInCallVoicePrivacyOn(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/Phone;->registerForIncomingRing(Landroid/os/Handler;ILjava/lang/Object;)V
@@ -21512,6 +22475,7 @@
HSPLcom/android/internal/telephony/Phone;->requestCellInfoUpdate(Landroid/os/WorkSource;Landroid/os/Message;)V
HSPLcom/android/internal/telephony/Phone;->sendSubscriptionSettings(Z)V
HSPLcom/android/internal/telephony/Phone;->setCellInfoMinInterval(I)V
+HPLcom/android/internal/telephony/Phone;->setEchoSuppressionEnabled()V
HSPLcom/android/internal/telephony/Phone;->setOnPostDialCharacter(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/Phone;->setPreferredNetworkType(ILandroid/os/Message;)V
HSPLcom/android/internal/telephony/Phone;->setPreferredNetworkTypeIfSimLoaded()V
@@ -21519,7 +22483,12 @@
HSPLcom/android/internal/telephony/Phone;->setVoiceMessageCount(I)V
HSPLcom/android/internal/telephony/Phone;->startLceAfterRadioIsAvailable()V
HSPLcom/android/internal/telephony/Phone;->startMonitoringImsService()V
+HPLcom/android/internal/telephony/Phone;->unregisterForDisconnect(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/Phone;->unregisterForHandoverStateChanged(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/Phone;->unregisterForInCallVoicePrivacyOff(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/Phone;->unregisterForInCallVoicePrivacyOn(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/Phone;->unregisterForNewRingingConnection(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/Phone;->unregisterForPreciseCallStateChanged(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/Phone;->unregisterForUnknownConnection(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/Phone;->unregisterForVideoCapabilityChanged(Landroid/os/Handler;)V
HSPLcom/android/internal/telephony/Phone;->updateDataConnectionTracker()V
@@ -21562,9 +22531,9 @@
HSPLcom/android/internal/telephony/PhoneSubInfoController;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/telephony/PhoneSubInfoController;->getLine1NumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/telephony/PhoneSubInfoController;->getSubscriberIdForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-PLcom/android/internal/telephony/PhoneSubInfoController;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/PhoneSubInfoController;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithPrivilegedCheck$24$PhoneSubInfoController(Ljava/lang/String;Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getVoiceMailNumberForSubscriber$12$PhoneSubInfoController(Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
+HPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getVoiceMailNumberForSubscriber$12$PhoneSubInfoController(Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
HSPLcom/android/internal/telephony/PhoneSwitcher$1;->onAvailable(Landroid/net/Network;)V
HSPLcom/android/internal/telephony/PhoneSwitcher$3;->onPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
HSPLcom/android/internal/telephony/PhoneSwitcher$3;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
@@ -21612,6 +22581,7 @@
HSPLcom/android/internal/telephony/RIL;->getCdmaSubscriptionSource(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->getCellInfoList(Landroid/os/Message;Landroid/os/WorkSource;)V
HSPLcom/android/internal/telephony/RIL;->getCurrentCalls(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/RIL;->getDataCallList(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->getDataRegistrationState(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->getDeviceIdentity(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->getHalVersion()Lcom/android/internal/telephony/HalVersion;
@@ -21626,7 +22596,7 @@
HSPLcom/android/internal/telephony/RIL;->getRadioCapability(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->getRadioProxy(Landroid/os/Message;)Landroid/hardware/radio/V1_0/IRadio;
HSPLcom/android/internal/telephony/RIL;->getSignalStrength(Landroid/os/Message;)V
-PLcom/android/internal/telephony/RIL;->getTelephonyRILTimingHistograms()Ljava/util/List;
+HPLcom/android/internal/telephony/RIL;->getTelephonyRILTimingHistograms()Ljava/util/List;
HSPLcom/android/internal/telephony/RIL;->getVoiceRadioTechnology(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->getVoiceRegistrationState(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->iccCloseLogicalChannel(ILandroid/os/Message;)V
@@ -21644,8 +22614,10 @@
HSPLcom/android/internal/telephony/RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String;
HSPLcom/android/internal/telephony/RIL;->riljLog(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/RIL;->riljLoge(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/RIL;->riljLogv(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/RIL;->sendAck()V
HSPLcom/android/internal/telephony/RIL;->sendDeviceState(IZLandroid/os/Message;)V
+HSPLcom/android/internal/telephony/RIL;->sendTerminalResponse(Ljava/lang/String;Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->setCdmaBroadcastConfig([Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;Landroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->setCdmaSubscriptionSource(ILandroid/os/Message;)V
HSPLcom/android/internal/telephony/RIL;->setDataProfile([Landroid/telephony/data/DataProfile;ZLandroid/os/Message;)V
@@ -21708,6 +22680,8 @@
HSPLcom/android/internal/telephony/RadioIndication;->physicalChannelConfigsIndication(Ljava/util/List;)V
HSPLcom/android/internal/telephony/RadioIndication;->radioStateChanged(II)V
HSPLcom/android/internal/telephony/RadioIndication;->rilConnected(I)V
+HSPLcom/android/internal/telephony/RadioIndication;->stkProactiveCommand(ILjava/lang/String;)V
+HSPLcom/android/internal/telephony/RadioIndication;->stkSessionEnd(I)V
HSPLcom/android/internal/telephony/RadioIndication;->voiceRadioTechChanged(II)V
HSPLcom/android/internal/telephony/RadioResponse;->convertHalCardStatus(Landroid/hardware/radio/V1_0/CardStatus;)Lcom/android/internal/telephony/uicc/IccCardStatus;
HSPLcom/android/internal/telephony/RadioResponse;->deactivateDataCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
@@ -21715,6 +22689,7 @@
HSPLcom/android/internal/telephony/RadioResponse;->getCdmaSubscriptionSourceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
HSPLcom/android/internal/telephony/RadioResponse;->getCellInfoListResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
HSPLcom/android/internal/telephony/RadioResponse;->getCurrentCallsResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
+HPLcom/android/internal/telephony/RadioResponse;->getDataCallListResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
HSPLcom/android/internal/telephony/RadioResponse;->getDataRegistrationStateResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/DataRegStateResult;)V
HSPLcom/android/internal/telephony/RadioResponse;->getDeviceIdentityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/internal/telephony/RadioResponse;->getFacilityLockForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
@@ -21741,6 +22716,7 @@
HSPLcom/android/internal/telephony/RadioResponse;->responseIntArrayList(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
HSPLcom/android/internal/telephony/RadioResponse;->responseStringArrayList(Lcom/android/internal/telephony/RIL;Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
HSPLcom/android/internal/telephony/RadioResponse;->sendDeviceStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HSPLcom/android/internal/telephony/RadioResponse;->sendTerminalResponseToSimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
HSPLcom/android/internal/telephony/RadioResponse;->setCdmaBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
HSPLcom/android/internal/telephony/RadioResponse;->setCdmaSubscriptionSourceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
HSPLcom/android/internal/telephony/RadioResponse;->setGsmBroadcastActivationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
@@ -21767,6 +22743,7 @@
HSPLcom/android/internal/telephony/RetryManager;->getDelayForNextApn(Z)J
HSPLcom/android/internal/telephony/RetryManager;->getNextApnSetting()Landroid/telephony/data/ApnSetting;
HSPLcom/android/internal/telephony/RetryManager;->getRetryAfterDisconnectDelay()J
+HSPLcom/android/internal/telephony/RetryManager;->getRetryTimer()I
HSPLcom/android/internal/telephony/RetryManager;->getWaitingApns()Ljava/util/ArrayList;
HSPLcom/android/internal/telephony/RetryManager;->log(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/RetryManager;->parseNonNegativeInt(Ljava/lang/String;Ljava/lang/String;)Landroid/util/Pair;
@@ -21844,7 +22821,7 @@
HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForSubscriptionInfoReady(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForVoiceRegStateOrRatChanged(Landroid/os/Handler;ILjava/lang/Object;)V
HSPLcom/android/internal/telephony/ServiceStateTracker;->requestAllCellInfo(Landroid/os/WorkSource;Landroid/os/Message;)V
-PLcom/android/internal/telephony/ServiceStateTracker;->requestCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
+HPLcom/android/internal/telephony/ServiceStateTracker;->requestCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
HSPLcom/android/internal/telephony/ServiceStateTracker;->resetServiceStateInIwlanMode()V
HSPLcom/android/internal/telephony/ServiceStateTracker;->setCellInfoMinInterval(I)V
HSPLcom/android/internal/telephony/ServiceStateTracker;->setPhyCellInfoFromCellIdentity(Landroid/telephony/ServiceState;Landroid/telephony/CellIdentity;)V
@@ -21874,20 +22851,21 @@
HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->toString()Ljava/lang/String;
HSPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageChanged()V
-PLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageModified(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/SmsApplication;->assignExclusiveSmsPermissionsToSystemApp(Landroid/content/Context;Landroid/content/pm/PackageManager;Landroid/app/AppOpsManager;Ljava/lang/String;)V
HSPLcom/android/internal/telephony/SmsApplication;->defaultSmsAppChanged(Landroid/content/Context;)V
HSPLcom/android/internal/telephony/SmsApplication;->getApplication(Landroid/content/Context;ZI)Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;
-PLcom/android/internal/telephony/SmsApplication;->getApplicationCollectionAsUser(Landroid/content/Context;I)Ljava/util/Collection;
+HPLcom/android/internal/telephony/SmsApplication;->getApplicationCollectionAsUser(Landroid/content/Context;I)Ljava/util/Collection;
HSPLcom/android/internal/telephony/SmsApplication;->getApplicationCollectionInternal(Landroid/content/Context;I)Ljava/util/Collection;
HSPLcom/android/internal/telephony/SmsApplication;->getApplicationForPackage(Ljava/util/Collection;Ljava/lang/String;)Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;
HSPLcom/android/internal/telephony/SmsApplication;->getDefaultMmsApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
+HPLcom/android/internal/telephony/SmsApplication;->getDefaultRespondViaMessageApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSendToApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSmsApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
HSPLcom/android/internal/telephony/SmsApplication;->getDefaultSmsApplicationAsUser(Landroid/content/Context;ZI)Landroid/content/ComponentName;
HSPLcom/android/internal/telephony/SmsApplication;->initSmsPackageMonitor(Landroid/content/Context;)V
-PLcom/android/internal/telephony/SmsApplication;->isDefaultSmsApplication(Landroid/content/Context;Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/SmsApplication;->isDefaultSmsApplication(Landroid/content/Context;Ljava/lang/String;)Z
HSPLcom/android/internal/telephony/SmsApplication;->replacePreferredActivity(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;ILjava/lang/String;)V
HSPLcom/android/internal/telephony/SmsApplication;->tryFixExclusiveSmsAppops(Landroid/content/Context;Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;Z)Z
HSPLcom/android/internal/telephony/SmsBroadcastUndelivered$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
@@ -21898,6 +22876,7 @@
HSPLcom/android/internal/telephony/SmsDispatchersController;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/SmsUsageMonitor;)V
HSPLcom/android/internal/telephony/SmsDispatchersController;->handleInService(J)V
HSPLcom/android/internal/telephony/SmsDispatchersController;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/SmsDispatchersController;->handlePartialSegmentTimerExpiry(J)V
HSPLcom/android/internal/telephony/SmsDispatchersController;->reevaluateTimerStatus()V
HSPLcom/android/internal/telephony/SmsDispatchersController;->resetPartialSegmentWaitTimer()V
HSPLcom/android/internal/telephony/SmsDispatchersController;->updateImsInfo(Landroid/os/AsyncResult;)V
@@ -21922,7 +22901,7 @@
HSPLcom/android/internal/telephony/SubscriptionController;->enforceModifyPhoneState(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubIdArrayList()Ljava/util/ArrayList;
HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubIdList(Z)[I
-PLcom/android/internal/telephony/SubscriptionController;->getActiveSubInfoCount(Ljava/lang/String;)I
+HPLcom/android/internal/telephony/SubscriptionController;->getActiveSubInfoCount(Ljava/lang/String;)I
HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubInfoCountMax()I
HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfoForSimSlotIndex(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
@@ -22050,8 +23029,8 @@
HSPLcom/android/internal/telephony/TimeZoneLookupHelper;->getCountryTimeZones(Ljava/lang/String;)Llibcore/timezone/CountryTimeZones;
HSPLcom/android/internal/telephony/TimeZoneLookupHelper;->lookupByCountry(Ljava/lang/String;J)Lcom/android/internal/telephony/TimeZoneLookupHelper$CountryResult;
HSPLcom/android/internal/telephony/TimeZoneLookupHelper;->lookupByNitzCountry(Lcom/android/internal/telephony/NitzData;Ljava/lang/String;)Lcom/android/internal/telephony/TimeZoneLookupHelper$OffsetResult;
-PLcom/android/internal/telephony/UiccPhoneBookController;->getAdnRecordsInEfForSubscriber(II)Ljava/util/List;
-PLcom/android/internal/telephony/UiccPhoneBookController;->getIccPhoneBookInterfaceManager(I)Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
+HPLcom/android/internal/telephony/UiccPhoneBookController;->getAdnRecordsInEfForSubscriber(II)Ljava/util/List;
+HPLcom/android/internal/telephony/UiccPhoneBookController;->getIccPhoneBookInterfaceManager(I)Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
HSPLcom/android/internal/telephony/UiccSmsController;->disableCellBroadcastRangeForSubscriber(IIII)Z
HSPLcom/android/internal/telephony/UiccSmsController;->enableCellBroadcastRangeForSubscriber(IIII)Z
HSPLcom/android/internal/telephony/UiccSmsController;->getPreferredSmsSubscription()I
@@ -22069,14 +23048,25 @@
HSPLcom/android/internal/telephony/cat/CatService;-><init>(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/UiccCardApplication;Lcom/android/internal/telephony/uicc/IccRecords;Landroid/content/Context;Lcom/android/internal/telephony/uicc/IccFileHandler;Lcom/android/internal/telephony/uicc/UiccProfile;I)V
HSPLcom/android/internal/telephony/cat/CatService;->getInstance(I)Lcom/android/internal/telephony/cat/AppInterface;
HSPLcom/android/internal/telephony/cat/CatService;->getInstance(Lcom/android/internal/telephony/CommandsInterface;Landroid/content/Context;Lcom/android/internal/telephony/uicc/UiccProfile;I)Lcom/android/internal/telephony/cat/CatService;
+HSPLcom/android/internal/telephony/cat/CatService;->handleCommand(Lcom/android/internal/telephony/cat/CommandParams;Z)V
HSPLcom/android/internal/telephony/cat/CatService;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/cat/CatService;->handleRilMsg(Lcom/android/internal/telephony/cat/RilMessage;)V
+HSPLcom/android/internal/telephony/cat/CatService;->handleSessionEnd()V
HSPLcom/android/internal/telephony/cat/CatService;->isStkAppInstalled()Z
+HSPLcom/android/internal/telephony/cat/CatService;->sendTerminalResponse(Lcom/android/internal/telephony/cat/CommandDetails;Lcom/android/internal/telephony/cat/ResultCode;ZILcom/android/internal/telephony/cat/ResponseData;)V
HSPLcom/android/internal/telephony/cat/CatService;->updateIccAvailability()V
HSPLcom/android/internal/telephony/cat/CommandParamsFactory;->getInstance(Lcom/android/internal/telephony/cat/RilMessageDecoder;Lcom/android/internal/telephony/uicc/IccFileHandler;)Lcom/android/internal/telephony/cat/CommandParamsFactory;
+HSPLcom/android/internal/telephony/cat/CommandParamsFactory;->make(Lcom/android/internal/telephony/cat/BerTlv;)V
+HSPLcom/android/internal/telephony/cat/CommandParamsFactory;->processCommandDetails(Ljava/util/List;)Lcom/android/internal/telephony/cat/CommandDetails;
HSPLcom/android/internal/telephony/cat/IconLoader;-><init>(Landroid/os/Looper;Lcom/android/internal/telephony/uicc/IccFileHandler;)V
HSPLcom/android/internal/telephony/cat/IconLoader;->getInstance(Landroid/os/Handler;Lcom/android/internal/telephony/uicc/IccFileHandler;)Lcom/android/internal/telephony/cat/IconLoader;
+HSPLcom/android/internal/telephony/cat/RilMessageDecoder$StateCmdParamsReady;->processMessage(Landroid/os/Message;)Z
+HSPLcom/android/internal/telephony/cat/RilMessageDecoder$StateStart;->processMessage(Landroid/os/Message;)Z
HSPLcom/android/internal/telephony/cat/RilMessageDecoder;-><init>(Landroid/os/Handler;Lcom/android/internal/telephony/uicc/IccFileHandler;)V
+HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->decodeMessageParams(Lcom/android/internal/telephony/cat/RilMessage;)Z
HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->getInstance(Landroid/os/Handler;Lcom/android/internal/telephony/uicc/IccFileHandler;I)Lcom/android/internal/telephony/cat/RilMessageDecoder;
+HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->sendMsgParamsDecoded(Lcom/android/internal/telephony/cat/ResultCode;Lcom/android/internal/telephony/cat/CommandParams;)V
+HSPLcom/android/internal/telephony/cat/RilMessageDecoder;->sendStartDecodingMessageParams(Lcom/android/internal/telephony/cat/RilMessage;)V
HSPLcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/cdma/CdmaSMSDispatcher;)V
HSPLcom/android/internal/telephony/cdma/CdmaSMSDispatcher;->getFormat()Ljava/lang/String;
HSPLcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;->getFromServiceCategory()I
@@ -22191,6 +23181,7 @@
HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isActivating()Z
HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isActive()Z
HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isDnsOk([Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isInactive()Z
HSPLcom/android/internal/telephony/dataconnection/DataConnection;->isUnmeteredUseOnly()Z
HSPLcom/android/internal/telephony/dataconnection/DataConnection;->log(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/dataconnection/DataConnection;->makeDataConnection(Lcom/android/internal/telephony/Phone;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)Lcom/android/internal/telephony/dataconnection/DataConnection;
@@ -22267,6 +23258,9 @@
HSPLcom/android/internal/telephony/dataconnection/DcTracker$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
HSPLcom/android/internal/telephony/dataconnection/DcTracker$3;->run()V
HSPLcom/android/internal/telephony/dataconnection/DcTracker$ApnChangeObserver;->onChange(Z)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->broadcastDataStallDetected(I)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->checkRecovery()Z
+HPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->doRecovery()V
HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->isAggressiveRecovery()Z
HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->isNoRxDataStallDetectionEnabled()Z
HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->isRecoveryOnBadNetworkEnabled()Z
@@ -22320,7 +23314,7 @@
HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onApnChanged()V
HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataConnectionAttached()V
HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataEnabledChanged(ZI)V
-PLcom/android/internal/telephony/dataconnection/DcTracker;->onDataReconnect(Landroid/os/Bundle;)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataReconnect(Landroid/os/Bundle;)V
HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataRoamingOff()V
HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataServiceBindingChanged(Z)V
HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataSetupComplete(Lcom/android/internal/telephony/dataconnection/ApnContext;ZII)V
@@ -22379,9 +23373,9 @@
HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getEmergencyNumberListTestMode()Ljava/util/List;
HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getLabeledEmergencyNumberForEcclist(Ljava/lang/String;)Landroid/telephony/emergency/EmergencyNumber;
HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->handleMessage(Landroid/os/Message;)V
-PLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumber(Ljava/lang/String;Z)Z
-PLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumberForTest(Ljava/lang/String;)Z
-PLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumberFromEccList(Ljava/lang/String;Z)Z
+HPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumber(Ljava/lang/String;Z)Z
+HPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumberForTest(Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->isEmergencyNumberFromEccList(Ljava/lang/String;Z)Z
HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->notifyEmergencyNumberList()V
HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->onCarrierConfigChanged()V
HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberDatabaseCountryChange(Ljava/lang/String;)V
@@ -22400,12 +23394,12 @@
HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$4;->lambda$onComplete$0$EuiccConnector$ConnectedState$4(Lcom/android/internal/telephony/euicc/EuiccConnector$BaseEuiccCommandCallback;Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$4;->onComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->enter()V
-PLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->exit()V
+HPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->exit()V
HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->processMessage(Landroid/os/Message;)Z
HSPLcom/android/internal/telephony/euicc/EuiccConnector$DisconnectedState;->enter()V
HSPLcom/android/internal/telephony/euicc/EuiccConnector$DisconnectedState;->processMessage(Landroid/os/Message;)Z
HSPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/euicc/EuiccConnector$UnavailableState;->processMessage(Landroid/os/Message;)Z
HSPLcom/android/internal/telephony/euicc/EuiccConnector;->createBinding()Z
HSPLcom/android/internal/telephony/euicc/EuiccConnector;->findBestComponent(Landroid/content/pm/PackageManager;Ljava/util/List;)Landroid/content/pm/ComponentInfo;
@@ -22424,6 +23418,8 @@
HSPLcom/android/internal/telephony/euicc/IEuiccController$Stub;-><init>()V
HSPLcom/android/internal/telephony/euicc/IEuiccController$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/euicc/IEuiccController;
HSPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/Phone;)V
+HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->dispatchMessageRadioSpecific(Lcom/android/internal/telephony/SmsMessageBase;)I
+HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->is3gpp2()Z
HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/SmsDispatchersController;Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;)V
HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->getFormat()Ljava/lang/String;
HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->getUiccCardApplication()Lcom/android/internal/telephony/uicc/UiccCardApplication;
@@ -22433,13 +23429,18 @@
HSPLcom/android/internal/telephony/gsm/SimTlv;->getData()[B
HSPLcom/android/internal/telephony/gsm/SimTlv;->getTag()I
HSPLcom/android/internal/telephony/gsm/SimTlv;->isValidObject()Z
+HPLcom/android/internal/telephony/gsm/SimTlv;->nextObject()Z
HSPLcom/android/internal/telephony/gsm/SimTlv;->parseCurrentTlvObject()Z
HSPLcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;->toString()Ljava/lang/String;
HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;-><init>(Lcom/android/internal/telephony/uicc/IccFileHandler;Lcom/android/internal/telephony/uicc/AdnRecordCache;)V
-PLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->handleMessage(Landroid/os/Message;)V
-PLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->loadEfFilesFromUsim()Ljava/util/ArrayList;
-PLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readPbrFileAndWait()V
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->createPbrFile(Ljava/util/ArrayList;)V
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->loadEfFilesFromUsim()Ljava/util/ArrayList;
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readAdnFileAndWait(I)V
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readEmailFileAndWait(I)V
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readPbrFileAndWait()V
HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->reset()V
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->updatePhoneAdnRecord()V
HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs;-><init>()V
HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs;->test(Ljava/lang/Object;)Z
HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$VfY5To_kbbTJevLzywTg-_S1JhA;->test(Ljava/lang/Object;)Z
@@ -22457,11 +23458,14 @@
HSPLcom/android/internal/telephony/ims/ImsResolver$4;->create(Landroid/content/Context;Landroid/content/ComponentName;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;)Lcom/android/internal/telephony/ims/ImsServiceController;
HSPLcom/android/internal/telephony/ims/ImsResolver$4;->getServiceInterface()Ljava/lang/String;
HSPLcom/android/internal/telephony/ims/ImsResolver$5;->getServiceInterface()Ljava/lang/String;
+HSPLcom/android/internal/telephony/ims/ImsResolver$7;->onComplete(Landroid/content/ComponentName;Ljava/util/Set;)V
HSPLcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;->getSupportedFeatures()Ljava/util/HashSet;
+HSPLcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;->replaceFeatures(Ljava/util/Set;)V
HSPLcom/android/internal/telephony/ims/ImsResolver;-><init>(Landroid/content/Context;Ljava/lang/String;IZ)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->bindImsServiceWithFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;Ljava/util/HashSet;)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->calculateFeaturesToCreate(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)Ljava/util/HashSet;
HSPLcom/android/internal/telephony/ims/ImsResolver;->carrierConfigChanged(I)V
+HSPLcom/android/internal/telephony/ims/ImsResolver;->dynamicQueryComplete(Landroid/content/ComponentName;Ljava/util/Set;)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->enableIms(I)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
HSPLcom/android/internal/telephony/ims/ImsResolver;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
@@ -22475,10 +23479,12 @@
HSPLcom/android/internal/telephony/ims/ImsResolver;->initPopulateCacheAndStartBind()V
HSPLcom/android/internal/telephony/ims/ImsResolver;->lambda$new$0$ImsResolver(Landroid/os/Message;)Z
HSPLcom/android/internal/telephony/ims/ImsResolver;->maybeAddedImsService(Ljava/lang/String;)V
-PLcom/android/internal/telephony/ims/ImsResolver;->maybeRemovedImsService(Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/ims/ImsResolver;->maybeRemovedImsService(Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/ims/ImsResolver;->printFeatures(Ljava/util/Set;)Ljava/lang/String;
HSPLcom/android/internal/telephony/ims/ImsResolver;->putImsController(IILcom/android/internal/telephony/ims/ImsServiceController;)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->scheduleQueryForFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;I)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->searchForImsServices(Ljava/lang/String;Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceControllerFactory;)Ljava/util/List;
+HSPLcom/android/internal/telephony/ims/ImsResolver;->startDynamicQuery(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->unbindImsService(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->updateBoundCarrierServices(ILjava/lang/String;)V
HSPLcom/android/internal/telephony/ims/ImsResolver;->updateImsServiceFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
@@ -22507,6 +23513,7 @@
HSPLcom/android/internal/telephony/ims/ImsServiceController;->sendImsFeatureStatusChanged(III)V
HSPLcom/android/internal/telephony/ims/ImsServiceController;->setServiceController(Landroid/os/IBinder;)V
HSPLcom/android/internal/telephony/ims/ImsServiceController;->startBindToService(Landroid/content/Intent;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceConnection;I)Z
+HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;->startQuery(Landroid/content/ComponentName;Ljava/lang/String;)Z
HSPLcom/android/internal/telephony/ims/RcsMessageStoreController;-><init>(Landroid/content/ContentResolver;)V
HSPLcom/android/internal/telephony/ims/RcsMessageStoreController;->init(Landroid/content/Context;)Lcom/android/internal/telephony/ims/RcsMessageStoreController;
HSPLcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54;-><init>()V
@@ -22538,7 +23545,7 @@
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getVtDataUsage(Z)Landroid/net/NetworkStats;
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isImsCapabilityAvailable(II)Z
-PLcom/android/internal/telephony/imsphone/ImsPhone;->isImsRegistered()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->isImsRegistered()Z
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isInEcm()Z
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isVideoEnabled()Z
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isWifiCallingEnabled()Z
@@ -22554,6 +23561,7 @@
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setServiceState(I)V
HSPLcom/android/internal/telephony/imsphone/ImsPhone;->updateDataServiceState()V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneBase;-><init>(Ljava/lang/String;Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Z)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->getPhone()Lcom/android/internal/telephony/Phone;
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$3;->connectionReady(Lcom/android/ims/ImsManager;)V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onRegistered(I)V
@@ -22566,11 +23574,13 @@
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$9;->sendConfigChangedIntent(ILjava/lang/String;)V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$HoldSwapState;-><init>(Ljava/lang/String;I)V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;-><init>(Lcom/android/internal/telephony/imsphone/ImsPhone;Ljava/util/concurrent/Executor;)V
+HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->addReasonCodeRemapping(Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/Integer;)V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->cacheCarrierConfiguration(I)V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getEcbmInterface()Lcom/android/ims/ImsEcbm;
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getImsRegistrationTech()I
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getMultiEndpointInterface()Lcom/android/ims/ImsMultiEndpoint;
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getPackageUid(Landroid/content/Context;Ljava/lang/String;)I
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getPhone()Lcom/android/internal/telephony/imsphone/ImsPhone;
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getUtInterface()Lcom/android/ims/ImsUtInterface;
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getVtDataUsage(Z)Landroid/net/NetworkStats;
@@ -22589,39 +23599,52 @@
HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->updateCarrierConfigCache(Landroid/os/PersistableBundle;)V
HSPLcom/android/internal/telephony/imsphone/ImsPhoneFactory;->makePhone(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/imsphone/ImsPhone;
HSPLcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$tQOsX1lKb2eTuPp-1rpkeIAEOoY;->test(Ljava/lang/Object;)Z
-PLcom/android/internal/telephony/metrics/InProgressSmsSession;-><init>(I)V
-PLcom/android/internal/telephony/metrics/InProgressSmsSession;->addEvent(JLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;)V
-PLcom/android/internal/telephony/metrics/InProgressSmsSession;->isEventsDropped()Z
+HPLcom/android/internal/telephony/metrics/CallSessionEventBuilder;->build()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
+HPLcom/android/internal/telephony/metrics/CallSessionEventBuilder;->setDelay(I)Lcom/android/internal/telephony/metrics/CallSessionEventBuilder;
+HPLcom/android/internal/telephony/metrics/InProgressCallSession;-><init>(I)V
+HPLcom/android/internal/telephony/metrics/InProgressCallSession;->addEvent(JLcom/android/internal/telephony/metrics/CallSessionEventBuilder;)V
+HPLcom/android/internal/telephony/metrics/InProgressCallSession;->addEvent(Lcom/android/internal/telephony/metrics/CallSessionEventBuilder;)V
+HPLcom/android/internal/telephony/metrics/InProgressCallSession;->containsCsCalls()Z
+HPLcom/android/internal/telephony/metrics/InProgressCallSession;->isEventsDropped()Z
+HPLcom/android/internal/telephony/metrics/InProgressCallSession;->setLastKnownPhoneState(I)V
+HPLcom/android/internal/telephony/metrics/InProgressSmsSession;-><init>(I)V
+HPLcom/android/internal/telephony/metrics/InProgressSmsSession;->addEvent(JLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;)V
+HPLcom/android/internal/telephony/metrics/InProgressSmsSession;->isEventsDropped()Z
PLcom/android/internal/telephony/metrics/ModemPowerMetrics;->buildProto()Lcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;
PLcom/android/internal/telephony/metrics/ModemPowerMetrics;->getStats()Landroid/os/connectivity/CellularBatteryStats;
-PLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->build()Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
-PLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setDelay(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
+HPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->build()Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
+HPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setDelay(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->build()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->setSimStateChange(Landroid/util/SparseArray;)Lcom/android/internal/telephony/metrics/TelephonyEventBuilder;
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;-><init>()V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->addTelephonyEvent(Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->annotateInProgressCallSession(JILcom/android/internal/telephony/metrics/CallSessionEventBuilder;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->annotateInProgressSmsSession(JILcom/android/internal/telephony/metrics/SmsSessionEventBuilder;)V
-PLcom/android/internal/telephony/metrics/TelephonyMetrics;->buildProto()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
-PLcom/android/internal/telephony/metrics/TelephonyMetrics;->convertSmsFormat(Ljava/lang/String;)I
-PLcom/android/internal/telephony/metrics/TelephonyMetrics;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishSmsSession(Lcom/android/internal/telephony/metrics/InProgressSmsSession;)Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->buildProto()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->convertSmsFormat(Ljava/lang/String;)I
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishCallSession(Lcom/android/internal/telephony/metrics/InProgressCallSession;)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishSmsSession(Lcom/android/internal/telephony/metrics/InProgressSmsSession;)Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->getInstance()Lcom/android/internal/telephony/metrics/TelephonyMetrics;
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->reset()V
-PLcom/android/internal/telephony/metrics/TelephonyMetrics;->startNewSmsSession(I)Lcom/android/internal/telephony/metrics/InProgressSmsSession;
-PLcom/android/internal/telephony/metrics/TelephonyMetrics;->toPrivacyFuzzedTimeInterval(JJ)I
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->startNewCallSessionIfNeeded(I)Lcom/android/internal/telephony/metrics/InProgressCallSession;
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->startNewSmsSession(I)Lcom/android/internal/telephony/metrics/InProgressSmsSession;
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->toPrivacyFuzzedTimeInterval(JJ)I
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->toServiceStateProto(Landroid/telephony/ServiceState;)Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState;
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->updateActiveSubscriptionInfoList(Ljava/util/List;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->updateSimState(II)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeCarrierIdMatchingEvent(IIILjava/lang/String;Ljava/lang/String;)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeDataStallEvent(II)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeDataSwitch(ILcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeImsSetFeatureValue(IIII)V
-PLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeIncomingSmsSessionWithType(IIZLjava/lang/String;[JZZ)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeIncomingSmsSession(IZLjava/lang/String;[JZ)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeIncomingSmsSessionWithType(IIZLjava/lang/String;[JZZ)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeNITZEvent(IJ)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCapabilities(IILandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsConnectionState(IILandroid/telephony/ims/ImsReasonInfo;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnRilSolicitedResponse(IIIILjava/lang/Object;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnSetupDataCallResponse(IIIILandroid/telephony/data/DataCallResponse;)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writePhoneState(ILcom/android/internal/telephony/PhoneConstants$State;)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilDataCallEvent(IIII)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilDeactivateDataCall(IIII)V
HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeServiceStateChanged(ILandroid/telephony/ServiceState;)V
@@ -22653,24 +23676,27 @@
HSPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;
HSPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
-PLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
+HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->computeSerializedSize()I
+HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
+HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
PLcom/android/internal/telephony/nano/TelephonyProto$SmsSession;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event$RilCall;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event$RilCall;
HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event;
PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->computeSerializedSize()I
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;->computeSerializedSize()I
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;->computeSerializedSize()I
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;->computeSerializedSize()I
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->computeSerializedSize()I
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
-PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->computeSerializedSize()I
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;
+HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;->computeSerializedSize()I
PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;
PLcom/android/internal/telephony/nano/TelephonyProto$TelephonyHistogram;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
@@ -22693,43 +23719,46 @@
HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->skipField(I)Z
HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->skipRawBytes(I)V
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->checkNoSpaceLeft()V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeInt32Size(II)I
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeInt32SizeNoTag(I)I
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeMessageSize(ILcom/android/internal/telephony/protobuf/nano/MessageNano;)I
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeRawVarint64Size(J)I
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeInt32Size(II)I
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeInt32SizeNoTag(I)I
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeMessageSize(ILcom/android/internal/telephony/protobuf/nano/MessageNano;)I
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->computeRawVarint64Size(J)I
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;)V
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;[BII)I
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->encodedLength(Ljava/lang/CharSequence;)I
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt32(II)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt32NoTag(I)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt64(IJ)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt64NoTag(J)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeMessage(ILcom/android/internal/telephony/protobuf/nano/MessageNano;)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeMessageNoTag(Lcom/android/internal/telephony/protobuf/nano/MessageNano;)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt32(II)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt32NoTag(I)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt64(IJ)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeInt64NoTag(J)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeMessage(ILcom/android/internal/telephony/protobuf/nano/MessageNano;)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeMessageNoTag(Lcom/android/internal/telephony/protobuf/nano/MessageNano;)V
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(B)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(I)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian64(J)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(I)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian64(J)V
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint32(I)V
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint64(J)V
HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeStringNoTag(Ljava/lang/String;)V
-PLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeTag(II)V
+HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeTag(II)V
HSPLcom/android/internal/telephony/protobuf/nano/ExtendableMessageNano;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/internal/telephony/protobuf/nano/MessageNano;->getCachedSize()I
+HPLcom/android/internal/telephony/protobuf/nano/MessageNano;->getCachedSize()I
HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->getSerializedSize()I
HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/MessageNano;[BII)Lcom/android/internal/telephony/protobuf/nano/MessageNano;
HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->messageNanoEquals(Lcom/android/internal/telephony/protobuf/nano/MessageNano;Lcom/android/internal/telephony/protobuf/nano/MessageNano;)Z
HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;->toByteArray(Lcom/android/internal/telephony/protobuf/nano/MessageNano;[BII)V
HSPLcom/android/internal/telephony/uicc/AdnRecord$1;-><init>()V
HSPLcom/android/internal/telephony/uicc/AdnRecord;->getAlphaTag()Ljava/lang/String;
+HPLcom/android/internal/telephony/uicc/AdnRecord;->getEfid()I
HSPLcom/android/internal/telephony/uicc/AdnRecord;->getNumber()Ljava/lang/String;
+HPLcom/android/internal/telephony/uicc/AdnRecord;->getRecId()I
HSPLcom/android/internal/telephony/uicc/AdnRecord;->isEmpty()Z
HSPLcom/android/internal/telephony/uicc/AdnRecord;->parseRecord([B)V
+HSPLcom/android/internal/telephony/uicc/AdnRecord;->toString()Ljava/lang/String;
HSPLcom/android/internal/telephony/uicc/AdnRecordCache;-><init>(Lcom/android/internal/telephony/uicc/IccFileHandler;)V
HSPLcom/android/internal/telephony/uicc/AdnRecordCache;->clearWaiters()V
-PLcom/android/internal/telephony/uicc/AdnRecordCache;->extensionEfForEf(I)I
-PLcom/android/internal/telephony/uicc/AdnRecordCache;->getRecordsIfLoaded(I)Ljava/util/ArrayList;
-PLcom/android/internal/telephony/uicc/AdnRecordCache;->handleMessage(Landroid/os/Message;)V
-PLcom/android/internal/telephony/uicc/AdnRecordCache;->requestLoadAllAdnLike(IILandroid/os/Message;)V
+HPLcom/android/internal/telephony/uicc/AdnRecordCache;->extensionEfForEf(I)I
+HPLcom/android/internal/telephony/uicc/AdnRecordCache;->getRecordsIfLoaded(I)Ljava/util/ArrayList;
+HPLcom/android/internal/telephony/uicc/AdnRecordCache;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/uicc/AdnRecordCache;->requestLoadAllAdnLike(IILandroid/os/Message;)V
HSPLcom/android/internal/telephony/uicc/AdnRecordCache;->reset()V
HSPLcom/android/internal/telephony/uicc/AdnRecordLoader;-><init>(Lcom/android/internal/telephony/uicc/IccFileHandler;)V
HSPLcom/android/internal/telephony/uicc/AdnRecordLoader;->handleMessage(Landroid/os/Message;)V
@@ -22866,6 +23895,7 @@
HSPLcom/android/internal/telephony/uicc/SIMRecords;->getOperatorNumeric()Ljava/lang/String;
HSPLcom/android/internal/telephony/uicc/SIMRecords;->getSpnFsm(ZLandroid/os/AsyncResult;)V
HSPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceCallForwardingFlag()I
+HSPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceMailNumber()Ljava/lang/String;
HSPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceMessageCount()I
HSPLcom/android/internal/telephony/uicc/SIMRecords;->handleMessage(Landroid/os/Message;)V
HSPLcom/android/internal/telephony/uicc/SIMRecords;->loadCallForwardingRecords()V
@@ -22926,6 +23956,7 @@
HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->hasCarrierPrivilegeRules()Z
HSPLcom/android/internal/telephony/uicc/UiccController;-><init>(Landroid/content/Context;[Lcom/android/internal/telephony/CommandsInterface;)V
HSPLcom/android/internal/telephony/uicc/UiccController;->addCardId(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/UiccController;->addCardLog(Ljava/lang/String;)V
HSPLcom/android/internal/telephony/uicc/UiccController;->convertToPublicCardId(Ljava/lang/String;)I
HSPLcom/android/internal/telephony/uicc/UiccController;->getAllUiccCardInfos()Ljava/util/ArrayList;
HSPLcom/android/internal/telephony/uicc/UiccController;->getCardIdForDefaultEuicc()I
@@ -22972,12 +24003,13 @@
HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccStateReason(Lcom/android/internal/telephony/IccCardConstants$State;)Ljava/lang/String;
HSPLcom/android/internal/telephony/uicc/UiccProfile;->getOperatorBrandOverride()Ljava/lang/String;
HSPLcom/android/internal/telephony/uicc/UiccProfile;->getPhoneId()I
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->getServiceProviderName()Ljava/lang/String;
HSPLcom/android/internal/telephony/uicc/UiccProfile;->getState()Lcom/android/internal/telephony/IccCardConstants$State;
HSPLcom/android/internal/telephony/uicc/UiccProfile;->getUninstalledCarrierPackages()Ljava/util/Set;
HSPLcom/android/internal/telephony/uicc/UiccProfile;->handleCarrierNameOverride()V
HSPLcom/android/internal/telephony/uicc/UiccProfile;->handleSimCountryIsoOverride()V
HSPLcom/android/internal/telephony/uicc/UiccProfile;->hasCarrierPrivilegeRules()Z
-PLcom/android/internal/telephony/uicc/UiccProfile;->hasIccCard()Z
+HPLcom/android/internal/telephony/uicc/UiccProfile;->hasIccCard()Z
HSPLcom/android/internal/telephony/uicc/UiccProfile;->iccCloseLogicalChannel(ILandroid/os/Message;)V
HSPLcom/android/internal/telephony/uicc/UiccProfile;->iccOpenLogicalChannel(Ljava/lang/String;ILandroid/os/Message;)V
HSPLcom/android/internal/telephony/uicc/UiccProfile;->iccTransmitApduLogicalChannel(IIIIIILjava/lang/String;Landroid/os/Message;)V
@@ -23037,6 +24069,7 @@
PLcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
PLcom/android/internal/util/-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg;->test(Ljava/lang/Object;)Z
PLcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;->run()V
+HSPLcom/android/internal/util/ArrayUtils;->add(Landroid/util/ArraySet;Ljava/lang/Object;)Landroid/util/ArraySet;
HSPLcom/android/internal/util/ArrayUtils;->add(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
HSPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
HSPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;Z)[Ljava/lang/Object;
@@ -23067,6 +24100,7 @@
HSPLcom/android/internal/util/ArrayUtils;->referenceEquals(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
HSPLcom/android/internal/util/ArrayUtils;->remove(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList;
HSPLcom/android/internal/util/ArrayUtils;->removeElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
+HSPLcom/android/internal/util/ArrayUtils;->removeInt([II)[I
HSPLcom/android/internal/util/ArrayUtils;->size(Ljava/util/Collection;)I
HSPLcom/android/internal/util/ArrayUtils;->total([J)J
HSPLcom/android/internal/util/ArrayUtils;->trimToSize([Ljava/lang/Object;I)[Ljava/lang/Object;
@@ -23097,11 +24131,14 @@
HSPLcom/android/internal/util/BitUtils;->packBits([I)J
HSPLcom/android/internal/util/BitUtils;->toBytes(J)[B
HSPLcom/android/internal/util/BitUtils;->unpackBits(J)[I
+HPLcom/android/internal/util/CollectionUtils;->addIf(Ljava/util/List;Ljava/util/Collection;Ljava/util/function/Predicate;)V
+HSPLcom/android/internal/util/CollectionUtils;->copyOf(Ljava/util/Set;)Ljava/util/Set;
+HSPLcom/android/internal/util/CollectionUtils;->filter(Ljava/util/Set;Ljava/util/function/Predicate;)Ljava/util/Set;
HSPLcom/android/internal/util/CollectionUtils;->firstOrNull(Ljava/util/Collection;)Ljava/lang/Object;
HSPLcom/android/internal/util/CollectionUtils;->firstOrNull(Ljava/util/List;)Ljava/lang/Object;
HSPLcom/android/internal/util/CollectionUtils;->isEmpty(Ljava/util/Collection;)Z
HSPLcom/android/internal/util/CollectionUtils;->map(Ljava/util/Set;Ljava/util/function/Function;)Ljava/util/Set;
-PLcom/android/internal/util/CollectionUtils;->singletonOrEmpty(Ljava/lang/Object;)Ljava/util/List;
+HPLcom/android/internal/util/CollectionUtils;->singletonOrEmpty(Ljava/lang/Object;)Ljava/util/List;
HSPLcom/android/internal/util/CollectionUtils;->size(Ljava/util/Collection;)I
HSPLcom/android/internal/util/ConcurrentUtils$1$1;->run()V
HSPLcom/android/internal/util/ConcurrentUtils$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
@@ -23112,17 +24149,17 @@
HPLcom/android/internal/util/DumpUtils;->checkDumpAndUsageStatsPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
HSPLcom/android/internal/util/DumpUtils;->checkDumpPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
HPLcom/android/internal/util/DumpUtils;->checkUsageStatsPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
-PLcom/android/internal/util/DumpUtils;->filterRecord(Ljava/lang/String;)Ljava/util/function/Predicate;
+HPLcom/android/internal/util/DumpUtils;->filterRecord(Ljava/lang/String;)Ljava/util/function/Predicate;
HPLcom/android/internal/util/DumpUtils;->lambda$filterRecord$2(ILjava/lang/String;Landroid/content/ComponentName$WithComponentName;)Z
HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;-><init>(I)V
HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;->add(I)V
HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;)V
HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;ZI)V
-PLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;)V
+HPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;)V
HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;ZI)V
HSPLcom/android/internal/util/FastPrintWriter;->appendLocked(Ljava/lang/String;II)V
HPLcom/android/internal/util/FastPrintWriter;->appendLocked([CII)V
-PLcom/android/internal/util/FastPrintWriter;->checkError()Z
+HPLcom/android/internal/util/FastPrintWriter;->checkError()Z
HSPLcom/android/internal/util/FastPrintWriter;->close()V
HSPLcom/android/internal/util/FastPrintWriter;->flush()V
HSPLcom/android/internal/util/FastPrintWriter;->flushBytesLocked()V
@@ -23162,9 +24199,9 @@
HSPLcom/android/internal/util/FileRotator;->writeFile(Ljava/io/File;Lcom/android/internal/util/FileRotator$Writer;)V
HSPLcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;->accept(Ljava/lang/Object;)V
HSPLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;->accept(Ljava/lang/Object;)V
-PLcom/android/internal/util/FunctionalUtils$ThrowingRunnable;->run()V
-PLcom/android/internal/util/FunctionalUtils;->handleExceptions(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)Ljava/lang/Runnable;
-PLcom/android/internal/util/FunctionalUtils;->lambda$handleExceptions$0(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)V
+HPLcom/android/internal/util/FunctionalUtils$ThrowingRunnable;->run()V
+HPLcom/android/internal/util/FunctionalUtils;->handleExceptions(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)Ljava/lang/Runnable;
+HPLcom/android/internal/util/FunctionalUtils;->lambda$handleExceptions$0(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/util/function/Consumer;)V
HSPLcom/android/internal/util/GrowingArrayUtils;->append([III)[I
HSPLcom/android/internal/util/GrowingArrayUtils;->append([JIJ)[J
HSPLcom/android/internal/util/GrowingArrayUtils;->append([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;
@@ -23220,6 +24257,7 @@
HSPLcom/android/internal/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
HSPLcom/android/internal/util/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
HSPLcom/android/internal/util/Preconditions;->checkArgumentInRange(IIILjava/lang/String;)I
+HSPLcom/android/internal/util/Preconditions;->checkArgumentInRange(JJJLjava/lang/String;)J
HSPLcom/android/internal/util/Preconditions;->checkArgumentNonNegative(FLjava/lang/String;)F
HSPLcom/android/internal/util/Preconditions;->checkArgumentNonnegative(I)I
HSPLcom/android/internal/util/Preconditions;->checkArgumentNonnegative(ILjava/lang/String;)I
@@ -23249,9 +24287,9 @@
HSPLcom/android/internal/util/RingBuffer;->clear()V
HSPLcom/android/internal/util/RingBuffer;->createNewItem()Ljava/lang/Object;
HSPLcom/android/internal/util/RingBuffer;->getNextSlot()Ljava/lang/Object;
-PLcom/android/internal/util/RingBuffer;->isEmpty()Z
+HPLcom/android/internal/util/RingBuffer;->isEmpty()Z
HSPLcom/android/internal/util/RingBuffer;->size()I
-PLcom/android/internal/util/RingBuffer;->toArray()[Ljava/lang/Object;
+HPLcom/android/internal/util/RingBuffer;->toArray()[Ljava/lang/Object;
HSPLcom/android/internal/util/RingBufferIndices;->add()I
HSPLcom/android/internal/util/ScreenShapeHelper;->getWindowOutsetBottomPx(Landroid/content/res/Resources;)I
HSPLcom/android/internal/util/ScreenshotHelper;-><init>(Landroid/content/Context;)V
@@ -23314,7 +24352,7 @@
HSPLcom/android/internal/util/StateMachine;->sendMessage(ILjava/lang/Object;)V
HSPLcom/android/internal/util/StateMachine;->sendMessage(Landroid/os/Message;)V
HSPLcom/android/internal/util/StateMachine;->sendMessageAtFrontOfQueue(I)V
-PLcom/android/internal/util/StateMachine;->sendMessageAtFrontOfQueue(IIILjava/lang/Object;)V
+HPLcom/android/internal/util/StateMachine;->sendMessageAtFrontOfQueue(IIILjava/lang/Object;)V
HSPLcom/android/internal/util/StateMachine;->sendMessageDelayed(IJ)V
HSPLcom/android/internal/util/StateMachine;->sendMessageDelayed(Landroid/os/Message;J)V
HSPLcom/android/internal/util/StateMachine;->setDbg(Z)V
@@ -23324,13 +24362,13 @@
HSPLcom/android/internal/util/StateMachine;->start()V
HSPLcom/android/internal/util/StateMachine;->transitionTo(Lcom/android/internal/util/IState;)V
HSPLcom/android/internal/util/StateMachine;->unhandledMessage(Landroid/os/Message;)V
-PLcom/android/internal/util/SyncResultReceiver;->bundleFor(Landroid/os/Parcelable;)Landroid/os/Bundle;
+HPLcom/android/internal/util/SyncResultReceiver;->bundleFor(Landroid/os/Parcelable;)Landroid/os/Bundle;
HSPLcom/android/internal/util/SyncResultReceiver;->send(ILandroid/os/Bundle;)V
HSPLcom/android/internal/util/SyncResultReceiver;->waitResult()V
HSPLcom/android/internal/util/TokenBucket;-><init>(II)V
HSPLcom/android/internal/util/TokenBucket;-><init>(III)V
-PLcom/android/internal/util/TokenBucket;->get()Z
-PLcom/android/internal/util/TokenBucket;->get(I)I
+HPLcom/android/internal/util/TokenBucket;->get()Z
+HPLcom/android/internal/util/TokenBucket;->get(I)I
HSPLcom/android/internal/util/VirtualRefBasePtr;-><init>(J)V
HSPLcom/android/internal/util/VirtualRefBasePtr;->finalize()V
HSPLcom/android/internal/util/VirtualRefBasePtr;->release()V
@@ -23339,7 +24377,7 @@
HSPLcom/android/internal/util/WakeupMessage;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;IIILjava/lang/Object;)V
HSPLcom/android/internal/util/WakeupMessage;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/Runnable;)V
HSPLcom/android/internal/util/WakeupMessage;->cancel()V
-PLcom/android/internal/util/WakeupMessage;->onAlarm()V
+HPLcom/android/internal/util/WakeupMessage;->onAlarm()V
HSPLcom/android/internal/util/WakeupMessage;->schedule(J)V
HSPLcom/android/internal/util/XmlUtils;->beginDocument(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
HSPLcom/android/internal/util/XmlUtils;->convertValueToBoolean(Ljava/lang/CharSequence;Z)Z
@@ -23408,8 +24446,11 @@
PLcom/android/internal/view/BaseIWindow;->dispatchAppVisibility(Z)V
HSPLcom/android/internal/view/BaseIWindow;->insetsChanged(Landroid/view/InsetsState;)V
HSPLcom/android/internal/view/IInputConnectionWrapper$MyHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/view/IInputConnectionWrapper;->beginBatchEdit()V
HSPLcom/android/internal/view/IInputConnectionWrapper;->closeConnection()V
+HSPLcom/android/internal/view/IInputConnectionWrapper;->commitText(Ljava/lang/CharSequence;I)V
HSPLcom/android/internal/view/IInputConnectionWrapper;->dispatchMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/view/IInputConnectionWrapper;->endBatchEdit()V
HSPLcom/android/internal/view/IInputConnectionWrapper;->executeMessage(Landroid/os/Message;)V
HSPLcom/android/internal/view/IInputConnectionWrapper;->finishComposingText()V
HSPLcom/android/internal/view/IInputConnectionWrapper;->getInputConnection()Landroid/view/inputmethod/InputConnection;
@@ -23419,12 +24460,21 @@
HSPLcom/android/internal/view/IInputConnectionWrapper;->isFinished()Z
HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessage(I)Landroid/os/Message;
HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIISC(IIIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
+HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIO(IILjava/lang/Object;)Landroid/os/Message;
HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageISC(IIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
HSPLcom/android/internal/view/IInputContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->beginBatchEdit()V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->commitText(Ljava/lang/CharSequence;I)V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->deleteSurroundingText(II)V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->endBatchEdit()V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->finishComposingText()V
HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->sendKeyEvent(Landroid/view/KeyEvent;)V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingRegion(II)V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingText(Ljava/lang/CharSequence;I)V
HSPLcom/android/internal/view/IInputContext$Stub;->asBinder()Landroid/os/IBinder;
HSPLcom/android/internal/view/IInputContext$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputContext;
HSPLcom/android/internal/view/IInputContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -23588,15 +24638,18 @@
HSPLcom/android/internal/widget/BackgroundFallback;->draw(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/graphics/Canvas;Landroid/view/View;Landroid/view/View;Landroid/view/View;)V
HSPLcom/android/internal/widget/BackgroundFallback;->hasFallback()Z
HSPLcom/android/internal/widget/BackgroundFallback;->setDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLcom/android/internal/widget/DialogTitle;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
HSPLcom/android/internal/widget/EditableInputConnection;->beginBatchEdit()Z
HSPLcom/android/internal/widget/EditableInputConnection;->closeConnection()V
+HSPLcom/android/internal/widget/EditableInputConnection;->commitText(Ljava/lang/CharSequence;I)Z
HSPLcom/android/internal/widget/EditableInputConnection;->endBatchEdit()Z
HSPLcom/android/internal/widget/EditableInputConnection;->getEditable()Landroid/text/Editable;
PLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;->onCredentialVerified()V
HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getBoolean(Ljava/lang/String;ZI)Z
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getLong(Ljava/lang/String;JI)J
HSPLcom/android/internal/widget/ILockSettings$Stub;-><init>()V
HSPLcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
-PLcom/android/internal/widget/ILockSettings$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/widget/ILockSettings$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
HSPLcom/android/internal/widget/ILockSettings$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$1;->onStrongAuthRequiredChanged(II)V
HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$H;->handleMessage(Landroid/os/Message;)V
@@ -23623,12 +24676,12 @@
HSPLcom/android/internal/widget/LockPatternUtils;->isLockPasswordEnabled(II)Z
HSPLcom/android/internal/widget/LockPatternUtils;->isLockPatternEnabled(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->isOwnerInfoEnabled(I)Z
-PLcom/android/internal/widget/LockPatternUtils;->isPowerButtonInstantlyLocksEverChosen(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isPowerButtonInstantlyLocksEverChosen(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->isSecure(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->isSeparateProfileChallengeEnabled(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->isTrustUsuallyManaged(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->isVisiblePatternEnabled(I)Z
-PLcom/android/internal/widget/LockPatternUtils;->isVisiblePatternEverChosen(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isVisiblePatternEverChosen(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->registerStrongAuthTracker(Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;)V
HSPLcom/android/internal/widget/LockPatternUtils;->savedPasswordExists(I)Z
HSPLcom/android/internal/widget/LockPatternUtils;->savedPatternExists(I)Z
@@ -23637,13 +24690,16 @@
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->dismissPopupMenus()V
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getContext()Landroid/content/Context;
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getDisplayOptions()I
+HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getMenu()Landroid/view/Menu;
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getTitle()Ljava/lang/CharSequence;
+HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->getViewGroup()Landroid/view/ViewGroup;
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->hasIcon()Z
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->isSplit()Z
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setDefaultNavigationContentDescription(I)V
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setDisplayOptions(I)V
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setIcon(I)V
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setIcon(Landroid/graphics/drawable/Drawable;)V
+HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setMenuPrepared()V
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setWindowCallback(Landroid/view/Window$Callback;)V
@@ -23717,6 +24773,7 @@
HSPLcom/android/okhttp/HttpUrl$Builder;->toString()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;-><init>(Lcom/android/okhttp/HttpUrl$Builder;)V
HSPLcom/android/okhttp/HttpUrl;->canonicalize(Ljava/lang/String;IILjava/lang/String;ZZZZ)Ljava/lang/String;
+HSPLcom/android/okhttp/HttpUrl;->decodeHexDigit(C)I
HSPLcom/android/okhttp/HttpUrl;->encodedPassword()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->encodedPath()Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->encodedPathSegments()Ljava/util/List;
@@ -23725,6 +24782,7 @@
HSPLcom/android/okhttp/HttpUrl;->getChecked(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl;
HSPLcom/android/okhttp/HttpUrl;->namesAndValuesToQueryString(Ljava/lang/StringBuilder;Ljava/util/List;)V
HSPLcom/android/okhttp/HttpUrl;->newBuilder()Lcom/android/okhttp/HttpUrl$Builder;
+HSPLcom/android/okhttp/HttpUrl;->percentDecode(Lcom/android/okhttp/okio/Buffer;Ljava/lang/String;IIZ)V
HSPLcom/android/okhttp/HttpUrl;->percentDecode(Ljava/lang/String;IIZ)Ljava/lang/String;
HSPLcom/android/okhttp/HttpUrl;->percentDecode(Ljava/util/List;Z)Ljava/util/List;
HSPLcom/android/okhttp/HttpUrl;->queryStringToNamesAndValues(Ljava/lang/String;)Ljava/util/List;
@@ -23846,11 +24904,16 @@
HSPLcom/android/okhttp/internal/http/HttpMethod;->permitsRequestBody(Ljava/lang/String;)Z
HSPLcom/android/okhttp/internal/http/HttpMethod;->requiresRequestBody(Ljava/lang/String;)Z
HSPLcom/android/okhttp/internal/http/OkHeaders$1;-><init>()V
+HSPLcom/android/okhttp/internal/http/OkHeaders$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/okhttp/internal/http/OkHeaders$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
HSPLcom/android/okhttp/internal/http/OkHeaders;->stringToLong(Ljava/lang/String;)J
+HSPLcom/android/okhttp/internal/http/OkHeaders;->toMultimap(Lcom/android/okhttp/Headers;Ljava/lang/String;)Ljava/util/Map;
HSPLcom/android/okhttp/internal/http/RealResponseBody;->source()Lcom/android/okhttp/okio/BufferedSource;
HSPLcom/android/okhttp/internal/http/RequestLine;->get(Lcom/android/okhttp/Request;Ljava/net/Proxy$Type;)Ljava/lang/String;
HSPLcom/android/okhttp/internal/http/RequestLine;->requestPath(Lcom/android/okhttp/HttpUrl;)Ljava/lang/String;
HSPLcom/android/okhttp/internal/http/RetryableSink;->close()V
+HSPLcom/android/okhttp/internal/http/RetryableSink;->flush()V
+HSPLcom/android/okhttp/internal/http/RetryableSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
HSPLcom/android/okhttp/internal/http/RouteSelector;-><init>(Lcom/android/okhttp/Address;Lcom/android/okhttp/internal/RouteDatabase;)V
HSPLcom/android/okhttp/internal/http/RouteSelector;->next()Lcom/android/okhttp/Route;
HSPLcom/android/okhttp/internal/http/RouteSelector;->nextInetSocketAddress()Ljava/net/InetSocketAddress;
@@ -23866,6 +24929,7 @@
HSPLcom/android/okhttp/internal/http/StreamAllocation;->newStream(IIIZZ)Lcom/android/okhttp/internal/http/HttpStream;
HSPLcom/android/okhttp/internal/http/StreamAllocation;->release(Lcom/android/okhttp/internal/io/RealConnection;)V
HSPLcom/android/okhttp/internal/http/StreamAllocation;->streamFinished(Lcom/android/okhttp/internal/http/HttpStream;)V
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->connect()V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->disconnect()V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->execute(Z)Z
@@ -23875,6 +24939,7 @@
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponse()Lcom/android/okhttp/internal/http/HttpEngine;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponseCode()I
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getResponseMessage()Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->initHttpEngine()V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->newHttpEngine(Ljava/lang/String;Lcom/android/okhttp/internal/http/StreamAllocation;Lcom/android/okhttp/internal/http/RetryableSink;Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/HttpEngine;
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->responseSourceHeader(Lcom/android/okhttp/Response;)Ljava/lang/String;
@@ -23883,12 +24948,14 @@
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setReadTimeout(I)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setRequestMethod(Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->connect()V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->disconnect()V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getInputStream()Ljava/io/InputStream;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getResponseCode()I
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getResponseMessage()Ljava/lang/String;
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setConnectTimeout(I)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoOutput(Z)V
HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setInstanceFollowRedirects(Z)V
@@ -23927,12 +24994,14 @@
HSPLcom/android/okhttp/okio/Buffer;->readInt()I
HSPLcom/android/okhttp/okio/Buffer;->readShort()S
HSPLcom/android/okhttp/okio/Buffer;->readString(JLjava/nio/charset/Charset;)Ljava/lang/String;
+HSPLcom/android/okhttp/okio/Buffer;->readUtf8()Ljava/lang/String;
HSPLcom/android/okhttp/okio/Buffer;->readUtf8Line(J)Ljava/lang/String;
HSPLcom/android/okhttp/okio/Buffer;->skip(J)V
HSPLcom/android/okhttp/okio/Buffer;->writableSegment(I)Lcom/android/okhttp/okio/Segment;
HSPLcom/android/okhttp/okio/Buffer;->write(Lcom/android/okhttp/okio/Buffer;J)V
HSPLcom/android/okhttp/okio/Buffer;->write([BII)Lcom/android/okhttp/okio/Buffer;
HSPLcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;II)Lcom/android/okhttp/okio/Buffer;
+HSPLcom/android/okhttp/okio/Buffer;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/Buffer;
HSPLcom/android/okhttp/okio/ByteString;->of([B)Lcom/android/okhttp/okio/ByteString;
HSPLcom/android/okhttp/okio/GzipSource;-><init>(Lcom/android/okhttp/okio/Source;)V
HSPLcom/android/okhttp/okio/GzipSource;->checkEqual(Ljava/lang/String;II)V
@@ -23960,6 +25029,7 @@
HSPLcom/android/okhttp/okio/RealBufferedSink;->timeout()Lcom/android/okhttp/okio/Timeout;
HSPLcom/android/okhttp/okio/RealBufferedSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
HSPLcom/android/okhttp/okio/RealBufferedSink;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/okio/RealBufferedSource$1;->available()I
HSPLcom/android/okhttp/okio/RealBufferedSource$1;->close()V
HSPLcom/android/okhttp/okio/RealBufferedSource$1;->read([BII)I
HSPLcom/android/okhttp/okio/RealBufferedSource;->buffer()Lcom/android/okhttp/okio/Buffer;
@@ -24077,6 +25147,11 @@
HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar;->toDH(Lcom/android/org/bouncycastle/crypto/params/DSAParameters;)Lcom/android/org/bouncycastle/crypto/params/DHParameters;
HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryBouncyCastle;-><init>()V
HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;-><init>()V
+HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->doFinal([BI)I
+HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->getDigestSize()I
+HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->reset()V
+HSPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->update([BII)V
HSPLcom/android/org/bouncycastle/crypto/params/DHParameters;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;IILjava/math/BigInteger;Lcom/android/org/bouncycastle/crypto/params/DHValidationParameters;)V
HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Lcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;)V
HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getG()Ljava/math/BigInteger;
@@ -24180,7 +25255,7 @@
HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->setup()V
HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProviderConfiguration;-><init>()V
HSPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;-><init>(Ljava/security/cert/CertStoreParameters;)V
-PLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;->engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
+HPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;->engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
HSPLcom/android/org/bouncycastle/util/Integers;->valueOf(I)Ljava/lang/Integer;
HSPLcom/android/org/bouncycastle/util/Properties$1;->run()Ljava/lang/Object;
HSPLcom/android/org/bouncycastle/util/Properties;->isOverrideSet(Ljava/lang/String;)Z
@@ -24243,7 +25318,7 @@
HSPLcom/android/org/kxml2/io/KXmlSerializer;->setOutput(Ljava/io/Writer;)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V
HSPLcom/android/org/kxml2/io/KXmlSerializer;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-PLcom/android/org/kxml2/io/KXmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
+HPLcom/android/org/kxml2/io/KXmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
HSPLcom/android/org/kxml2/io/KXmlSerializer;->writeEscaped(Ljava/lang/String;I)V
HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->readMessage(Lcom/android/phone/ecc/nano/MessageNano;)V
@@ -24261,7 +25336,7 @@
HSPLcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;->emptyArray()[Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;
HSPLcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/MessageNano;
HSPLcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;
-PLcom/android/server/AppWidgetBackupBridge;->getWidgetState(Ljava/lang/String;I)[B
+HPLcom/android/server/AppWidgetBackupBridge;->getWidgetState(Ljava/lang/String;I)[B
HSPLcom/android/server/AppWidgetBackupBridge;->register(Lcom/android/server/WidgetBackupProvider;)V
PLcom/android/server/BootReceiver$1;->run()V
PLcom/android/server/BootReceiver;-><init>()V
@@ -24373,6 +25448,7 @@
PLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/net/BaseNetdEventCallback;-><init>()V
HSPLcom/android/server/net/BaseNetdEventCallback;->onConnectEvent(Ljava/lang/String;IJI)V
+HPLcom/android/server/net/BaseNetdEventCallback;->onNat64PrefixEvent(IZLjava/lang/String;I)V
HSPLcom/android/server/net/BaseNetdEventCallback;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
HSPLcom/android/server/net/BaseNetworkObserver;-><init>()V
HSPLcom/android/server/net/BaseNetworkObserver;->addressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
@@ -24388,22 +25464,25 @@
HSPLcom/android/server/sip/SipService;->start(Landroid/content/Context;)V
HSPLcom/android/server/sip/SipWakeupTimer;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
HSPLcom/android/server/wifi/BaseWifiService;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;
-PLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;
-PLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
-PLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
-PLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;
-PLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$GroupEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$GroupEvent;
HSPLcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;
PLcom/android/server/wifi/nano/WifiMetricsProto$Int32Count;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$Int32Count;
@@ -24413,21 +25492,21 @@
PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;
PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->computeSerializedSize()I
PLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;
-PLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;
-PLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;
-PLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$P2pConnectionEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$P2pConnectionEvent;
HSPLcom/android/server/wifi/nano/WifiMetricsProto$PasspointProfileTypeCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$PasspointProfileTypeCount;
HSPLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
PLcom/android/server/wifi/nano/WifiMetricsProto$RouterFingerPrint;->computeSerializedSize()I
PLcom/android/server/wifi/nano/WifiMetricsProto$RouterFingerPrint;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;-><init>()V
@@ -24460,39 +25539,39 @@
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;-><init>()V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;
HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->computeSerializedSize()I
HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkRequestApiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;-><init>()V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiNetworkSuggestionApiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;-><init>()V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;-><init>()V
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->computeSerializedSize()I
@@ -24509,15 +25588,15 @@
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;-><init>()V
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;->computeSerializedSize()I
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->computeSerializedSize()I
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;
-PLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;-><init>()V
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->computeSerializedSize()I
@@ -24528,23 +25607,27 @@
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;->computeSerializedSize()I
PLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;-><init>()V
-PLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;->computeSerializedSize()I
-PLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->computeSerializedSize()I
PLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->mergeFrom(Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/framework/protobuf/nano/MessageNano;
PLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->mergeFrom(Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
PLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->parseFrom([B)Lcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;
HPLcom/android/server/wm/nano/WindowManagerProtos$TaskSnapshotProto;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
HSPLcom/google/android/collect/Lists;->newArrayList()Ljava/util/ArrayList;
+HSPLcom/google/android/collect/Lists;->newArrayList([Ljava/lang/Object;)Ljava/util/ArrayList;
HSPLcom/google/android/collect/Maps;->newArrayMap()Landroid/util/ArrayMap;
HSPLcom/google/android/collect/Maps;->newHashMap()Ljava/util/HashMap;
HSPLcom/google/android/collect/Sets;->newArraySet()Landroid/util/ArraySet;
HSPLcom/google/android/collect/Sets;->newArraySet([Ljava/lang/Object;)Landroid/util/ArraySet;
HSPLcom/google/android/collect/Sets;->newHashSet()Ljava/util/HashSet;
HSPLcom/google/android/collect/Sets;->newHashSet([Ljava/lang/Object;)Ljava/util/HashSet;
+HSPLcom/google/android/gles_jni/EGLConfigImpl;-><init>(J)V
HSPLcom/google/android/gles_jni/EGLContextImpl;-><init>(J)V
HSPLcom/google/android/gles_jni/EGLDisplayImpl;-><init>(J)V
HSPLcom/google/android/gles_jni/EGLImpl;-><init>()V
+HSPLcom/google/android/gles_jni/EGLImpl;->eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;
+HSPLcom/google/android/gles_jni/EGLImpl;->eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;
HSPLcom/google/android/gles_jni/EGLSurfaceImpl;-><init>(J)V
HPLcom/google/android/rappor/Encoder;-><init>(Ljava/util/Random;Ljava/security/MessageDigest;Ljava/security/MessageDigest;[BLjava/lang/String;IDDDII)V
HPLcom/google/android/rappor/Encoder;->checkArgument(ZLjava/lang/Object;)V
@@ -24592,6 +25675,7 @@
HSPLdalvik/system/BaseDexClassLoader;->getLdLibraryPath()Ljava/lang/String;
HSPLdalvik/system/BaseDexClassLoader;->getPackage(Ljava/lang/String;)Ljava/lang/Package;
HSPLdalvik/system/BaseDexClassLoader;->reportClassLoaderChain()V
+HSPLdalvik/system/BaseDexClassLoader;->toString()Ljava/lang/String;
HSPLdalvik/system/BlockGuard$1;->onExplicitGc()V
HSPLdalvik/system/BlockGuard$1;->onNetwork()V
HSPLdalvik/system/BlockGuard$1;->onReadFromDisk()V
@@ -24615,6 +25699,7 @@
HSPLdalvik/system/DalvikLogging;->loggerNameToTag(Ljava/lang/String;)Ljava/lang/String;
HSPLdalvik/system/DelegateLastClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)V
HSPLdalvik/system/DelegateLastClassLoader;->loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
+HSPLdalvik/system/DexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
HSPLdalvik/system/DexFile;->defineClass(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/Object;Ldalvik/system/DexFile;Ljava/util/List;)Ljava/lang/Class;
HSPLdalvik/system/DexFile;->finalize()V
HSPLdalvik/system/DexFile;->getDexFileOptimizationInfo(Ljava/lang/String;Ljava/lang/String;)Ldalvik/system/DexFile$OptimizationInfo;
@@ -24701,6 +25786,7 @@
HSPLjava/io/BufferedWriter;->write(I)V
HSPLjava/io/BufferedWriter;->write(Ljava/lang/String;II)V
HSPLjava/io/ByteArrayInputStream;-><init>([B)V
+HSPLjava/io/ByteArrayInputStream;-><init>([BII)V
HSPLjava/io/ByteArrayInputStream;->available()I
HSPLjava/io/ByteArrayInputStream;->close()V
HSPLjava/io/ByteArrayInputStream;->mark(I)V
@@ -24845,6 +25931,7 @@
HSPLjava/io/FilterInputStream;->read([BII)I
HSPLjava/io/FilterInputStream;->reset()V
HSPLjava/io/FilterInputStream;->skip(J)J
+HSPLjava/io/FilterOutputStream;-><init>(Ljava/io/OutputStream;)V
HSPLjava/io/FilterOutputStream;->close()V
HSPLjava/io/FilterOutputStream;->write([B)V
HSPLjava/io/IOException;-><init>(Ljava/lang/String;)V
@@ -24956,6 +26043,7 @@
HSPLjava/io/ObjectOutputStream;->writeByte(I)V
HSPLjava/io/ObjectOutputStream;->writeClassDesc(Ljava/io/ObjectStreamClass;Z)V
HSPLjava/io/ObjectOutputStream;->writeClassDescriptor(Ljava/io/ObjectStreamClass;)V
+HSPLjava/io/ObjectOutputStream;->writeEnum(Ljava/lang/Enum;Ljava/io/ObjectStreamClass;Z)V
HSPLjava/io/ObjectOutputStream;->writeInt(I)V
HSPLjava/io/ObjectOutputStream;->writeLong(J)V
HSPLjava/io/ObjectOutputStream;->writeNonProxyDesc(Ljava/io/ObjectStreamClass;Z)V
@@ -24969,6 +26057,10 @@
HSPLjava/io/ObjectOutputStream;->writeTypeString(Ljava/lang/String;)V
HSPLjava/io/ObjectOutputStream;->writeUTF(Ljava/lang/String;)V
HSPLjava/io/ObjectStreamClass$2;->run()Ljava/lang/Void;
+HSPLjava/io/ObjectStreamClass$3;->compare(Ljava/io/ObjectStreamClass$MemberSignature;Ljava/io/ObjectStreamClass$MemberSignature;)I
+HSPLjava/io/ObjectStreamClass$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLjava/io/ObjectStreamClass$EntryFuture;->get()Ljava/lang/Object;
+HSPLjava/io/ObjectStreamClass$EntryFuture;->getOwner()Ljava/lang/Thread;
HSPLjava/io/ObjectStreamClass$EntryFuture;->set(Ljava/lang/Object;)Z
HSPLjava/io/ObjectStreamClass$FieldReflector;-><init>([Ljava/io/ObjectStreamField;)V
HSPLjava/io/ObjectStreamClass$FieldReflector;->getFields()[Ljava/io/ObjectStreamField;
@@ -25069,7 +26161,8 @@
HSPLjava/io/PrintWriter;->flush()V
HSPLjava/io/PrintWriter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
HSPLjava/io/PrintWriter;->newLine()V
-PLjava/io/PrintWriter;->print(D)V
+HPLjava/io/PrintWriter;->print(D)V
+HPLjava/io/PrintWriter;->print(F)V
HSPLjava/io/PrintWriter;->print(I)V
HSPLjava/io/PrintWriter;->print(J)V
HSPLjava/io/PrintWriter;->print(Ljava/lang/Object;)V
@@ -25077,6 +26170,7 @@
HSPLjava/io/PrintWriter;->print(Z)V
HSPLjava/io/PrintWriter;->printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
HSPLjava/io/PrintWriter;->println()V
+HPLjava/io/PrintWriter;->println(F)V
HSPLjava/io/PrintWriter;->println(I)V
HSPLjava/io/PrintWriter;->println(J)V
HSPLjava/io/PrintWriter;->println(Ljava/lang/Object;)V
@@ -25204,6 +26298,7 @@
HSPLjava/lang/BootClassLoader;->loadClass(Ljava/lang/String;Z)Ljava/lang/Class;
HSPLjava/lang/Byte;-><init>(B)V
HSPLjava/lang/Byte;->byteValue()B
+HSPLjava/lang/Byte;->hashCode()I
HSPLjava/lang/Byte;->toString()Ljava/lang/String;
HSPLjava/lang/Byte;->toUnsignedInt(B)I
HSPLjava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
@@ -25217,6 +26312,7 @@
HSPLjava/lang/Character;->codePointAt(Ljava/lang/CharSequence;I)I
HSPLjava/lang/Character;->codePointBefore(Ljava/lang/CharSequence;I)I
HSPLjava/lang/Character;->codePointCount(Ljava/lang/CharSequence;II)I
+HSPLjava/lang/Character;->codePointCountImpl([CII)I
HSPLjava/lang/Character;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Character;->digit(CI)I
HSPLjava/lang/Character;->digit(II)I
@@ -25228,6 +26324,7 @@
HSPLjava/lang/Character;->getNumericValue(I)I
HSPLjava/lang/Character;->getType(I)I
HSPLjava/lang/Character;->hashCode()I
+HSPLjava/lang/Character;->isAlphabetic(I)Z
HSPLjava/lang/Character;->isDigit(C)Z
HSPLjava/lang/Character;->isDigit(I)Z
HSPLjava/lang/Character;->isHighSurrogate(C)Z
@@ -25236,9 +26333,13 @@
HSPLjava/lang/Character;->isLetterOrDigit(C)Z
HSPLjava/lang/Character;->isLetterOrDigit(I)Z
HSPLjava/lang/Character;->isLowSurrogate(C)Z
+HSPLjava/lang/Character;->isSupplementaryCodePoint(I)Z
+HSPLjava/lang/Character;->isUpperCase(C)Z
HSPLjava/lang/Character;->isUpperCase(I)Z
+HSPLjava/lang/Character;->isValidCodePoint(I)Z
HSPLjava/lang/Character;->isWhitespace(C)Z
HSPLjava/lang/Character;->isWhitespace(I)Z
+HSPLjava/lang/Character;->offsetByCodePointsImpl([CIIII)I
HSPLjava/lang/Character;->toChars(I)[C
HSPLjava/lang/Character;->toChars(I[CI)I
HSPLjava/lang/Character;->toCodePoint(CC)I
@@ -25263,6 +26364,7 @@
HSPLjava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
HSPLjava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
HSPLjava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
+HSPLjava/lang/Class;->getEnumConstants()[Ljava/lang/Object;
HSPLjava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
HSPLjava/lang/Class;->getFields()[Ljava/lang/reflect/Field;
HSPLjava/lang/Class;->getGenericSuperclass()Ljava/lang/reflect/Type;
@@ -25286,7 +26388,10 @@
HSPLjava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
HSPLjava/lang/Class;->isEnum()Z
HSPLjava/lang/Class;->isInstance(Ljava/lang/Object;)Z
+HSPLjava/lang/Class;->isInterface()Z
+HSPLjava/lang/Class;->isLocalClass()Z
HSPLjava/lang/Class;->isMemberClass()Z
+HSPLjava/lang/Class;->isPrimitive()Z
HSPLjava/lang/Class;->resolveName(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/lang/Class;->toString()Ljava/lang/String;
HSPLjava/lang/ClassCastException;-><init>(Ljava/lang/String;)V
@@ -25327,9 +26432,11 @@
HSPLjava/lang/Daemons$ReferenceQueueDaemon;->runInternal()V
HSPLjava/lang/Daemons;->start()V
HSPLjava/lang/Double;->compare(DD)I
+HSPLjava/lang/Double;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Double;->doubleToLongBits(D)J
HSPLjava/lang/Double;->doubleValue()D
HSPLjava/lang/Double;->equals(Ljava/lang/Object;)Z
+HSPLjava/lang/Double;->hashCode()I
HSPLjava/lang/Double;->isInfinite(D)Z
HSPLjava/lang/Double;->isNaN(D)Z
HSPLjava/lang/Double;->longValue()J
@@ -25356,8 +26463,10 @@
HSPLjava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
HSPLjava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
HSPLjava/lang/Exception;-><init>(Ljava/lang/Throwable;)V
+HSPLjava/lang/Float;-><init>(F)V
HSPLjava/lang/Float;-><init>(Ljava/lang/String;)V
HSPLjava/lang/Float;->compare(FF)I
+HSPLjava/lang/Float;->compareTo(Ljava/lang/Object;)I
HSPLjava/lang/Float;->doubleValue()D
HSPLjava/lang/Float;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/Float;->floatToIntBits(F)I
@@ -25376,7 +26485,7 @@
HSPLjava/lang/IllegalStateException;-><init>()V
HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-PLjava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
+HPLjava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
HSPLjava/lang/InheritableThreadLocal;-><init>()V
HSPLjava/lang/InheritableThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V
HSPLjava/lang/InheritableThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap;
@@ -25533,9 +26642,10 @@
HSPLjava/lang/StackTraceElement;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
HSPLjava/lang/StackTraceElement;->equals(Ljava/lang/Object;)Z
HSPLjava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
+HSPLjava/lang/StackTraceElement;->getLineNumber()I
HSPLjava/lang/StackTraceElement;->getMethodName()Ljava/lang/String;
HSPLjava/lang/StackTraceElement;->toString()Ljava/lang/String;
-PLjava/lang/StrictMath;->toIntExact(J)I
+HPLjava/lang/StrictMath;->toIntExact(J)I
HSPLjava/lang/String$CaseInsensitiveComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/lang/String$CaseInsensitiveComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
HSPLjava/lang/String;->codePointAt(I)I
@@ -25606,6 +26716,7 @@
HSPLjava/lang/StringBuffer;->append(Ljava/lang/CharSequence;II)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer;
+HSPLjava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
HSPLjava/lang/StringBuffer;->append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
HSPLjava/lang/StringBuffer;->append(Z)Ljava/lang/StringBuffer;
@@ -25638,6 +26749,7 @@
HSPLjava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->appendCodePoint(I)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->charAt(I)C
+HSPLjava/lang/StringBuilder;->codePointCount(II)I
HSPLjava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->deleteCharAt(I)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->ensureCapacity(I)V
@@ -25648,6 +26760,7 @@
HSPLjava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->lastIndexOf(Ljava/lang/String;I)I
HSPLjava/lang/StringBuilder;->length()I
+HSPLjava/lang/StringBuilder;->offsetByCodePoints(II)I
HSPLjava/lang/StringBuilder;->replace(IILjava/lang/String;)Ljava/lang/StringBuilder;
HSPLjava/lang/StringBuilder;->setCharAt(IC)V
HSPLjava/lang/StringBuilder;->setLength(I)V
@@ -25726,6 +26839,7 @@
HSPLjava/lang/Thread;->sleep(J)V
HSPLjava/lang/Thread;->sleep(JI)V
HSPLjava/lang/Thread;->start()V
+HSPLjava/lang/Thread;->toString()Ljava/lang/String;
HSPLjava/lang/ThreadGroup;->activeCount()I
HSPLjava/lang/ThreadGroup;->add(Ljava/lang/Thread;)V
HSPLjava/lang/ThreadGroup;->addUnstarted()V
@@ -25798,6 +26912,7 @@
HSPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet;->add(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/lang/invoke/MethodType;->equals(Ljava/lang/Object;)Z
+HSPLjava/lang/invoke/MethodType;->genericMethodType(IZ)Ljava/lang/invoke/MethodType;
HSPLjava/lang/invoke/MethodType;->hashCode()I
HSPLjava/lang/invoke/MethodType;->insertParameterTypes(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
HSPLjava/lang/invoke/MethodType;->makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType;
@@ -25846,6 +26961,9 @@
HSPLjava/lang/reflect/Constructor;->getParameterTypes()[Ljava/lang/Class;
HSPLjava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/lang/reflect/Executable;->isAnnotationPresent(Ljava/lang/Class;)Z
+HSPLjava/lang/reflect/Executable;->printModifiersIfNonzero(Ljava/lang/StringBuilder;IZ)V
+HSPLjava/lang/reflect/Executable;->separateWithCommas([Ljava/lang/Class;Ljava/lang/StringBuilder;)V
+HSPLjava/lang/reflect/Executable;->sharedToString(IZ[Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
HSPLjava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
HSPLjava/lang/reflect/Field;->getModifiers()I
HSPLjava/lang/reflect/Field;->getName()Ljava/lang/String;
@@ -25860,9 +26978,12 @@
HSPLjava/lang/reflect/Method;->getName()Ljava/lang/String;
HSPLjava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
HSPLjava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;
+HSPLjava/lang/reflect/Method;->specificToStringHeader(Ljava/lang/StringBuilder;)V
+HSPLjava/lang/reflect/Method;->toString()Ljava/lang/String;
HSPLjava/lang/reflect/Modifier;->isFinal(I)Z
HSPLjava/lang/reflect/Modifier;->isPublic(I)Z
HSPLjava/lang/reflect/Modifier;->isStatic(I)Z
+HSPLjava/lang/reflect/Modifier;->toString(I)Ljava/lang/String;
HSPLjava/lang/reflect/Proxy$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/lang/reflect/Proxy$1;->compare(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)I
HSPLjava/lang/reflect/Proxy$Key1;->equals(Ljava/lang/Object;)Z
@@ -25914,6 +27035,7 @@
HSPLjava/math/BigInteger;-><init>(Ljava/lang/String;I)V
HSPLjava/math/BigInteger;-><init>([B)V
HSPLjava/math/BigInteger;->abs()Ljava/math/BigInteger;
+HSPLjava/math/BigInteger;->add(Ljava/math/BigInteger;)Ljava/math/BigInteger;
HSPLjava/math/BigInteger;->bitLength()I
HSPLjava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
HSPLjava/math/BigInteger;->divide(Ljava/math/BigInteger;)Ljava/math/BigInteger;
@@ -25934,9 +27056,11 @@
HSPLjava/math/BigInteger;->testBit(I)Z
HSPLjava/math/BigInteger;->toByteArray()[B
HSPLjava/math/BigInteger;->toString()Ljava/lang/String;
+HSPLjava/math/BigInteger;->toString(I)Ljava/lang/String;
HSPLjava/math/BigInteger;->twosComplement()[B
HSPLjava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
HSPLjava/math/BigInteger;->writeObject(Ljava/io/ObjectOutputStream;)V
+HSPLjava/math/Conversion;->bigInteger2String(Ljava/math/BigInteger;I)Ljava/lang/String;
HSPLjava/math/MathContext;-><init>(I)V
HSPLjava/math/MathContext;-><init>(ILjava/math/RoundingMode;)V
HSPLjava/math/MathContext;->checkValid()V
@@ -25954,6 +27078,7 @@
HSPLjava/net/AbstractPlainDatagramSocketImpl;->setOption(ILjava/lang/Object;)V
HSPLjava/net/AbstractPlainSocketImpl;-><init>()V
HSPLjava/net/AbstractPlainSocketImpl;->acquireFD()Ljava/io/FileDescriptor;
+HSPLjava/net/AbstractPlainSocketImpl;->bind(Ljava/net/InetAddress;I)V
HSPLjava/net/AbstractPlainSocketImpl;->close()V
HSPLjava/net/AbstractPlainSocketImpl;->connect(Ljava/net/SocketAddress;I)V
HSPLjava/net/AbstractPlainSocketImpl;->create(Z)V
@@ -25963,6 +27088,7 @@
HSPLjava/net/AbstractPlainSocketImpl;->getOption(I)Ljava/lang/Object;
HSPLjava/net/AbstractPlainSocketImpl;->getOutputStream()Ljava/io/OutputStream;
HSPLjava/net/AbstractPlainSocketImpl;->isClosedOrPending()Z
+HSPLjava/net/AbstractPlainSocketImpl;->listen(I)V
HSPLjava/net/AbstractPlainSocketImpl;->releaseFD()V
HSPLjava/net/AbstractPlainSocketImpl;->setOption(ILjava/lang/Object;)V
HSPLjava/net/AbstractPlainSocketImpl;->socketClose()V
@@ -26019,8 +27145,11 @@
HSPLjava/net/HttpCookie$9;-><init>()V
HSPLjava/net/HttpURLConnection;-><init>(Ljava/net/URL;)V
HSPLjava/net/HttpURLConnection;->getFollowRedirects()Z
+HSPLjava/net/HttpURLConnection;->setInstanceFollowRedirects(Z)V
HSPLjava/net/IDN;->toASCII(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/IDN;->toASCII(Ljava/lang/String;I)Ljava/lang/String;
+HSPLjava/net/IDN;->toUnicode(Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/IDN;->toUnicode(Ljava/lang/String;I)Ljava/lang/String;
HSPLjava/net/Inet4Address;-><init>(Ljava/lang/String;[B)V
HSPLjava/net/Inet4Address;->equals(Ljava/lang/Object;)Z
HSPLjava/net/Inet4Address;->getAddress()[B
@@ -26061,6 +27190,8 @@
HSPLjava/net/InetAddress$InetAddressHolder;->init(Ljava/lang/String;I)V
HSPLjava/net/InetAddress;->clearDnsCache()V
HSPLjava/net/InetAddress;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
+HSPLjava/net/InetAddress;->getAllByNameOnNet(Ljava/lang/String;I)[Ljava/net/InetAddress;
+HSPLjava/net/InetAddress;->getByAddress(Ljava/lang/String;[B)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->getByAddress(Ljava/lang/String;[BI)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->getByAddress([B)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
@@ -26068,11 +27199,14 @@
HSPLjava/net/InetAddress;->holder()Ljava/net/InetAddress$InetAddressHolder;
HSPLjava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLjava/net/InetAddress;->toString()Ljava/lang/String;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->equals(Ljava/lang/Object;)Z
HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getHostString()Ljava/lang/String;
HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->toString()Ljava/lang/String;
HSPLjava/net/InetSocketAddress;-><init>()V
+HSPLjava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
HSPLjava/net/InetSocketAddress;-><init>(Ljava/net/InetAddress;I)V
HSPLjava/net/InetSocketAddress;->createUnresolved(Ljava/lang/String;I)Ljava/net/InetSocketAddress;
+HSPLjava/net/InetSocketAddress;->equals(Ljava/lang/Object;)Z
HSPLjava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress;
HSPLjava/net/InetSocketAddress;->getHostString()Ljava/lang/String;
HSPLjava/net/InetSocketAddress;->getPort()I
@@ -26091,10 +27225,12 @@
HSPLjava/net/PlainDatagramSocketImpl;->send(Ljava/net/DatagramPacket;)V
HSPLjava/net/PlainDatagramSocketImpl;->socketGetOption(I)Ljava/lang/Object;
HSPLjava/net/PlainSocketImpl;->getMarkerFD()Ljava/io/FileDescriptor;
+HSPLjava/net/PlainSocketImpl;->socketBind(Ljava/net/InetAddress;I)V
HSPLjava/net/PlainSocketImpl;->socketClose0(Z)V
HSPLjava/net/PlainSocketImpl;->socketConnect(Ljava/net/InetAddress;II)V
HSPLjava/net/PlainSocketImpl;->socketCreate(Z)V
HSPLjava/net/PlainSocketImpl;->socketGetOption(I)Ljava/lang/Object;
+HSPLjava/net/PlainSocketImpl;->socketListen(I)V
HSPLjava/net/PlainSocketImpl;->socketSetOption(ILjava/lang/Object;)V
HSPLjava/net/PlainSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
HSPLjava/net/ProtocolException;-><init>(Ljava/lang/String;)V
@@ -26107,11 +27243,20 @@
HSPLjava/net/ProxySelector;->getDefault()Ljava/net/ProxySelector;
HSPLjava/net/ProxySelector;->setDefault(Ljava/net/ProxySelector;)V
HSPLjava/net/ResponseCache;->getDefault()Ljava/net/ResponseCache;
+HSPLjava/net/ServerSocket;->bind(Ljava/net/SocketAddress;I)V
+HSPLjava/net/ServerSocket;->createImpl()V
+HSPLjava/net/ServerSocket;->getImpl()Ljava/net/SocketImpl;
+HSPLjava/net/ServerSocket;->isBound()Z
+HSPLjava/net/ServerSocket;->isClosed()Z
+HSPLjava/net/ServerSocket;->setBound()V
+HSPLjava/net/ServerSocket;->setCreated()V
HSPLjava/net/Socket$2;->run()Ljava/io/InputStream;
HSPLjava/net/Socket$2;->run()Ljava/lang/Object;
HSPLjava/net/Socket$3;->run()Ljava/io/OutputStream;
HSPLjava/net/Socket$3;->run()Ljava/lang/Object;
HSPLjava/net/Socket;-><init>()V
+HSPLjava/net/Socket;-><init>(Ljava/net/InetAddress;I)V
+HSPLjava/net/Socket;-><init>(Ljava/net/SocketImpl;)V
HSPLjava/net/Socket;-><init>([Ljava/net/InetAddress;ILjava/net/SocketAddress;Z)V
HSPLjava/net/Socket;->checkAddress(Ljava/net/InetAddress;Ljava/lang/String;)V
HSPLjava/net/Socket;->close()V
@@ -26128,6 +27273,7 @@
HSPLjava/net/Socket;->getOutputStream()Ljava/io/OutputStream;
HSPLjava/net/Socket;->getPort()I
HSPLjava/net/Socket;->getRemoteSocketAddress()Ljava/net/SocketAddress;
+HSPLjava/net/Socket;->getReuseAddress()Z
HSPLjava/net/Socket;->getSoTimeout()I
HSPLjava/net/Socket;->isBound()Z
HSPLjava/net/Socket;->isClosed()Z
@@ -26143,6 +27289,7 @@
HSPLjava/net/SocketException;-><init>(Ljava/lang/String;)V
HSPLjava/net/SocketImpl;->getFileDescriptor()Ljava/io/FileDescriptor;
HSPLjava/net/SocketImpl;->getSocket()Ljava/net/Socket;
+HSPLjava/net/SocketImpl;->setServerSocket(Ljava/net/ServerSocket;)V
HSPLjava/net/SocketImpl;->setSocket(Ljava/net/Socket;)V
HSPLjava/net/SocketInputStream;->finalize()V
HSPLjava/net/SocketOutputStream;->finalize()V
@@ -26172,10 +27319,13 @@
HSPLjava/net/URI;->defineString()V
HSPLjava/net/URI;->encode(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/URI;->getAuthority()Ljava/lang/String;
+HSPLjava/net/URI;->getFragment()Ljava/lang/String;
HSPLjava/net/URI;->getHost()Ljava/lang/String;
HSPLjava/net/URI;->getPath()Ljava/lang/String;
HSPLjava/net/URI;->getPort()I
+HSPLjava/net/URI;->getQuery()Ljava/lang/String;
HSPLjava/net/URI;->getScheme()Ljava/lang/String;
+HSPLjava/net/URI;->getUserInfo()Ljava/lang/String;
HSPLjava/net/URI;->match(CJJ)Z
HSPLjava/net/URI;->quote(Ljava/lang/String;JJ)Ljava/lang/String;
HSPLjava/net/URI;->toASCIIString()Ljava/lang/String;
@@ -26193,9 +27343,14 @@
HSPLjava/net/URL;->set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/net/URL;->toExternalForm()Ljava/lang/String;
HSPLjava/net/URL;->toString()Ljava/lang/String;
+HSPLjava/net/URLConnection;->getContentLengthLong()J
+HSPLjava/net/URLConnection;->getContentType()Ljava/lang/String;
+HSPLjava/net/URLConnection;->getHeaderFieldLong(Ljava/lang/String;J)J
HSPLjava/net/URLConnection;->getURL()Ljava/net/URL;
HSPLjava/net/URLConnection;->getUseCaches()Z
+HSPLjava/net/URLConnection;->setDoInput(Z)V
HSPLjava/net/URLConnection;->setDoOutput(Z)V
+HSPLjava/net/URLConnection;->setReadTimeout(I)V
HSPLjava/net/URLConnection;->setUseCaches(Z)V
HSPLjava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
@@ -26316,12 +27471,14 @@
HSPLjava/nio/DirectByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
HSPLjava/nio/DirectByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
HSPLjava/nio/DirectByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
+HSPLjava/nio/DirectByteBuffer;->setAccessible(Z)V
HSPLjava/nio/DirectByteBuffer;->slice()Ljava/nio/ByteBuffer;
HSPLjava/nio/FloatBuffer;->limit(I)Ljava/nio/Buffer;
HSPLjava/nio/FloatBuffer;->position(I)Ljava/nio/Buffer;
HSPLjava/nio/HeapByteBuffer;->_get(I)B
HSPLjava/nio/HeapByteBuffer;->_put(IB)V
HSPLjava/nio/HeapByteBuffer;->asReadOnlyBuffer()Ljava/nio/ByteBuffer;
+HSPLjava/nio/HeapByteBuffer;->asShortBuffer()Ljava/nio/ShortBuffer;
HSPLjava/nio/HeapByteBuffer;->compact()Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->duplicate()Ljava/nio/ByteBuffer;
HSPLjava/nio/HeapByteBuffer;->get()B
@@ -26369,6 +27526,7 @@
HSPLjava/nio/StringCharBuffer;->get(I)C
HSPLjava/nio/channels/Channels;->newInputStream(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;
HSPLjava/nio/channels/FileChannel$MapMode;-><init>(Ljava/lang/String;)V
+HSPLjava/nio/channels/FileChannel;->tryLock()Ljava/nio/channels/FileLock;
HSPLjava/nio/channels/FileLock;-><init>(Ljava/nio/channels/FileChannel;JJZ)V
HSPLjava/nio/channels/FileLock;->acquiredBy()Ljava/nio/channels/Channel;
HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->begin()V
@@ -26435,6 +27593,7 @@
HSPLjava/nio/file/AccessMode;-><init>(Ljava/lang/String;I)V
HSPLjava/nio/file/FileSystems$DefaultFileSystemHolder;->defaultFileSystem()Ljava/nio/file/FileSystem;
HSPLjava/nio/file/FileSystems$DefaultFileSystemHolder;->getDefaultProvider()Ljava/nio/file/spi/FileSystemProvider;
+HSPLjava/nio/file/FileSystems;->getDefault()Ljava/nio/file/FileSystem;
PLjava/nio/file/Files$1;->accept(Ljava/lang/Object;)Z
PLjava/nio/file/Files$1;->accept(Ljava/nio/file/Path;)Z
HSPLjava/nio/file/Files$AcceptAllFilter;-><init>()V
@@ -26447,8 +27606,8 @@
HSPLjava/nio/file/Files;->isRegularFile(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
HSPLjava/nio/file/Files;->newBufferedReader(Ljava/nio/file/Path;)Ljava/io/BufferedReader;
HSPLjava/nio/file/Files;->newBufferedReader(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;
-PLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
-PLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
+HPLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;
+HPLjava/nio/file/Files;->newDirectoryStream(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
HSPLjava/nio/file/Files;->read(Ljava/io/InputStream;I)[B
HSPLjava/nio/file/Files;->readAllBytes(Ljava/nio/file/Path;)[B
HSPLjava/nio/file/LinkOption;-><init>(Ljava/lang/String;I)V
@@ -26497,6 +27656,7 @@
HSPLjava/security/MessageDigest;->digest([BII)I
HSPLjava/security/MessageDigest;->getDigestLength()I
HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
+HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;
HSPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/MessageDigest;
HSPLjava/security/MessageDigest;->isEqual([B[B)Z
HSPLjava/security/MessageDigest;->reset()V
@@ -26575,7 +27735,7 @@
HSPLjava/security/cert/CertPath;->getType()Ljava/lang/String;
PLjava/security/cert/CertPathBuilder;->build(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
PLjava/security/cert/CertPathBuilder;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
-PLjava/security/cert/CertPathHelperImpl;->implSetPathToNames(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
+HPLjava/security/cert/CertPathHelperImpl;->implSetPathToNames(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
HSPLjava/security/cert/CertPathHelperImpl;->initialize()V
HSPLjava/security/cert/CertPathValidator;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
HSPLjava/security/cert/CertPathValidator;->getRevocationChecker()Ljava/security/cert/CertPathChecker;
@@ -26583,14 +27743,14 @@
HSPLjava/security/cert/CertStore;->getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
HSPLjava/security/cert/Certificate;->equals(Ljava/lang/Object;)Z
HSPLjava/security/cert/Certificate;->hashCode()I
-PLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;
+HPLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;
HSPLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;
HSPLjava/security/cert/CertificateFactory;->generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
HSPLjava/security/cert/CertificateFactory;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
HSPLjava/security/cert/CertificateFactorySpi;-><init>()V
HSPLjava/security/cert/CollectionCertStoreParameters;-><init>(Ljava/util/Collection;)V
HSPLjava/security/cert/CollectionCertStoreParameters;->clone()Ljava/lang/Object;
-PLjava/security/cert/CollectionCertStoreParameters;->getCollection()Ljava/util/Collection;
+HPLjava/security/cert/CollectionCertStoreParameters;->getCollection()Ljava/util/Collection;
PLjava/security/cert/PKIXBuilderParameters;-><init>(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
PLjava/security/cert/PKIXBuilderParameters;->getMaxPathLength()I
PLjava/security/cert/PKIXCertPathBuilderResult;->getCertPath()Ljava/security/cert/CertPath;
@@ -26598,7 +27758,7 @@
HSPLjava/security/cert/PKIXCertPathChecker;->clone()Ljava/lang/Object;
HSPLjava/security/cert/PKIXParameters;-><init>(Ljava/util/Set;)V
HSPLjava/security/cert/PKIXParameters;->addCertPathChecker(Ljava/security/cert/PKIXCertPathChecker;)V
-PLjava/security/cert/PKIXParameters;->addCertStore(Ljava/security/cert/CertStore;)V
+HPLjava/security/cert/PKIXParameters;->addCertStore(Ljava/security/cert/CertStore;)V
HSPLjava/security/cert/PKIXParameters;->getCertPathCheckers()Ljava/util/List;
HSPLjava/security/cert/PKIXParameters;->getCertStores()Ljava/util/List;
HSPLjava/security/cert/PKIXParameters;->getDate()Ljava/util/Date;
@@ -26631,11 +27791,11 @@
HSPLjava/security/cert/TrustAnchor;->getTrustedCert()Ljava/security/cert/X509Certificate;
HSPLjava/security/cert/TrustAnchor;->setNameConstraints([B)V
HSPLjava/security/cert/X509CertSelector;-><init>()V
-PLjava/security/cert/X509CertSelector;->clone()Ljava/lang/Object;
-PLjava/security/cert/X509CertSelector;->getBasicConstraints()I
-PLjava/security/cert/X509CertSelector;->getCertificate()Ljava/security/cert/X509Certificate;
-PLjava/security/cert/X509CertSelector;->getExtensionObject(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
-PLjava/security/cert/X509CertSelector;->getSubject()Ljavax/security/auth/x500/X500Principal;
+HPLjava/security/cert/X509CertSelector;->clone()Ljava/lang/Object;
+HPLjava/security/cert/X509CertSelector;->getBasicConstraints()I
+HPLjava/security/cert/X509CertSelector;->getCertificate()Ljava/security/cert/X509Certificate;
+HPLjava/security/cert/X509CertSelector;->getExtensionObject(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
+HPLjava/security/cert/X509CertSelector;->getSubject()Ljavax/security/auth/x500/X500Principal;
HSPLjava/security/cert/X509CertSelector;->match(Ljava/security/cert/Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchAuthorityKeyID(Ljava/security/cert/X509Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchBasicConstraints(Ljava/security/cert/X509Certificate;)Z
@@ -26648,9 +27808,9 @@
HSPLjava/security/cert/X509CertSelector;->matchSubjectAlternativeNames(Ljava/security/cert/X509Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
HSPLjava/security/cert/X509CertSelector;->matchSubjectPublicKeyAlgID(Ljava/security/cert/X509Certificate;)Z
-PLjava/security/cert/X509CertSelector;->setBasicConstraints(I)V
-PLjava/security/cert/X509CertSelector;->setCertificateValid(Ljava/util/Date;)V
-PLjava/security/cert/X509CertSelector;->setPathToNamesInternal(Ljava/util/Set;)V
+HPLjava/security/cert/X509CertSelector;->setBasicConstraints(I)V
+HPLjava/security/cert/X509CertSelector;->setCertificateValid(Ljava/util/Date;)V
+HPLjava/security/cert/X509CertSelector;->setPathToNamesInternal(Ljava/util/Set;)V
HSPLjava/security/cert/X509CertSelector;->setSubject(Ljavax/security/auth/x500/X500Principal;)V
HSPLjava/security/cert/X509Certificate;-><init>()V
HSPLjava/security/spec/DSAParameterSpec;->getG()Ljava/math/BigInteger;
@@ -26686,6 +27846,7 @@
HSPLjava/text/CalendarBuilder;->set(II)Ljava/text/CalendarBuilder;
HSPLjava/text/Collator;->getInstance()Ljava/text/Collator;
HSPLjava/text/Collator;->getInstance(Ljava/util/Locale;)Ljava/text/Collator;
+HSPLjava/text/Collator;->setStrength(I)V
HSPLjava/text/DateFormat$Field;-><init>(Ljava/lang/String;I)V
HSPLjava/text/DateFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
HSPLjava/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
@@ -26706,6 +27867,7 @@
HSPLjava/text/DateFormatSymbols;->initializeData(Ljava/util/Locale;)V
HSPLjava/text/DateFormatSymbols;->initializeSupplementaryData(Llibcore/icu/LocaleData;)V
HSPLjava/text/DecimalFormat;-><init>(Ljava/lang/String;)V
+HSPLjava/text/DecimalFormat;-><init>(Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V
HSPLjava/text/DecimalFormat;->clone()Ljava/lang/Object;
HSPLjava/text/DecimalFormat;->equals(Ljava/lang/Object;)Z
HSPLjava/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
@@ -26714,6 +27876,7 @@
HSPLjava/text/DecimalFormat;->getIcuFieldPosition(Ljava/text/FieldPosition;)Ljava/text/FieldPosition;
HSPLjava/text/DecimalFormat;->getMaximumFractionDigits()I
HSPLjava/text/DecimalFormat;->getMaximumIntegerDigits()I
+HSPLjava/text/DecimalFormat;->getMinimumFractionDigits()I
HSPLjava/text/DecimalFormat;->getMinimumIntegerDigits()I
HSPLjava/text/DecimalFormat;->getNegativePrefix()Ljava/lang/String;
HSPLjava/text/DecimalFormat;->getNegativeSuffix()Ljava/lang/String;
@@ -26725,6 +27888,7 @@
HSPLjava/text/DecimalFormat;->setGroupingUsed(Z)V
HSPLjava/text/DecimalFormat;->setMaximumFractionDigits(I)V
HSPLjava/text/DecimalFormat;->setMaximumIntegerDigits(I)V
+HSPLjava/text/DecimalFormat;->setMinimumFractionDigits(I)V
HSPLjava/text/DecimalFormat;->setMinimumIntegerDigits(I)V
HSPLjava/text/DecimalFormat;->toPattern()Ljava/lang/String;
HSPLjava/text/DecimalFormat;->updateFieldsFromIcu()V
@@ -26760,6 +27924,7 @@
HSPLjava/text/Normalizer;->normalize(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;
HSPLjava/text/NumberFormat;->format(D)Ljava/lang/String;
HSPLjava/text/NumberFormat;->format(J)Ljava/lang/String;
+HSPLjava/text/NumberFormat;->getInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
HSPLjava/text/NumberFormat;->getInstance(Ljava/util/Locale;I)Ljava/text/NumberFormat;
HSPLjava/text/NumberFormat;->getIntegerInstance()Ljava/text/NumberFormat;
HSPLjava/text/NumberFormat;->getIntegerInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
@@ -26795,6 +27960,8 @@
HSPLjava/text/StringCharacterIterator;-><init>(Ljava/lang/String;III)V
HSPLjava/text/StringCharacterIterator;->clone()Ljava/lang/Object;
HSPLjava/text/StringCharacterIterator;->current()C
+HSPLjava/text/StringCharacterIterator;->first()C
+HSPLjava/text/StringCharacterIterator;->getBeginIndex()I
HSPLjava/text/StringCharacterIterator;->getEndIndex()I
HSPLjava/text/StringCharacterIterator;->getIndex()I
HSPLjava/text/StringCharacterIterator;->next()C
@@ -26817,7 +27984,10 @@
HSPLjava/time/DayOfWeek;->of(I)Ljava/time/DayOfWeek;
HSPLjava/time/DayOfWeek;->values()[Ljava/time/DayOfWeek;
HSPLjava/time/Duration;-><init>(JI)V
+HSPLjava/time/Duration;->ofDays(J)Ljava/time/Duration;
HSPLjava/time/Duration;->ofHours(J)Ljava/time/Duration;
+HSPLjava/time/Duration;->ofMillis(J)Ljava/time/Duration;
+HSPLjava/time/Duration;->ofMinutes(J)Ljava/time/Duration;
HSPLjava/time/Duration;->ofNanos(J)Ljava/time/Duration;
HSPLjava/time/Duration;->ofSeconds(J)Ljava/time/Duration;
HSPLjava/time/Duration;->ofSeconds(JJ)Ljava/time/Duration;
@@ -26825,11 +27995,13 @@
HSPLjava/time/Instant;-><init>(JI)V
HSPLjava/time/Instant;->create(JI)Ljava/time/Instant;
HSPLjava/time/Instant;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;
+HSPLjava/time/Instant;->isSupported(Ljava/time/temporal/TemporalField;)Z
HSPLjava/time/Instant;->now()Ljava/time/Instant;
HSPLjava/time/Instant;->ofEpochMilli(J)Ljava/time/Instant;
HSPLjava/time/Instant;->ofEpochSecond(JJ)Ljava/time/Instant;
HSPLjava/time/Instant;->parse(Ljava/lang/CharSequence;)Ljava/time/Instant;
HSPLjava/time/Instant;->plus(JJ)Ljava/time/Instant;
+HSPLjava/time/Instant;->plusMillis(J)Ljava/time/Instant;
HSPLjava/time/Instant;->toEpochMilli()J
HSPLjava/time/LocalDate;->atTime(Ljava/time/LocalTime;)Ljava/time/chrono/ChronoLocalDateTime;
HSPLjava/time/LocalDate;->create(III)Ljava/time/LocalDate;
@@ -26837,7 +28009,7 @@
HSPLjava/time/LocalDate;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;
HSPLjava/time/LocalDate;->get0(Ljava/time/temporal/TemporalField;)I
HSPLjava/time/LocalDate;->getChronology()Ljava/time/chrono/Chronology;
-PLjava/time/LocalDate;->getLong(Ljava/time/temporal/TemporalField;)J
+HPLjava/time/LocalDate;->getLong(Ljava/time/temporal/TemporalField;)J
HSPLjava/time/LocalDate;->isAfter(Ljava/time/chrono/ChronoLocalDate;)Z
HSPLjava/time/LocalDate;->isSupported(Ljava/time/temporal/TemporalField;)Z
HSPLjava/time/LocalDate;->minusDays(J)Ljava/time/LocalDate;
@@ -26918,7 +28090,7 @@
HSPLjava/time/ZoneRegion;->ofId(Ljava/lang/String;Z)Ljava/time/ZoneRegion;
HSPLjava/time/ZonedDateTime;->create(JILjava/time/ZoneId;)Ljava/time/ZonedDateTime;
HSPLjava/time/ZonedDateTime;->equals(Ljava/lang/Object;)Z
-PLjava/time/ZonedDateTime;->format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
+HPLjava/time/ZonedDateTime;->format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
HSPLjava/time/ZonedDateTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;
HSPLjava/time/ZonedDateTime;->getDayOfMonth()I
HSPLjava/time/ZonedDateTime;->getLong(Ljava/time/temporal/TemporalField;)J
@@ -26929,9 +28101,9 @@
HSPLjava/time/ZonedDateTime;->ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
HSPLjava/time/ZonedDateTime;->ofLocal(Ljava/time/LocalDateTime;Ljava/time/ZoneId;Ljava/time/ZoneOffset;)Ljava/time/ZonedDateTime;
HSPLjava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/ZonedDateTime;
-PLjava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
+HPLjava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
HSPLjava/time/ZonedDateTime;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/ZonedDateTime;
-PLjava/time/ZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
+HPLjava/time/ZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
HSPLjava/time/ZonedDateTime;->toLocalDate()Ljava/time/LocalDate;
HSPLjava/time/ZonedDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
HSPLjava/time/ZonedDateTime;->toLocalTime()Ljava/time/LocalTime;
@@ -26946,8 +28118,8 @@
HSPLjava/time/chrono/ChronoLocalDateTime;->toEpochSecond(Ljava/time/ZoneOffset;)J
HSPLjava/time/chrono/ChronoZonedDateTime;->compareTo(Ljava/lang/Object;)I
HSPLjava/time/chrono/ChronoZonedDateTime;->compareTo(Ljava/time/chrono/ChronoZonedDateTime;)I
-PLjava/time/chrono/ChronoZonedDateTime;->getChronology()Ljava/time/chrono/Chronology;
-PLjava/time/chrono/ChronoZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
+HPLjava/time/chrono/ChronoZonedDateTime;->getChronology()Ljava/time/chrono/Chronology;
+HPLjava/time/chrono/ChronoZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
HSPLjava/time/chrono/ChronoZonedDateTime;->toEpochSecond()J
HSPLjava/time/chrono/ChronoZonedDateTime;->toInstant()Ljava/time/Instant;
HSPLjava/time/chrono/IsoChronology;-><init>()V
@@ -26960,7 +28132,7 @@
HSPLjava/time/format/-$$Lambda$DateTimeFormatter$GhpE1dbCMFpBqvhZZgrqVYpzk8E;-><init>()V
HSPLjava/time/format/-$$Lambda$DateTimeFormatter$QqeEAMXK7Qf5gsmaSCLmrVwQ1Ns;-><init>()V
HSPLjava/time/format/-$$Lambda$DateTimeFormatterBuilder$M-GACNxm6552EiylPRPw4dyNXKo;-><init>()V
-PLjava/time/format/-$$Lambda$DateTimeFormatterBuilder$M-GACNxm6552EiylPRPw4dyNXKo;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
+HPLjava/time/format/-$$Lambda$DateTimeFormatterBuilder$M-GACNxm6552EiylPRPw4dyNXKo;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
HSPLjava/time/format/DateTimeFormatter;-><init>(Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;Ljava/util/Locale;Ljava/time/format/DecimalStyle;Ljava/time/format/ResolverStyle;Ljava/util/Set;Ljava/time/chrono/Chronology;Ljava/time/ZoneId;)V
HSPLjava/time/format/DateTimeFormatter;->formatTo(Ljava/time/temporal/TemporalAccessor;Ljava/lang/Appendable;)V
HSPLjava/time/format/DateTimeFormatter;->ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;
@@ -26969,25 +28141,25 @@
HSPLjava/time/format/DateTimeFormatter;->parseUnresolved0(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/format/DateTimeParseContext;
HSPLjava/time/format/DateTimeFormatter;->toPrinterParser(Z)Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;
HSPLjava/time/format/DateTimeFormatterBuilder$2;-><init>()V
-PLjava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
HSPLjava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
HSPLjava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
HSPLjava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
HSPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;-><init>(Ljava/time/temporal/TemporalField;IIZ)V
HSPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertFromFraction(Ljava/math/BigDecimal;)J
-PLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertToFraction(J)Ljava/math/BigDecimal;
-PLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertToFraction(J)Ljava/math/BigDecimal;
+HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
HSPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
HSPLjava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-PLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
-PLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->getValue(Ljava/time/format/DateTimePrintContext;J)J
+HPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->getValue(Ljava/time/format/DateTimePrintContext;J)J
HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->setValue(Ljava/time/format/DateTimeParseContext;JII)I
HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->withFixedWidth()Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
HSPLjava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;->withSubsequentWidth(I)Ljava/time/format/DateTimeFormatterBuilder$NumberPrinterParser;
HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;-><init>(Ljava/lang/String;Ljava/lang/String;)V
HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->checkPattern(Ljava/lang/String;)I
-PLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
HSPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->parseNumber([IILjava/lang/CharSequence;Z)Z
HSPLjava/time/format/DateTimeFormatterBuilder$PrefixTree;->add0(Ljava/lang/String;Ljava/lang/String;)Z
@@ -27000,7 +28172,7 @@
HSPLjava/time/format/DateTimeFormatterBuilder$SettingsParser;-><init>(Ljava/lang/String;I)V
HSPLjava/time/format/DateTimeFormatterBuilder$SettingsParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
HSPLjava/time/format/DateTimeFormatterBuilder$SettingsParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
-PLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
HSPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->getTree(Ljava/time/format/DateTimeParseContext;)Ljava/time/format/DateTimeFormatterBuilder$PrefixTree;
HSPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
HSPLjava/time/format/DateTimeFormatterBuilder;-><init>()V
@@ -27055,7 +28227,7 @@
HSPLjava/time/format/Parsed;->updateCheckConflict(Ljava/time/chrono/ChronoLocalDate;)V
HSPLjava/time/format/ResolverStyle;-><init>(Ljava/lang/String;I)V
HSPLjava/time/format/SignStyle;-><init>(Ljava/lang/String;I)V
-PLjava/time/format/SignStyle;->values()[Ljava/time/format/SignStyle;
+HPLjava/time/format/SignStyle;->values()[Ljava/time/format/SignStyle;
HSPLjava/time/format/TextStyle;-><init>(Ljava/lang/String;III)V
HSPLjava/time/temporal/-$$Lambda$TemporalQueries$IZUinmsZUz98YXPe0ftAd27ByiE;-><init>()V
HSPLjava/time/temporal/-$$Lambda$TemporalQueries$JPrXwgedeqexYxypO8VpPKV4l3c;-><init>()V
@@ -27115,6 +28287,7 @@
HSPLjava/util/-$$Lambda$Comparator$SPB8K9Yj7Pw1mljm7LpasV7zxWw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
HSPLjava/util/AbstractCollection;-><init>()V
HSPLjava/util/AbstractCollection;->addAll(Ljava/util/Collection;)Z
+HSPLjava/util/AbstractCollection;->clear()V
HSPLjava/util/AbstractCollection;->contains(Ljava/lang/Object;)Z
HSPLjava/util/AbstractCollection;->containsAll(Ljava/util/Collection;)Z
HSPLjava/util/AbstractCollection;->isEmpty()Z
@@ -27124,6 +28297,7 @@
HSPLjava/util/AbstractCollection;->toArray()[Ljava/lang/Object;
HSPLjava/util/AbstractCollection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/AbstractCollection;->toString()Ljava/lang/String;
+HSPLjava/util/AbstractList$Itr;-><init>(Ljava/util/AbstractList;)V
HSPLjava/util/AbstractList$Itr;->hasNext()Z
HSPLjava/util/AbstractList$Itr;->next()Ljava/lang/Object;
HSPLjava/util/AbstractList$ListItr;->nextIndex()I
@@ -27167,7 +28341,9 @@
HSPLjava/util/ArrayDeque;->addLast(Ljava/lang/Object;)V
HSPLjava/util/ArrayDeque;->allocateElements(I)V
HSPLjava/util/ArrayDeque;->clear()V
+HSPLjava/util/ArrayDeque;->contains(Ljava/lang/Object;)Z
HSPLjava/util/ArrayDeque;->delete(I)Z
+HSPLjava/util/ArrayDeque;->descendingIterator()Ljava/util/Iterator;
HSPLjava/util/ArrayDeque;->doubleCapacity()V
HSPLjava/util/ArrayDeque;->getFirst()Ljava/lang/Object;
HSPLjava/util/ArrayDeque;->getLast()Ljava/lang/Object;
@@ -27190,7 +28366,7 @@
HSPLjava/util/ArrayDeque;->removeLast()Ljava/lang/Object;
HSPLjava/util/ArrayDeque;->size()I
HSPLjava/util/ArrayDeque;->toArray()[Ljava/lang/Object;
-PLjava/util/ArrayDeque;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HPLjava/util/ArrayDeque;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
HSPLjava/util/ArrayList$ArrayListSpliterator;->characteristics()I
HSPLjava/util/ArrayList$ArrayListSpliterator;->estimateSize()J
HSPLjava/util/ArrayList$ArrayListSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
@@ -27279,10 +28455,12 @@
HSPLjava/util/Arrays;->equals([B[B)Z
HSPLjava/util/Arrays;->equals([F[F)Z
HSPLjava/util/Arrays;->equals([I[I)Z
+HSPLjava/util/Arrays;->equals([J[J)Z
HSPLjava/util/Arrays;->equals([Ljava/lang/Object;[Ljava/lang/Object;)Z
HSPLjava/util/Arrays;->equals([Z[Z)Z
HSPLjava/util/Arrays;->fill([BB)V
HSPLjava/util/Arrays;->fill([CC)V
+HSPLjava/util/Arrays;->fill([CIIC)V
HSPLjava/util/Arrays;->fill([FF)V
HSPLjava/util/Arrays;->fill([II)V
HSPLjava/util/Arrays;->fill([IIII)V
@@ -27297,8 +28475,10 @@
HSPLjava/util/Arrays;->hashCode([J)I
HSPLjava/util/Arrays;->hashCode([Ljava/lang/Object;)I
HSPLjava/util/Arrays;->rangeCheck(III)V
+HSPLjava/util/Arrays;->sort([C)V
HSPLjava/util/Arrays;->sort([F)V
HSPLjava/util/Arrays;->sort([I)V
+HSPLjava/util/Arrays;->sort([III)V
HSPLjava/util/Arrays;->sort([J)V
HSPLjava/util/Arrays;->sort([Ljava/lang/Object;)V
HSPLjava/util/Arrays;->sort([Ljava/lang/Object;IILjava/util/Comparator;)V
@@ -27378,6 +28558,10 @@
HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;
HSPLjava/util/Collections$1;->hasNext()Z
HSPLjava/util/Collections$1;->next()Ljava/lang/Object;
+HPLjava/util/Collections$2;->characteristics()I
+HPLjava/util/Collections$2;->estimateSize()J
+HPLjava/util/Collections$2;->forEachRemaining(Ljava/util/function/Consumer;)V
+HPLjava/util/Collections$2;->tryAdvance(Ljava/util/function/Consumer;)Z
HSPLjava/util/Collections$3;->hasMoreElements()Z
HSPLjava/util/Collections$3;->nextElement()Ljava/lang/Object;
HSPLjava/util/Collections$CopiesList;->get(I)Ljava/lang/Object;
@@ -27423,6 +28607,7 @@
HSPLjava/util/Collections$SingletonList;->get(I)Ljava/lang/Object;
HSPLjava/util/Collections$SingletonList;->iterator()Ljava/util/Iterator;
HSPLjava/util/Collections$SingletonList;->size()I
+HPLjava/util/Collections$SingletonList;->spliterator()Ljava/util/Spliterator;
HSPLjava/util/Collections$SingletonMap;->entrySet()Ljava/util/Set;
HSPLjava/util/Collections$SingletonMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Collections$SingletonMap;->keySet()Ljava/util/Set;
@@ -27446,7 +28631,9 @@
HSPLjava/util/Collections$SynchronizedMap;->isEmpty()Z
HSPLjava/util/Collections$SynchronizedMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Collections$SynchronizedMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/Collections$SynchronizedMap;->size()I
HSPLjava/util/Collections$SynchronizedMap;->values()Ljava/util/Collection;
+HSPLjava/util/Collections$SynchronizedSet;-><init>(Ljava/util/Set;Ljava/lang/Object;)V
HSPLjava/util/Collections$SynchronizedSet;->equals(Ljava/lang/Object;)Z
HSPLjava/util/Collections$UnmodifiableCollection$1;->hasNext()Z
HSPLjava/util/Collections$UnmodifiableCollection$1;->next()Ljava/lang/Object;
@@ -27531,6 +28718,7 @@
HSPLjava/util/Comparator;->comparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
HSPLjava/util/Comparator;->comparingLong(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;
HSPLjava/util/Comparator;->nullsLast(Ljava/util/Comparator;)Ljava/util/Comparator;
+HSPLjava/util/Comparator;->reversed()Ljava/util/Comparator;
HSPLjava/util/Comparator;->thenComparing(Ljava/util/Comparator;)Ljava/util/Comparator;
HSPLjava/util/Comparator;->thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator;
HSPLjava/util/Comparator;->thenComparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
@@ -27543,12 +28731,16 @@
HSPLjava/util/Date;->before(Ljava/util/Date;)Z
HSPLjava/util/Date;->clone()Ljava/lang/Object;
HSPLjava/util/Date;->compareTo(Ljava/util/Date;)I
+HSPLjava/util/Date;->from(Ljava/time/Instant;)Ljava/util/Date;
HSPLjava/util/Date;->getCalendarSystem(J)Lsun/util/calendar/BaseCalendar;
HSPLjava/util/Date;->getTime()J
HSPLjava/util/Date;->normalize()Lsun/util/calendar/BaseCalendar$Date;
HSPLjava/util/Date;->setTime(J)V
HSPLjava/util/Date;->toString()Ljava/lang/String;
+HSPLjava/util/DualPivotQuicksort;->doSort([CII[CII)V
HSPLjava/util/DualPivotQuicksort;->doSort([FII[FII)V
+HSPLjava/util/DualPivotQuicksort;->sort([CIIZ)V
+HSPLjava/util/DualPivotQuicksort;->sort([CII[CII)V
HSPLjava/util/DualPivotQuicksort;->sort([FIIZ)V
HSPLjava/util/DualPivotQuicksort;->sort([FII[FII)V
HSPLjava/util/DualPivotQuicksort;->sort([IIIZ)V
@@ -27562,6 +28754,7 @@
HSPLjava/util/EnumMap$EntryIterator;->next()Ljava/lang/Object;
HSPLjava/util/EnumMap$EntryIterator;->next()Ljava/util/Map$Entry;
HSPLjava/util/EnumMap$EntrySet;->iterator()Ljava/util/Iterator;
+HSPLjava/util/EnumMap$EntrySet;->size()I
HSPLjava/util/EnumMap$EnumMapIterator;->hasNext()Z
HSPLjava/util/EnumMap$KeyIterator;->next()Ljava/lang/Enum;
HSPLjava/util/EnumMap$KeyIterator;->next()Ljava/lang/Object;
@@ -27569,6 +28762,7 @@
HSPLjava/util/EnumMap$KeySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/EnumMap$KeySet;->size()I
HSPLjava/util/EnumMap;-><init>(Ljava/lang/Class;)V
+HSPLjava/util/EnumMap;-><init>(Ljava/util/Map;)V
HSPLjava/util/EnumMap;->clear()V
HSPLjava/util/EnumMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/EnumMap;->entrySet()Ljava/util/Set;
@@ -27576,11 +28770,14 @@
HSPLjava/util/EnumMap;->keySet()Ljava/util/Set;
HSPLjava/util/EnumMap;->put(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/EnumMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/EnumMap;->putAll(Ljava/util/Map;)V
HSPLjava/util/EnumMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/EnumMap;->size()I
HSPLjava/util/EnumMap;->typeCheck(Ljava/lang/Enum;)V
HSPLjava/util/EnumSet;->allOf(Ljava/lang/Class;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->clone()Ljava/util/EnumSet;
+HSPLjava/util/EnumSet;->complementOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;
+HSPLjava/util/EnumSet;->copyOf(Ljava/util/Collection;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->noneOf(Ljava/lang/Class;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;)Ljava/util/EnumSet;
HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
@@ -27650,6 +28847,7 @@
HSPLjava/util/GregorianCalendar;->computeFields(II)I
HSPLjava/util/GregorianCalendar;->computeTime()V
HSPLjava/util/GregorianCalendar;->getFixedDate(Lsun/util/calendar/BaseCalendar;II)J
+HSPLjava/util/GregorianCalendar;->getLeastMaximum(I)I
HSPLjava/util/GregorianCalendar;->getMaximum(I)I
HSPLjava/util/GregorianCalendar;->getMinimum(I)I
HSPLjava/util/GregorianCalendar;->getTimeZone()Ljava/util/TimeZone;
@@ -27669,6 +28867,7 @@
HSPLjava/util/HashMap$HashIterator;->remove()V
HSPLjava/util/HashMap$HashMapSpliterator;->estimateSize()J
HSPLjava/util/HashMap$KeyIterator;->next()Ljava/lang/Object;
+HSPLjava/util/HashMap$KeySet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/HashMap$KeySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/HashMap$KeySet;->size()I
HSPLjava/util/HashMap$KeySpliterator;->characteristics()I
@@ -27682,6 +28881,7 @@
HSPLjava/util/HashMap$TreeNode;->moveRootToFront([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)V
HSPLjava/util/HashMap$TreeNode;->rotateLeft(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
HSPLjava/util/HashMap$TreeNode;->rotateRight(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
+HSPLjava/util/HashMap$TreeNode;->split(Ljava/util/HashMap;[Ljava/util/HashMap$Node;II)V
HSPLjava/util/HashMap$TreeNode;->treeify([Ljava/util/HashMap$Node;)V
HSPLjava/util/HashMap$ValueIterator;->next()Ljava/lang/Object;
HSPLjava/util/HashMap$ValueSpliterator;->characteristics()I
@@ -27723,6 +28923,7 @@
HSPLjava/util/HashMap;->reinitialize()V
HSPLjava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/HashMap;->removeNode(ILjava/lang/Object;Ljava/lang/Object;ZZ)Ljava/util/HashMap$Node;
+HSPLjava/util/HashMap;->replacementNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
HSPLjava/util/HashMap;->replacementTreeNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
HSPLjava/util/HashMap;->resize()[Ljava/util/HashMap$Node;
HSPLjava/util/HashMap;->size()I
@@ -27750,6 +28951,7 @@
HSPLjava/util/Hashtable$HashtableEntry;->clone()Ljava/lang/Object;
HSPLjava/util/Hashtable$HashtableEntry;->getKey()Ljava/lang/Object;
HSPLjava/util/Hashtable$HashtableEntry;->getValue()Ljava/lang/Object;
+HPLjava/util/Hashtable$KeySet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/Hashtable$KeySet;->iterator()Ljava/util/Iterator;
HSPLjava/util/Hashtable$KeySet;->size()I
HSPLjava/util/Hashtable$ValueCollection;->iterator()Ljava/util/Iterator;
@@ -27860,6 +29062,7 @@
HSPLjava/util/LinkedList;->clone()Ljava/lang/Object;
HSPLjava/util/LinkedList;->contains(Ljava/lang/Object;)Z
HSPLjava/util/LinkedList;->get(I)Ljava/lang/Object;
+HSPLjava/util/LinkedList;->getFirst()Ljava/lang/Object;
HSPLjava/util/LinkedList;->getLast()Ljava/lang/Object;
HSPLjava/util/LinkedList;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/LinkedList;->linkBefore(Ljava/lang/Object;Ljava/util/LinkedList$Node;)V
@@ -27871,7 +29074,9 @@
HSPLjava/util/LinkedList;->peek()Ljava/lang/Object;
HSPLjava/util/LinkedList;->peekLast()Ljava/lang/Object;
HSPLjava/util/LinkedList;->poll()Ljava/lang/Object;
+HSPLjava/util/LinkedList;->pollLast()Ljava/lang/Object;
HSPLjava/util/LinkedList;->pop()Ljava/lang/Object;
+HSPLjava/util/LinkedList;->push(Ljava/lang/Object;)V
HSPLjava/util/LinkedList;->remove()Ljava/lang/Object;
HSPLjava/util/LinkedList;->remove(I)Ljava/lang/Object;
HSPLjava/util/LinkedList;->remove(Ljava/lang/Object;)Z
@@ -27879,7 +29084,7 @@
HSPLjava/util/LinkedList;->removeLast()Ljava/lang/Object;
HSPLjava/util/LinkedList;->set(ILjava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/LinkedList;->size()I
-PLjava/util/LinkedList;->spliterator()Ljava/util/Spliterator;
+HPLjava/util/LinkedList;->spliterator()Ljava/util/Spliterator;
HSPLjava/util/LinkedList;->superClone()Ljava/util/LinkedList;
HSPLjava/util/LinkedList;->toArray()[Ljava/lang/Object;
HSPLjava/util/LinkedList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
@@ -27929,6 +29134,7 @@
HSPLjava/util/Locale;->toLanguageTag()Ljava/lang/String;
HSPLjava/util/Locale;->toString()Ljava/lang/String;
HSPLjava/util/Map;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
+HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V
HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Map;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/MissingResourceException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
@@ -27939,6 +29145,7 @@
HSPLjava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/Objects;->requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
HSPLjava/util/Objects;->toString(Ljava/lang/Object;)Ljava/lang/String;
+HSPLjava/util/Objects;->toString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/Observable;-><init>()V
HSPLjava/util/Observable;->addObserver(Ljava/util/Observer;)V
HSPLjava/util/Observable;->clearChanged()V
@@ -27968,6 +29175,7 @@
HSPLjava/util/PriorityQueue;->offer(Ljava/lang/Object;)Z
HSPLjava/util/PriorityQueue;->peek()Ljava/lang/Object;
HSPLjava/util/PriorityQueue;->poll()Ljava/lang/Object;
+HSPLjava/util/PriorityQueue;->remove(Ljava/lang/Object;)Z
HSPLjava/util/PriorityQueue;->removeAt(I)Ljava/lang/Object;
HSPLjava/util/PriorityQueue;->siftDownComparable(ILjava/lang/Object;)V
HSPLjava/util/PriorityQueue;->siftDownUsingComparator(ILjava/lang/Object;)V
@@ -28005,6 +29213,7 @@
HSPLjava/util/RegularEnumSet;->add(Ljava/lang/Enum;)Z
HSPLjava/util/RegularEnumSet;->add(Ljava/lang/Object;)Z
HSPLjava/util/RegularEnumSet;->addAll()V
+HSPLjava/util/RegularEnumSet;->complement()V
HSPLjava/util/RegularEnumSet;->contains(Ljava/lang/Object;)Z
HSPLjava/util/RegularEnumSet;->isEmpty()Z
HSPLjava/util/RegularEnumSet;->iterator()Ljava/util/Iterator;
@@ -28046,7 +29255,7 @@
HSPLjava/util/Spliterators$ArraySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
HSPLjava/util/Spliterators$ArraySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
HSPLjava/util/Spliterators$EmptySpliterator$OfRef;->forEachRemaining(Ljava/util/function/Consumer;)V
-PLjava/util/Spliterators$EmptySpliterator$OfRef;->tryAdvance(Ljava/util/function/Consumer;)Z
+HPLjava/util/Spliterators$EmptySpliterator$OfRef;->tryAdvance(Ljava/util/function/Consumer;)Z
HSPLjava/util/Spliterators$EmptySpliterator;->characteristics()I
HSPLjava/util/Spliterators$EmptySpliterator;->estimateSize()J
HSPLjava/util/Spliterators$IntArraySpliterator;->characteristics()I
@@ -28082,6 +29291,7 @@
HSPLjava/util/SubList;->size()I
HSPLjava/util/TaskQueue;->add(Ljava/util/TimerTask;)V
HSPLjava/util/TaskQueue;->clear()V
+HSPLjava/util/TaskQueue;->fixDown(I)V
HSPLjava/util/TaskQueue;->fixUp(I)V
HSPLjava/util/TaskQueue;->getMin()Ljava/util/TimerTask;
HSPLjava/util/TaskQueue;->isEmpty()Z
@@ -28117,7 +29327,9 @@
HSPLjava/util/TimerThread;->mainLoop()V
HSPLjava/util/TimerThread;->run()V
HSPLjava/util/TreeMap$AscendingSubMap$AscendingEntrySetView;->iterator()Ljava/util/Iterator;
+HSPLjava/util/TreeMap$AscendingSubMap;->comparator()Ljava/util/Comparator;
HSPLjava/util/TreeMap$AscendingSubMap;->entrySet()Ljava/util/Set;
+HSPLjava/util/TreeMap$AscendingSubMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
HSPLjava/util/TreeMap$AscendingSubMap;->keyIterator()Ljava/util/Iterator;
HSPLjava/util/TreeMap$AscendingSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap$EntryIterator;->next()Ljava/lang/Object;
@@ -28159,13 +29371,16 @@
HSPLjava/util/TreeMap;->comparator()Ljava/util/Comparator;
HSPLjava/util/TreeMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/TreeMap;->deleteEntry(Ljava/util/TreeMap$TreeMapEntry;)V
+HSPLjava/util/TreeMap;->descendingMap()Ljava/util/NavigableMap;
HSPLjava/util/TreeMap;->entrySet()Ljava/util/Set;
HSPLjava/util/TreeMap;->firstKey()Ljava/lang/Object;
HSPLjava/util/TreeMap;->fixAfterDeletion(Ljava/util/TreeMap$TreeMapEntry;)V
HSPLjava/util/TreeMap;->fixAfterInsertion(Ljava/util/TreeMap$TreeMapEntry;)V
+HSPLjava/util/TreeMap;->floorKey(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/TreeMap;->getCeilingEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->getEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
+HSPLjava/util/TreeMap;->getFloorEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->getHigherEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->getLowerEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
HSPLjava/util/TreeMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
@@ -28216,6 +29431,7 @@
HSPLjava/util/Vector$Itr;->checkForComodification()V
HSPLjava/util/Vector$Itr;->hasNext()Z
HSPLjava/util/Vector$Itr;->next()Ljava/lang/Object;
+HPLjava/util/Vector$Itr;->remove()V
HSPLjava/util/Vector;-><init>()V
HSPLjava/util/Vector;-><init>(II)V
HSPLjava/util/Vector;->add(Ljava/lang/Object;)Z
@@ -28232,6 +29448,7 @@
HSPLjava/util/Vector;->indexOf(Ljava/lang/Object;I)I
HSPLjava/util/Vector;->isEmpty()Z
HSPLjava/util/Vector;->iterator()Ljava/util/Iterator;
+HSPLjava/util/Vector;->remove(I)Ljava/lang/Object;
HSPLjava/util/Vector;->removeAllElements()V
HSPLjava/util/Vector;->removeElement(Ljava/lang/Object;)Z
HSPLjava/util/Vector;->removeElementAt(I)V
@@ -28269,6 +29486,7 @@
HSPLjava/util/WeakHashMap;->transfer([Ljava/util/WeakHashMap$Entry;[Ljava/util/WeakHashMap$Entry;)V
HSPLjava/util/WeakHashMap;->values()Ljava/util/Collection;
HSPLjava/util/concurrent/AbstractExecutorService;-><init>()V
+HSPLjava/util/concurrent/AbstractExecutorService;->invokeAll(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/util/List;
HSPLjava/util/concurrent/AbstractExecutorService;->newTaskFor(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;
HSPLjava/util/concurrent/AbstractExecutorService;->newTaskFor(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;
HSPLjava/util/concurrent/AbstractExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
@@ -28285,17 +29503,23 @@
HSPLjava/util/concurrent/ArrayBlockingQueue;->take()Ljava/lang/Object;
HSPLjava/util/concurrent/CancellationException;-><init>(Ljava/lang/String;)V
HSPLjava/util/concurrent/CompletableFuture$AltResult;-><init>(Ljava/lang/Throwable;)V
+HSPLjava/util/concurrent/CompletableFuture$Completion;->run()V
HSPLjava/util/concurrent/CompletableFuture$Signaller;->block()Z
HSPLjava/util/concurrent/CompletableFuture$Signaller;->isReleasable()Z
HSPLjava/util/concurrent/CompletableFuture$Signaller;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
HSPLjava/util/concurrent/CompletableFuture;-><init>()V
HSPLjava/util/concurrent/CompletableFuture;->complete(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/CompletableFuture;->completedFuture(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
HSPLjava/util/concurrent/CompletableFuture;->get()Ljava/lang/Object;
HSPLjava/util/concurrent/CompletableFuture;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLjava/util/concurrent/CompletableFuture;->isDone()Z
+HSPLjava/util/concurrent/CompletableFuture;->newIncompleteFuture()Ljava/util/concurrent/CompletableFuture;
HSPLjava/util/concurrent/CompletableFuture;->postComplete()V
+HSPLjava/util/concurrent/CompletableFuture;->postFire(Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
HSPLjava/util/concurrent/CompletableFuture;->reportGet(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/CompletableFuture;->timedGet(J)Ljava/lang/Object;
+HSPLjava/util/concurrent/CompletableFuture;->uniWhenComplete(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)Z
+HSPLjava/util/concurrent/CompletableFuture;->uniWhenCompleteStage(Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
HSPLjava/util/concurrent/CompletableFuture;->waitingGet(Z)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasNext()Z
HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->remove()V
@@ -28332,6 +29556,7 @@
HSPLjava/util/concurrent/ConcurrentHashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ConcurrentHashMap;->entrySet()Ljava/util/Set;
+HSPLjava/util/concurrent/ConcurrentHashMap;->fullAddCount(JZ)V
HSPLjava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentHashMap;->initTable()[Ljava/util/concurrent/ConcurrentHashMap$Node;
HSPLjava/util/concurrent/ConcurrentHashMap;->isEmpty()Z
@@ -28364,6 +29589,7 @@
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->isEmpty()Z
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->iterator()Ljava/util/Iterator;
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->offer(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/ConcurrentLinkedQueue;->peek()Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->poll()Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->remove(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ConcurrentLinkedQueue;->size()I
@@ -28373,6 +29599,7 @@
HSPLjava/util/concurrent/ConcurrentSkipListMap$Values;->iterator()Ljava/util/Iterator;
HSPLjava/util/concurrent/ConcurrentSkipListMap;-><init>()V
HSPLjava/util/concurrent/ConcurrentSkipListMap;-><init>(Ljava/util/Comparator;)V
+HSPLjava/util/concurrent/ConcurrentSkipListMap;->clear()V
HSPLjava/util/concurrent/ConcurrentSkipListMap;->doGet(Ljava/lang/Object;)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentSkipListMap;->doPut(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
HSPLjava/util/concurrent/ConcurrentSkipListMap;->doRemove(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
@@ -28422,6 +29649,7 @@
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->shutdown()V
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->shutdownNow()Ljava/util/List;
HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
+HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
HSPLjava/util/concurrent/Executors$DelegatedScheduledExecutorService;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
HSPLjava/util/concurrent/Executors$FinalizableDelegatedExecutorService;->finalize()V
HSPLjava/util/concurrent/Executors$RunnableAdapter;->call()Ljava/lang/Object;
@@ -28476,15 +29704,19 @@
HSPLjava/util/concurrent/LinkedBlockingDeque;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingDeque;->pollFirst()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingDeque;->pollFirst(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-PLjava/util/concurrent/LinkedBlockingDeque;->pop()Ljava/lang/Object;
-PLjava/util/concurrent/LinkedBlockingDeque;->remainingCapacity()I
+HPLjava/util/concurrent/LinkedBlockingDeque;->pop()Ljava/lang/Object;
+HPLjava/util/concurrent/LinkedBlockingDeque;->remainingCapacity()I
HSPLjava/util/concurrent/LinkedBlockingDeque;->removeFirst()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingDeque;->size()I
+HSPLjava/util/concurrent/LinkedBlockingDeque;->take()Ljava/lang/Object;
+HSPLjava/util/concurrent/LinkedBlockingDeque;->takeFirst()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingDeque;->unlinkFirst()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingQueue;-><init>()V
HSPLjava/util/concurrent/LinkedBlockingQueue;-><init>(I)V
HSPLjava/util/concurrent/LinkedBlockingQueue;->drainTo(Ljava/util/Collection;)I
HSPLjava/util/concurrent/LinkedBlockingQueue;->drainTo(Ljava/util/Collection;I)I
+HSPLjava/util/concurrent/LinkedBlockingQueue;->fullyLock()V
+HSPLjava/util/concurrent/LinkedBlockingQueue;->fullyUnlock()V
HSPLjava/util/concurrent/LinkedBlockingQueue;->offer(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/LinkedBlockingQueue;->poll()Ljava/lang/Object;
HSPLjava/util/concurrent/LinkedBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
@@ -28503,11 +29735,13 @@
HSPLjava/util/concurrent/PriorityBlockingQueue;->siftDownComparable(ILjava/lang/Object;[Ljava/lang/Object;I)V
HSPLjava/util/concurrent/PriorityBlockingQueue;->size()I
HSPLjava/util/concurrent/PriorityBlockingQueue;->take()Ljava/lang/Object;
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->hasNext()Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->add(Ljava/lang/Object;)Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->add(Ljava/lang/Runnable;)Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->drainTo(Ljava/util/Collection;)I
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->indexOf(Ljava/lang/Object;)I
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->isEmpty()Z
+HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->iterator()Ljava/util/Iterator;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->offer(Ljava/lang/Runnable;)Z
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/RunnableScheduledFuture;
@@ -28596,6 +29830,7 @@
HSPLjava/util/concurrent/ThreadPoolExecutor;->onShutdown()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->prestartAllCoreThreads()I
HSPLjava/util/concurrent/ThreadPoolExecutor;->processWorkerExit(Ljava/util/concurrent/ThreadPoolExecutor$Worker;Z)V
+HSPLjava/util/concurrent/ThreadPoolExecutor;->purge()V
HSPLjava/util/concurrent/ThreadPoolExecutor;->remove(Ljava/lang/Runnable;)Z
HSPLjava/util/concurrent/ThreadPoolExecutor;->runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V
HSPLjava/util/concurrent/ThreadPoolExecutor;->setKeepAliveTime(JLjava/util/concurrent/TimeUnit;)V
@@ -28634,6 +29869,7 @@
HSPLjava/util/concurrent/TimeUnit$6;->toMinutes(J)J
HSPLjava/util/concurrent/TimeUnit$6;->toNanos(J)J
HSPLjava/util/concurrent/TimeUnit$6;->toSeconds(J)J
+HSPLjava/util/concurrent/TimeUnit$7;->toHours(J)J
HSPLjava/util/concurrent/TimeUnit$7;->toMillis(J)J
HSPLjava/util/concurrent/TimeUnit$7;->toMinutes(J)J
HSPLjava/util/concurrent/TimeUnit$7;->toNanos(J)J
@@ -28670,8 +29906,10 @@
HSPLjava/util/concurrent/atomic/AtomicLong;-><init>(J)V
HSPLjava/util/concurrent/atomic/AtomicLong;->addAndGet(J)J
HSPLjava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z
+HSPLjava/util/concurrent/atomic/AtomicLong;->doubleValue()D
HSPLjava/util/concurrent/atomic/AtomicLong;->get()J
HSPLjava/util/concurrent/atomic/AtomicLong;->getAndAdd(J)J
+HSPLjava/util/concurrent/atomic/AtomicLong;->getAndDecrement()J
HSPLjava/util/concurrent/atomic/AtomicLong;->getAndIncrement()J
HSPLjava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
HSPLjava/util/concurrent/atomic/AtomicLong;->incrementAndGet()J
@@ -28724,6 +29962,7 @@
HSPLjava/util/concurrent/locks/ReentrantLock$Sync;->nonfairTryAcquire(I)Z
HSPLjava/util/concurrent/locks/ReentrantLock$Sync;->tryRelease(I)Z
HSPLjava/util/concurrent/locks/ReentrantLock;-><init>()V
+HSPLjava/util/concurrent/locks/ReentrantLock;-><init>(Z)V
HSPLjava/util/concurrent/locks/ReentrantLock;->isHeldByCurrentThread()Z
HSPLjava/util/concurrent/locks/ReentrantLock;->lock()V
HSPLjava/util/concurrent/locks/ReentrantLock;->lockInterruptibly()V
@@ -28759,7 +29998,7 @@
HSPLjava/util/function/DoubleUnaryOperator;->andThen(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator;
HSPLjava/util/function/DoubleUnaryOperator;->identity()Ljava/util/function/DoubleUnaryOperator;
HSPLjava/util/function/Function;->identity()Ljava/util/function/Function;
-PLjava/util/function/Predicate;->and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
+HPLjava/util/function/Predicate;->and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
HSPLjava/util/function/Predicate;->or(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
HSPLjava/util/jar/Attributes$Name;-><init>(Ljava/lang/String;)V
HSPLjava/util/jar/Attributes$Name;->equals(Ljava/lang/Object;)Z
@@ -28904,6 +30143,7 @@
HSPLjava/util/regex/Matcher;->hitEnd()Z
HSPLjava/util/regex/Matcher;->lookingAt()Z
HSPLjava/util/regex/Matcher;->matches()Z
+HSPLjava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher;
HSPLjava/util/regex/Matcher;->replaceAll(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/regex/Matcher;->replaceFirst(Ljava/lang/String;)Ljava/lang/String;
HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
@@ -29078,6 +30318,7 @@
HSPLjava/util/stream/ReduceOps$8ReducingSink;->get()Ljava/lang/Long;
HSPLjava/util/stream/ReduceOps$8ReducingSink;->get()Ljava/lang/Object;
HSPLjava/util/stream/ReduceOps$Box;->get()Ljava/lang/Object;
+HSPLjava/util/stream/ReduceOps$ReduceOp;-><init>(Ljava/util/stream/StreamShape;)V
HSPLjava/util/stream/ReduceOps$ReduceOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
HSPLjava/util/stream/ReferencePipeline$2$1;->accept(Ljava/lang/Object;)V
HSPLjava/util/stream/ReferencePipeline$2$1;->begin(J)V
@@ -29108,6 +30349,7 @@
HSPLjava/util/stream/ReferencePipeline;->map(Ljava/util/function/Function;)Ljava/util/stream/Stream;
HSPLjava/util/stream/ReferencePipeline;->mapToInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
HSPLjava/util/stream/ReferencePipeline;->max(Ljava/util/Comparator;)Ljava/util/Optional;
+HSPLjava/util/stream/ReferencePipeline;->noneMatch(Ljava/util/function/Predicate;)Z
HSPLjava/util/stream/ReferencePipeline;->sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream;
HSPLjava/util/stream/ReferencePipeline;->toArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
HSPLjava/util/stream/Sink$ChainedInt;->begin(J)V
@@ -29142,7 +30384,7 @@
HSPLjava/util/stream/SpinedBuffer;->count()J
HSPLjava/util/stream/SpinedBuffer;->ensureCapacity(J)V
HSPLjava/util/stream/Stream;->concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
-PLjava/util/stream/Stream;->empty()Ljava/util/stream/Stream;
+HPLjava/util/stream/Stream;->empty()Ljava/util/stream/Stream;
HSPLjava/util/stream/Stream;->generate(Ljava/util/function/Supplier;)Ljava/util/stream/Stream;
HSPLjava/util/stream/Stream;->of([Ljava/lang/Object;)Ljava/util/stream/Stream;
HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->build()Ljava/util/Map;
@@ -29217,6 +30459,7 @@
HSPLjava/util/zip/Inflater;->needsInput()Z
HSPLjava/util/zip/Inflater;->setInput([BII)V
HSPLjava/util/zip/InflaterInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Inflater;I)V
+HSPLjava/util/zip/InflaterInputStream;->available()I
HSPLjava/util/zip/InflaterInputStream;->close()V
HSPLjava/util/zip/InflaterInputStream;->fill()V
HSPLjava/util/zip/InflaterInputStream;->read()I
@@ -29263,6 +30506,7 @@
HSPLjavax/crypto/Cipher;->createCipher(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
HSPLjavax/crypto/Cipher;->doFinal([B)[B
HSPLjavax/crypto/Cipher;->doFinal([BII)[B
+HSPLjavax/crypto/Cipher;->doFinal([BII[BI)I
HSPLjavax/crypto/Cipher;->getIV()[B
HSPLjavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;)V
@@ -29282,10 +30526,13 @@
HSPLjavax/crypto/Mac;->chooseProvider(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
HSPLjavax/crypto/Mac;->doFinal()[B
HSPLjavax/crypto/Mac;->doFinal([B)[B
+HSPLjavax/crypto/Mac;->doFinal([BI)V
HSPLjavax/crypto/Mac;->getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;
+HSPLjavax/crypto/Mac;->getMacLength()I
HSPLjavax/crypto/Mac;->init(Ljava/security/Key;)V
HSPLjavax/crypto/Mac;->update(B)V
HSPLjavax/crypto/Mac;->update([B)V
+HSPLjavax/crypto/Mac;->update([BII)V
HSPLjavax/crypto/MacSpi;-><init>()V
HSPLjavax/crypto/spec/GCMParameterSpec;-><init>(I[B)V
HSPLjavax/crypto/spec/GCMParameterSpec;->getIV()[B
@@ -29299,8 +30546,10 @@
HSPLjavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
HSPLjavax/crypto/spec/SecretKeySpec;->getEncoded()[B
HSPLjavax/crypto/spec/SecretKeySpec;->getFormat()Ljava/lang/String;
+HSPLjavax/microedition/khronos/egl/EGLContext;->getEGL()Ljavax/microedition/khronos/egl/EGL;
HSPLjavax/net/DefaultSocketFactory;->createSocket()Ljava/net/Socket;
HSPLjavax/net/DefaultSocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;
+HSPLjavax/net/SocketFactory;-><init>()V
HSPLjavax/net/SocketFactory;->getDefault()Ljavax/net/SocketFactory;
HSPLjavax/net/ssl/ExtendedSSLSession;-><init>()V
HSPLjavax/net/ssl/HttpsURLConnection;-><init>(Ljava/net/URL;)V
@@ -29355,6 +30604,7 @@
HSPLjavax/security/auth/x500/X500Principal;-><init>([B)V
HSPLjavax/security/auth/x500/X500Principal;->equals(Ljava/lang/Object;)Z
HSPLjavax/security/auth/x500/X500Principal;->getEncoded()[B
+HSPLjavax/security/auth/x500/X500Principal;->getName(Ljava/lang/String;)Ljava/lang/String;
HSPLjavax/security/auth/x500/X500Principal;->hashCode()I
HSPLjavax/security/cert/X509Certificate$1;-><init>()V
HSPLjavax/security/cert/X509Certificate$1;->run()Ljava/lang/Object;
@@ -29366,6 +30616,7 @@
HSPLjavax/xml/parsers/DocumentBuilderFactory;->isNamespaceAware()Z
HSPLjavax/xml/parsers/DocumentBuilderFactory;->isValidating()Z
HSPLjavax/xml/parsers/DocumentBuilderFactory;->newInstance()Ljavax/xml/parsers/DocumentBuilderFactory;
+HSPLjavax/xml/parsers/SAXParserFactory;->newInstance()Ljavax/xml/parsers/SAXParserFactory;
HSPLlibcore/icu/DateIntervalFormat;->formatDateRange(JJILjava/lang/String;)Ljava/lang/String;
HSPLlibcore/icu/DateIntervalFormat;->formatDateRange(Landroid/icu/util/ULocale;Landroid/icu/util/TimeZone;JJI)Ljava/lang/String;
HSPLlibcore/icu/DateIntervalFormat;->getFormatter(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/util/TimeZone;)Landroid/icu/text/DateIntervalFormat;
@@ -29383,6 +30634,7 @@
HSPLlibcore/icu/LocaleData;->initLocaleData(Ljava/util/Locale;)Llibcore/icu/LocaleData;
HSPLlibcore/icu/LocaleData;->initializePatternSeparator(Llibcore/icu/LocaleData;Ljava/util/Locale;)V
HSPLlibcore/icu/LocaleData;->mapInvalidAndNullLocales(Ljava/util/Locale;)Ljava/util/Locale;
+HSPLlibcore/icu/RelativeDateTimeFormatter$FormatterCache;-><init>()V
HSPLlibcore/icu/TimeZoneNames$1;-><init>()V
HSPLlibcore/icu/TimeZoneNames$ZoneStringsCache;-><init>()V
HSPLlibcore/internal/StringPool;-><init>()V
@@ -29396,8 +30648,9 @@
HSPLlibcore/io/BlockGuardOs;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
HSPLlibcore/io/BlockGuardOs;->fchmod(Ljava/io/FileDescriptor;I)V
HSPLlibcore/io/BlockGuardOs;->fchown(Ljava/io/FileDescriptor;II)V
+HSPLlibcore/io/BlockGuardOs;->fdatasync(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/BlockGuardOs;->fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;
-PLlibcore/io/BlockGuardOs;->fsync(Ljava/io/FileDescriptor;)V
+HPLlibcore/io/BlockGuardOs;->fsync(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/BlockGuardOs;->ftruncate(Ljava/io/FileDescriptor;J)V
HSPLlibcore/io/BlockGuardOs;->getxattr(Ljava/lang/String;Ljava/lang/String;)[B
HSPLlibcore/io/BlockGuardOs;->lseek(Ljava/io/FileDescriptor;JI)J
@@ -29433,7 +30686,7 @@
HSPLlibcore/io/ForwardingOs;->chmod(Ljava/lang/String;I)V
HSPLlibcore/io/ForwardingOs;->close(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/ForwardingOs;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-PLlibcore/io/ForwardingOs;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
+HPLlibcore/io/ForwardingOs;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
HSPLlibcore/io/ForwardingOs;->dup2(Ljava/io/FileDescriptor;I)Ljava/io/FileDescriptor;
HSPLlibcore/io/ForwardingOs;->fcntlInt(Ljava/io/FileDescriptor;II)I
HSPLlibcore/io/ForwardingOs;->fcntlVoid(Ljava/io/FileDescriptor;I)I
@@ -29485,6 +30738,7 @@
HSPLlibcore/io/IoBridge;->closeAndSignalBlockedThreads(Ljava/io/FileDescriptor;)V
HSPLlibcore/io/IoBridge;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)V
HSPLlibcore/io/IoBridge;->connectErrno(Ljava/io/FileDescriptor;Ljava/net/InetAddress;II)V
+HSPLlibcore/io/IoBridge;->createMessageForException(Ljava/io/FileDescriptor;Ljava/net/InetAddress;IILjava/lang/Exception;)Ljava/lang/String;
HSPLlibcore/io/IoBridge;->getLocalInetSocketAddress(Ljava/io/FileDescriptor;)Ljava/net/InetSocketAddress;
HSPLlibcore/io/IoBridge;->getSocketOption(Ljava/io/FileDescriptor;I)Ljava/lang/Object;
HSPLlibcore/io/IoBridge;->getSocketOptionErrno(Ljava/io/FileDescriptor;I)Ljava/lang/Object;
@@ -29545,7 +30799,7 @@
HSPLlibcore/io/NioBufferIterator;->skip(I)V
HSPLlibcore/io/Os;->compareAndSetDefault(Llibcore/io/Os;Llibcore/io/Os;)Z
HSPLlibcore/io/Streams;->readFully(Ljava/io/InputStream;)[B
-PLlibcore/io/Streams;->readFully(Ljava/io/Reader;)Ljava/lang/String;
+HPLlibcore/io/Streams;->readFully(Ljava/io/Reader;)Ljava/lang/String;
HSPLlibcore/net/InetAddressUtils;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLlibcore/net/InetAddressUtils;->parseNumericAddressNoThrow(Ljava/lang/String;)Ljava/net/InetAddress;
HSPLlibcore/net/InetAddressUtils;->parseNumericAddressNoThrowStripOptionalBrackets(Ljava/lang/String;)Ljava/net/InetAddress;
@@ -29632,7 +30886,7 @@
HSPLlibcore/util/HexEncoding;->decode([CZ)[B
HSPLlibcore/util/HexEncoding;->encode([BII)[C
HSPLlibcore/util/HexEncoding;->encodeToString([B)Ljava/lang/String;
-PLlibcore/util/HexEncoding;->toDigit([CI)I
+HPLlibcore/util/HexEncoding;->toDigit([CI)I
HSPLlibcore/util/NativeAllocationRegistry$CleanerRunner;->run()V
HSPLlibcore/util/NativeAllocationRegistry$CleanerThunk;->run()V
HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;JJ)V
@@ -29736,6 +30990,8 @@
HSPLorg/apache/http/conn/ssl/AllowAllHostnameVerifier;-><init>()V
HSPLorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier;-><init>()V
HSPLorg/apache/http/conn/ssl/StrictHostnameVerifier;-><init>()V
+HSPLorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V
+HSPLorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V
HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->addAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->clear()V
HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->ensureCapacity(I)V
@@ -29753,7 +31009,9 @@
HSPLorg/ccil/cowan/tagsoup/Element;->canContain(Lorg/ccil/cowan/tagsoup/Element;)Z
HSPLorg/ccil/cowan/tagsoup/Element;->clean()V
HSPLorg/ccil/cowan/tagsoup/Element;->flags()I
+HSPLorg/ccil/cowan/tagsoup/Element;->isPreclosed()Z
HSPLorg/ccil/cowan/tagsoup/Element;->localName()Ljava/lang/String;
+HSPLorg/ccil/cowan/tagsoup/Element;->model()I
HSPLorg/ccil/cowan/tagsoup/Element;->name()Ljava/lang/String;
HSPLorg/ccil/cowan/tagsoup/Element;->namespace()Ljava/lang/String;
HSPLorg/ccil/cowan/tagsoup/Element;->next()Lorg/ccil/cowan/tagsoup/Element;
@@ -29765,6 +31023,7 @@
HSPLorg/ccil/cowan/tagsoup/ElementType;->flags()I
HSPLorg/ccil/cowan/tagsoup/ElementType;->localName()Ljava/lang/String;
HSPLorg/ccil/cowan/tagsoup/ElementType;->localName(Ljava/lang/String;)Ljava/lang/String;
+HSPLorg/ccil/cowan/tagsoup/ElementType;->model()I
HSPLorg/ccil/cowan/tagsoup/ElementType;->name()Ljava/lang/String;
HSPLorg/ccil/cowan/tagsoup/ElementType;->namespace()Ljava/lang/String;
HSPLorg/ccil/cowan/tagsoup/ElementType;->namespace(Ljava/lang/String;Z)Ljava/lang/String;
@@ -29781,9 +31040,14 @@
HSPLorg/ccil/cowan/tagsoup/Parser;-><init>()V
HSPLorg/ccil/cowan/tagsoup/Parser;->entity([CII)V
HSPLorg/ccil/cowan/tagsoup/Parser;->eof([CII)V
+HSPLorg/ccil/cowan/tagsoup/Parser;->etag([CII)V
+HSPLorg/ccil/cowan/tagsoup/Parser;->etag_basic([CII)V
+HSPLorg/ccil/cowan/tagsoup/Parser;->etag_cdata([CII)Z
HSPLorg/ccil/cowan/tagsoup/Parser;->getEntity()I
HSPLorg/ccil/cowan/tagsoup/Parser;->getReader(Lorg/xml/sax/InputSource;)Ljava/io/Reader;
+HSPLorg/ccil/cowan/tagsoup/Parser;->gi([CII)V
HSPLorg/ccil/cowan/tagsoup/Parser;->lookupEntity([CII)I
+HSPLorg/ccil/cowan/tagsoup/Parser;->makeName([CII)Ljava/lang/String;
HSPLorg/ccil/cowan/tagsoup/Parser;->parse(Lorg/xml/sax/InputSource;)V
HSPLorg/ccil/cowan/tagsoup/Parser;->pcdata([CII)V
HSPLorg/ccil/cowan/tagsoup/Parser;->pop()V
@@ -29793,6 +31057,7 @@
HSPLorg/ccil/cowan/tagsoup/Parser;->setContentHandler(Lorg/xml/sax/ContentHandler;)V
HSPLorg/ccil/cowan/tagsoup/Parser;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
HSPLorg/ccil/cowan/tagsoup/Parser;->setup()V
+HSPLorg/ccil/cowan/tagsoup/Parser;->stagc([CII)V
HSPLorg/ccil/cowan/tagsoup/Schema;-><init>()V
HSPLorg/ccil/cowan/tagsoup/Schema;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
HSPLorg/ccil/cowan/tagsoup/Schema;->elementType(Ljava/lang/String;III)V
@@ -29816,6 +31081,7 @@
HSPLorg/json/JSONArray;->getString(I)Ljava/lang/String;
HSPLorg/json/JSONArray;->length()I
HSPLorg/json/JSONArray;->opt(I)Ljava/lang/Object;
+HSPLorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
HSPLorg/json/JSONArray;->put(J)Lorg/json/JSONArray;
HSPLorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
HSPLorg/json/JSONArray;->toString()Ljava/lang/String;
@@ -29833,9 +31099,13 @@
HSPLorg/json/JSONObject;->getLong(Ljava/lang/String;)J
HSPLorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
HSPLorg/json/JSONObject;->has(Ljava/lang/String;)Z
+HSPLorg/json/JSONObject;->keys()Ljava/util/Iterator;
HSPLorg/json/JSONObject;->numberToString(Ljava/lang/Number;)Ljava/lang/String;
HSPLorg/json/JSONObject;->opt(Ljava/lang/String;)Ljava/lang/Object;
+HSPLorg/json/JSONObject;->optBoolean(Ljava/lang/String;)Z
HSPLorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
+HSPLorg/json/JSONObject;->optDouble(Ljava/lang/String;)D
+HSPLorg/json/JSONObject;->optDouble(Ljava/lang/String;D)D
HSPLorg/json/JSONObject;->optInt(Ljava/lang/String;I)I
HSPLorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->optLong(Ljava/lang/String;J)J
@@ -29846,6 +31116,7 @@
HSPLorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+HSPLorg/json/JSONObject;->putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
HSPLorg/json/JSONObject;->toString()Ljava/lang/String;
HSPLorg/json/JSONObject;->wrap(Ljava/lang/Object;)Ljava/lang/Object;
HSPLorg/json/JSONObject;->writeTo(Lorg/json/JSONStringer;)V
@@ -29876,10 +31147,10 @@
HSPLorg/xml/sax/InputSource;->getSystemId()Ljava/lang/String;
HSPLorg/xmlpull/v1/XmlPullParserFactory;-><init>()V
HSPLorg/xmlpull/v1/XmlPullParserFactory;->getParserInstance()Lorg/xmlpull/v1/XmlPullParser;
-PLorg/xmlpull/v1/XmlPullParserFactory;->getSerializerInstance()Lorg/xmlpull/v1/XmlSerializer;
+HPLorg/xmlpull/v1/XmlPullParserFactory;->getSerializerInstance()Lorg/xmlpull/v1/XmlSerializer;
HSPLorg/xmlpull/v1/XmlPullParserFactory;->newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;
HSPLorg/xmlpull/v1/XmlPullParserFactory;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
-PLorg/xmlpull/v1/XmlPullParserFactory;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
+HPLorg/xmlpull/v1/XmlPullParserFactory;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
HSPLsun/invoke/util/Wrapper;->forPrimitiveType(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
HSPLsun/misc/ASCIICaseInsensitiveComparator;-><init>()V
HSPLsun/misc/ASCIICaseInsensitiveComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
@@ -29995,6 +31266,7 @@
HSPLsun/nio/ch/FileChannelImpl;->position(J)Ljava/nio/channels/FileChannel;
HSPLsun/nio/ch/FileChannelImpl;->read(Ljava/nio/ByteBuffer;)I
HSPLsun/nio/ch/FileChannelImpl;->size()J
+HSPLsun/nio/ch/FileChannelImpl;->tryLock(JJZ)Ljava/nio/channels/FileLock;
HSPLsun/nio/ch/FileChannelImpl;->write(Ljava/nio/ByteBuffer;)I
HSPLsun/nio/ch/FileDispatcherImpl;-><init>()V
HSPLsun/nio/ch/FileDispatcherImpl;->close(Ljava/io/FileDescriptor;)V
@@ -30099,14 +31371,18 @@
HSPLsun/nio/fs/UnixException;->rethrowAsIOException(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
HSPLsun/nio/fs/UnixException;->translateToIOException(Ljava/lang/String;Ljava/lang/String;)Ljava/io/IOException;
HSPLsun/nio/fs/UnixFileAttributeViews$Basic;->readAttributes()Ljava/nio/file/attribute/BasicFileAttributes;
+HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime;
HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->isRegularFile()Z
+HSPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
+HSPLsun/nio/fs/UnixFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime;
HSPLsun/nio/fs/UnixFileAttributes;->isRegularFile()Z
+HSPLsun/nio/fs/UnixFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
HSPLsun/nio/fs/UnixFileModeAttribute;->toUnixMode(I[Ljava/nio/file/attribute/FileAttribute;)I
PLsun/nio/fs/UnixFileSystem$3;->matches(Ljava/nio/file/Path;)Z
HSPLsun/nio/fs/UnixFileSystem;-><init>(Lsun/nio/fs/UnixFileSystemProvider;Ljava/lang/String;)V
-PLsun/nio/fs/UnixFileSystem;->compilePathMatchPattern(Ljava/lang/String;)Ljava/util/regex/Pattern;
+HPLsun/nio/fs/UnixFileSystem;->compilePathMatchPattern(Ljava/lang/String;)Ljava/util/regex/Pattern;
HSPLsun/nio/fs/UnixFileSystem;->getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
-PLsun/nio/fs/UnixFileSystem;->getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;
+HPLsun/nio/fs/UnixFileSystem;->getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;
HSPLsun/nio/fs/UnixFileSystem;->needToResolveAgainstDefaultDirectory()Z
HSPLsun/nio/fs/UnixFileSystem;->normalizeJavaPath(Ljava/lang/String;)Ljava/lang/String;
HSPLsun/nio/fs/UnixFileSystem;->normalizeNativePath([C)[C
@@ -30126,8 +31402,8 @@
HSPLsun/nio/fs/UnixPath;->checkRead()V
HSPLsun/nio/fs/UnixPath;->encode(Lsun/nio/fs/UnixFileSystem;Ljava/lang/String;)[B
HSPLsun/nio/fs/UnixPath;->getByteArrayForSysCalls()[B
-PLsun/nio/fs/UnixPath;->getFileName()Ljava/nio/file/Path;
-PLsun/nio/fs/UnixPath;->getFileName()Lsun/nio/fs/UnixPath;
+HPLsun/nio/fs/UnixPath;->getFileName()Ljava/nio/file/Path;
+HPLsun/nio/fs/UnixPath;->getFileName()Lsun/nio/fs/UnixPath;
HSPLsun/nio/fs/UnixPath;->getFileSystem()Ljava/nio/file/FileSystem;
HSPLsun/nio/fs/UnixPath;->getFileSystem()Lsun/nio/fs/UnixFileSystem;
HSPLsun/nio/fs/UnixPath;->getNameCount()I
@@ -30229,7 +31505,7 @@
HSPLsun/security/provider/X509Factory;->intern(Ljava/security/cert/X509Certificate;)Lsun/security/x509/X509CertImpl;
HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->match(Ljava/security/cert/Certificate;)Z
HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
-PLsun/security/provider/certpath/AdaptableX509CertSelector;->setValidityPeriod(Ljava/util/Date;Ljava/util/Date;)V
+HPLsun/security/provider/certpath/AdaptableX509CertSelector;->setValidityPeriod(Ljava/util/Date;Ljava/util/Date;)V
PLsun/security/provider/certpath/AdjacencyList;->buildList(Ljava/util/List;ILsun/security/provider/certpath/BuildStep;)Z
HSPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;)V
HSPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;Ljava/security/AlgorithmConstraints;)V
@@ -30237,8 +31513,8 @@
HSPLsun/security/provider/certpath/AlgorithmChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
HSPLsun/security/provider/certpath/AlgorithmChecker;->checkFingerprint(Ljava/security/cert/X509Certificate;)Z
HSPLsun/security/provider/certpath/AlgorithmChecker;->init(Z)V
-PLsun/security/provider/certpath/AlgorithmChecker;->isForwardCheckingSupported()Z
-PLsun/security/provider/certpath/AlgorithmChecker;->trySetTrustAnchor(Ljava/security/cert/TrustAnchor;)V
+HPLsun/security/provider/certpath/AlgorithmChecker;->isForwardCheckingSupported()Z
+HPLsun/security/provider/certpath/AlgorithmChecker;->trySetTrustAnchor(Ljava/security/cert/TrustAnchor;)V
HSPLsun/security/provider/certpath/BasicChecker;-><init>(Ljava/security/cert/TrustAnchor;Ljava/util/Date;Ljava/lang/String;Z)V
HSPLsun/security/provider/certpath/BasicChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
HSPLsun/security/provider/certpath/BasicChecker;->init(Z)V
@@ -30305,7 +31581,7 @@
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->policyMappingInhibited()Z
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->policyQualifiersRejected()Z
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->revocationEnabled()Z
-PLsun/security/provider/certpath/PKIX$ValidatorParams;->setCertPath(Ljava/security/cert/CertPath;)V
+HPLsun/security/provider/certpath/PKIX$ValidatorParams;->setCertPath(Ljava/security/cert/CertPath;)V
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->sigProvider()Ljava/lang/String;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->targetCertConstraints()Ljava/security/cert/CertSelector;
HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->trustAnchors()Ljava/util/Set;
@@ -30320,7 +31596,7 @@
HSPLsun/security/provider/certpath/PolicyChecker;->checkPolicy(Ljava/security/cert/X509Certificate;)V
HSPLsun/security/provider/certpath/PolicyChecker;->getPolicyTree()Ljava/security/cert/PolicyNode;
HSPLsun/security/provider/certpath/PolicyChecker;->init(Z)V
-PLsun/security/provider/certpath/PolicyChecker;->isForwardCheckingSupported()Z
+HPLsun/security/provider/certpath/PolicyChecker;->isForwardCheckingSupported()Z
HSPLsun/security/provider/certpath/PolicyChecker;->mergeExplicitPolicy(ILsun/security/x509/X509CertImpl;Z)I
HSPLsun/security/provider/certpath/PolicyChecker;->mergeInhibitAnyPolicy(ILsun/security/x509/X509CertImpl;)I
HSPLsun/security/provider/certpath/PolicyChecker;->mergePolicyMapping(ILsun/security/x509/X509CertImpl;)I
@@ -30331,6 +31607,7 @@
HSPLsun/security/provider/certpath/PolicyNodeImpl;-><init>(Lsun/security/provider/certpath/PolicyNodeImpl;Lsun/security/provider/certpath/PolicyNodeImpl;)V
HSPLsun/security/provider/certpath/PolicyNodeImpl;->copyTree()Lsun/security/provider/certpath/PolicyNodeImpl;
HSPLsun/security/provider/certpath/PolicyNodeImpl;->getChildren()Ljava/util/Iterator;
+HSPLsun/security/provider/certpath/PolicyNodeImpl;->getPolicyNodes(I)Ljava/util/Set;
HSPLsun/security/provider/certpath/PolicyNodeImpl;->getPolicyNodesExpectedHelper(ILjava/lang/String;Z)Ljava/util/Set;
HSPLsun/security/provider/certpath/PolicyNodeImpl;->prune(I)V
HSPLsun/security/provider/certpath/RevocationChecker$1;->run()Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;
@@ -30510,6 +31787,7 @@
HSPLsun/security/x509/AVA;->isDerString(Lsun/security/util/DerValue;Z)Z
HSPLsun/security/x509/AVA;->parseString(Ljava/io/Reader;IILjava/lang/StringBuilder;)Lsun/security/util/DerValue;
HSPLsun/security/x509/AVA;->toRFC2253CanonicalString()Ljava/lang/String;
+HSPLsun/security/x509/AVA;->toRFC2253String(Ljava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/AVAKeyword;-><init>(Ljava/lang/String;Lsun/security/util/ObjectIdentifier;ZZ)V
HSPLsun/security/x509/AVAKeyword;->getKeyword(Lsun/security/util/ObjectIdentifier;ILjava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/AVAKeyword;->getOID(Ljava/lang/String;ILjava/util/Map;)Lsun/security/util/ObjectIdentifier;
@@ -30549,7 +31827,7 @@
HSPLsun/security/x509/CertificatePolicyId;->getIdentifier()Lsun/security/util/ObjectIdentifier;
HSPLsun/security/x509/CertificateSerialNumber;->get(Ljava/lang/String;)Lsun/security/x509/SerialNumber;
HSPLsun/security/x509/CertificateValidity;->construct(Lsun/security/util/DerValue;)V
-PLsun/security/x509/CertificateValidity;->get(Ljava/lang/String;)Ljava/util/Date;
+HPLsun/security/x509/CertificateValidity;->get(Ljava/lang/String;)Ljava/util/Date;
HSPLsun/security/x509/CertificateVersion;->compare(I)I
HSPLsun/security/x509/CertificateVersion;->construct(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/CertificateX509Key;->get(Ljava/lang/String;)Ljava/security/PublicKey;
@@ -30577,6 +31855,7 @@
HSPLsun/security/x509/RDN;-><init>(Ljava/lang/String;Ljava/util/Map;)V
HSPLsun/security/x509/RDN;-><init>(Lsun/security/util/DerValue;)V
HSPLsun/security/x509/RDN;->encode(Lsun/security/util/DerOutputStream;)V
+HSPLsun/security/x509/RDN;->toRFC2253String(Ljava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/RDN;->toRFC2253String(Z)Ljava/lang/String;
HSPLsun/security/x509/RDN;->toRFC2253StringInternal(ZLjava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/SerialNumber;->getNumber()Ljava/math/BigInteger;
@@ -30595,9 +31874,12 @@
HSPLsun/security/x509/X500Name;->countQuotes(Ljava/lang/String;II)I
HSPLsun/security/x509/X500Name;->equals(Ljava/lang/Object;)Z
HSPLsun/security/x509/X500Name;->escaped(IILjava/lang/String;)Z
+HSPLsun/security/x509/X500Name;->generateRFC2253DN(Ljava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/X500Name;->getEncoded()[B
HSPLsun/security/x509/X500Name;->getEncodedInternal()[B
HSPLsun/security/x509/X500Name;->getRFC2253CanonicalName()Ljava/lang/String;
+HSPLsun/security/x509/X500Name;->getRFC2253Name()Ljava/lang/String;
+HSPLsun/security/x509/X500Name;->getRFC2253Name(Ljava/util/Map;)Ljava/lang/String;
HSPLsun/security/x509/X500Name;->hashCode()I
HSPLsun/security/x509/X500Name;->intern(Lsun/security/util/ObjectIdentifier;)Lsun/security/util/ObjectIdentifier;
HSPLsun/security/x509/X500Name;->isEmpty()Z
@@ -30612,18 +31894,18 @@
HSPLsun/security/x509/X509CertImpl;->getExtension(Lsun/security/util/ObjectIdentifier;)Lsun/security/x509/Extension;
HSPLsun/security/x509/X509CertImpl;->getIssuerX500Principal()Ljavax/security/auth/x500/X500Principal;
HSPLsun/security/x509/X509CertImpl;->getNameConstraintsExtension()Lsun/security/x509/NameConstraintsExtension;
-PLsun/security/x509/X509CertImpl;->getNotAfter()Ljava/util/Date;
-PLsun/security/x509/X509CertImpl;->getNotBefore()Ljava/util/Date;
+HPLsun/security/x509/X509CertImpl;->getNotAfter()Ljava/util/Date;
+HPLsun/security/x509/X509CertImpl;->getNotBefore()Ljava/util/Date;
HSPLsun/security/x509/X509CertImpl;->getPolicyConstraintsExtension()Lsun/security/x509/PolicyConstraintsExtension;
HSPLsun/security/x509/X509CertImpl;->getPolicyMappingsExtension()Lsun/security/x509/PolicyMappingsExtension;
HSPLsun/security/x509/X509CertImpl;->getPublicKey()Ljava/security/PublicKey;
HSPLsun/security/x509/X509CertImpl;->getSerialNumberObject()Lsun/security/x509/SerialNumber;
HSPLsun/security/x509/X509CertImpl;->getSigAlgName()Ljava/lang/String;
-PLsun/security/x509/X509CertImpl;->getSubjectAlternativeNameExtension()Lsun/security/x509/SubjectAlternativeNameExtension;
+HPLsun/security/x509/X509CertImpl;->getSubjectAlternativeNameExtension()Lsun/security/x509/SubjectAlternativeNameExtension;
HSPLsun/security/x509/X509CertImpl;->getSubjectKeyId()Lsun/security/x509/KeyIdentifier;
HSPLsun/security/x509/X509CertImpl;->getSubjectKeyIdentifierExtension()Lsun/security/x509/SubjectKeyIdentifierExtension;
HSPLsun/security/x509/X509CertImpl;->getSubjectX500Principal()Ljavax/security/auth/x500/X500Principal;
-PLsun/security/x509/X509CertImpl;->isSelfSigned(Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
+HPLsun/security/x509/X509CertImpl;->isSelfSigned(Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
HSPLsun/security/x509/X509CertImpl;->parse(Lsun/security/util/DerValue;[B)V
HSPLsun/security/x509/X509CertImpl;->verify(Ljava/security/PublicKey;)V
HSPLsun/security/x509/X509CertImpl;->verify(Ljava/security/PublicKey;Ljava/lang/String;)V
@@ -39438,3 +40720,3048 @@
Lsun/util/logging/PlatformLogger$Level;
Lsun/util/logging/PlatformLogger$LoggerProxy;
Lsun/util/logging/PlatformLogger;
+HSPLandroid/accounts/AccountManager$18;->run()V
+HSPLandroid/accounts/AccountManager$BaseFutureTask$1;-><init>(Landroid/accounts/AccountManager;)V
+HSPLandroid/accounts/AccountManager$BaseFutureTask$Response;-><init>(Landroid/accounts/AccountManager$BaseFutureTask;)V
+HSPLandroid/accounts/AccountManager$BaseFutureTask;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;)V
+HSPLandroid/accounts/AccountManager$Future2Task;->getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
+HSPLandroid/accounts/AccountManager$Future2Task;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
+HSPLandroid/accounts/AccountManager$Future2Task;->start()Landroid/accounts/AccountManager$Future2Task;
+HSPLandroid/accounts/AccountManager;->access$000(Landroid/accounts/AccountManager;)Landroid/accounts/IAccountManager;
+HSPLandroid/accounts/AccountManager;->access$100(Landroid/accounts/AccountManager;)Landroid/content/Context;
+HSPLandroid/accounts/AccountManager;->access$200(Landroid/accounts/AccountManager;)Ljava/util/HashMap;
+HSPLandroid/accounts/AccountManager;->access$300(Landroid/accounts/AccountManager;)Ljava/util/HashMap;
+HSPLandroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
+HSPLandroid/accounts/AccountManager;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
+HSPLandroid/accounts/AccountManager;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
+HSPLandroid/accounts/AccountManager;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/accounts/AccountManager;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/accounts/IAccountManagerResponse$Stub;-><init>()V
+HSPLandroid/animation/Animator;->isPaused()Z
+HSPLandroid/animation/AnimatorSet$SeekState;->getPlayTime()J
+HSPLandroid/animation/AnimatorSet$SeekState;->setPlayTime(JZ)V
+HSPLandroid/animation/AnimatorSet$SeekState;->updateSeekDirection(Z)V
+HSPLandroid/animation/AnimatorSet;->access$200(Landroid/animation/AnimatorSet;)J
+HSPLandroid/animation/AnimatorSet;->setCurrentPlayTime(J)V
+HSPLandroid/animation/ObjectAnimator;->setAutoCancel(Z)V
+HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;-><init>(Ljava/lang/String;[I)V
+HSPLandroid/animation/PropertyValuesHolder;->ofInt(Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder;
+HSPLandroid/animation/RectEvaluator;-><init>(Landroid/graphics/Rect;)V
+HSPLandroid/app/Activity;->attach(Landroid/content/Context;Landroid/app/ActivityThread;Landroid/app/Instrumentation;Landroid/os/IBinder;ILandroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Landroid/app/Activity$NonConfigurationInstances;Landroid/content/res/Configuration;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/view/Window;Landroid/view/ViewRootImpl$ActivityConfigCallback;Landroid/os/IBinder;)V
+HSPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningServiceInfo;
+HSPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/ActivityManager$RunningServiceInfo;-><init>(Landroid/os/Parcel;Landroid/app/ActivityManager$1;)V
+HSPLandroid/app/ActivityManager$RunningServiceInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/ActivityManager$RunningServiceInfo;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/app/ActivityManager$StackInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$StackInfo;
+HSPLandroid/app/ActivityManager$StackInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/ActivityManager$StackInfo;-><init>(Landroid/os/Parcel;Landroid/app/ActivityManager$1;)V
+HSPLandroid/app/ActivityManager$StackInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/ActivityManager$StackInfo;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/app/ActivityManager$TaskDescription;->setEnsureNavigationBarContrastWhenTransparent(Z)V
+HSPLandroid/app/ActivityManager$TaskDescription;->setEnsureStatusBarContrastWhenTransparent(Z)V
+HSPLandroid/app/ActivityManager;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
+HSPLandroid/app/ActivityManager;->getLockTaskModeState()I
+HSPLandroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List;
+HSPLandroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
+HSPLandroid/app/ActivityManager;->getTaskService()Landroid/app/IActivityTaskManager;
+HSPLandroid/app/Activity;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
+HSPLandroid/app/Activity;->setContentView(Landroid/view/View;)V
+HSPLandroid/app/Activity;->setDefaultKeyMode(I)V
+HSPLandroid/app/Activity;->setRequestedOrientation(I)V
+HSPLandroid/app/ActivityThread$ActivityClientRecord;-><init>(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
+HSPLandroid/app/ActivityThread$ActivityClientRecord;->isPersistable()Z
+HSPLandroid/app/ActivityThread;->applyPendingProcessState()V
+HSPLandroid/app/ActivityThread;->countLaunchingActivities(I)V
+HSPLandroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
+HSPLandroid/app/ActivityThread;->isLoadedApkResourceDirsUpToDate(Landroid/app/LoadedApk;Landroid/content/pm/ApplicationInfo;)Z
+HSPLandroid/app/ActivityThread;->lambda$attach$1$ActivityThread(Landroid/content/res/Configuration;)V
+HSPLandroid/app/ActivityThread;->relaunchAllActivities(Z)V
+HSPLandroid/app/ActivityTransitionState;->startExitOutTransition(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/admin/DevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z
+HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnCallingUser()Landroid/content/ComponentName;
+HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwner()Ljava/lang/String;
+HSPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
+HSPLandroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;)I
+HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwner()Landroid/content/ComponentName;
+HSPLandroid/app/admin/DevicePolicyManager;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
+HSPLandroid/app/admin/DevicePolicyManager;->isAdminActiveAsUser(Landroid/content/ComponentName;I)Z
+HSPLandroid/app/admin/DevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;)Z
+HSPLandroid/app/admin/DevicePolicyManager;->isLogoutEnabled()Z
+HSPLandroid/app/admin/DevicePolicyManager;->isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z
+HSPLandroid/app/admin/DevicePolicyManager;->throwIfParentInstance(Ljava/lang/String;)V
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCameraDisabled(Landroid/content/ComponentName;I)Z
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwner(I)Landroid/content/ComponentName;
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAdminActive(Landroid/content/ComponentName;I)Z
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isLogoutEnabled()Z
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isNetworkLoggingEnabled(Landroid/content/ComponentName;Ljava/lang/String;)Z
+HSPLandroid/app/AlarmManager;->set(IJJJLandroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V
+HSPLandroid/app/AlarmManager;->set(IJJJLandroid/app/PendingIntent;Landroid/os/WorkSource;)V
+HSPLandroid/app/AlarmManager;->setWindow(IJJLandroid/app/PendingIntent;)V
+HSPLandroid/app/Application;->getProcessName()Ljava/lang/String;
+HSPLandroid/app/ApplicationLoaders;->getCachedNonBootclasspathSystemLib(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
+HSPLandroid/app/ApplicationLoaders;->getSharedLibraryClassLoaderWithSharedLibraries(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
+HSPLandroid/app/ApplicationLoaders;->sharedLibrariesEquals(Ljava/util/List;Ljava/util/List;)Z
+HSPLandroid/app/ApplicationPackageManager;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
+HSPLandroid/app/ApplicationPackageManager;->getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;
+HSPLandroid/app/ApplicationPackageManager;->getUserBadgedLabel(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;
+HSPLandroid/app/ApplicationPackageManager;->isManagedProfile(I)Z
+HSPLandroid/app/ApplicationPackageManager;->isSafeMode()Z
+HSPLandroid/app/ApplicationPackageManager;->registerMoveCallback(Landroid/content/pm/PackageManager$MoveCallback;Landroid/os/Handler;)V
+HSPLandroid/app/AppOpsManager$2;-><init>(Landroid/app/AppOpsManager;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V
+HSPLandroid/app/AppOpsManager$OpEntry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AppOpsManager$OpEntry;
+HSPLandroid/app/AppOpsManager$OpEntry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/AppOpsManager$OpEntry;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/AppOpsManager$PackageOps$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AppOpsManager$PackageOps;
+HSPLandroid/app/AppOpsManager$PackageOps$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/AppOpsManager$PackageOps;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/AppOpsManager;->access$800(Landroid/os/Parcel;)Landroid/util/LongSparseLongArray;
+HSPLandroid/app/AppOpsManager;->access$900(Landroid/os/Parcel;)Landroid/util/LongSparseArray;
+HSPLandroid/app/AppOpsManager;->checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->finishOp(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->readLongSparseLongArrayFromParcel(Landroid/os/Parcel;)Landroid/util/LongSparseLongArray;
+HSPLandroid/app/AppOpsManager;->readLongSparseStringArrayFromParcel(Landroid/os/Parcel;)Landroid/util/LongSparseArray;
+HSPLandroid/app/AppOpsManager;->startOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->startWatchingActive([ILandroid/app/AppOpsManager$OnOpActiveChangedListener;)V
+HSPLandroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
+HSPLandroid/app/AppOpsManager;->startWatchingMode(Ljava/lang/String;Ljava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V
+HSPLandroid/app/AppOpsManager;->startWatchingNoted([ILandroid/app/AppOpsManager$OnOpNotedListener;)V
+HSPLandroid/app/AppOpsManager;->unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I
+HSPLandroid/app/BackStackRecord;->replace(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
+HSPLandroid/app/backup/BackupManager;->checkServiceBinder()V
+HSPLandroid/app/backup/BackupManager;->getCurrentTransport()Ljava/lang/String;
+HSPLandroid/app/backup/BackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+HSPLandroid/app/backup/BackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->configurationIntent()Landroid/content/Intent;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->currentDestinationString()Ljava/lang/String;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->dataManagementIntentLabel()Ljava/lang/CharSequence;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->dataManagementIntent()Landroid/content/Intent;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;-><init>(Landroid/app/backup/BackupTransport;)V
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->name()Ljava/lang/String;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->transportDirName()Ljava/lang/String;
+HSPLandroid/app/backup/BackupTransport;->configurationIntent()Landroid/content/Intent;
+HSPLandroid/app/backup/BackupTransport;->dataManagementIntentLabel()Ljava/lang/CharSequence;
+HSPLandroid/app/backup/BackupTransport;->dataManagementIntent()Landroid/content/Intent;
+HSPLandroid/app/backup/BackupTransport;->getBinder()Landroid/os/IBinder;
+HSPLandroid/app/backup/BackupTransport;-><init>()V
+HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->getCurrentTransport()Ljava/lang/String;
+HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/CharSequence;)V
+HSPLandroid/app/ContextImpl$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+HSPLandroid/app/ContextImpl$1;-><init>(Ljava/lang/String;)V
+HSPLandroid/app/ContextImpl;->createResources(Landroid/os/IBinder;Landroid/app/LoadedApk;Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
+HSPLandroid/app/ContextImpl;->databaseList()[Ljava/lang/String;
+HSPLandroid/app/ContextImpl;->deleteDatabase(Ljava/lang/String;)Z
+HSPLandroid/app/ContextImpl;->deleteFile(Ljava/lang/String;)Z
+HSPLandroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
+HSPLandroid/app/ContextImpl;->moveFiles(Ljava/io/File;Ljava/io/File;Ljava/lang/String;)I
+HSPLandroid/app/ContextImpl;->moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z
+HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
+HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
+HSPLandroid/app/ContextImpl;->updateDisplay(I)V
+HSPLandroid/app/Dialog;->getLayoutInflater()Landroid/view/LayoutInflater;
+HSPLandroid/app/Dialog;->setContentView(I)V
+HSPLandroid/app/Dialog;->setOnShowListener(Landroid/content/DialogInterface$OnShowListener;)V
+HSPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
+HSPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;[Ljava/lang/String;)Landroid/database/Cursor;
+HSPLandroid/app/FragmentManagerImpl;->registerFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;Z)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/app/IActivityManager$Stub$Proxy;->getServices(II)Ljava/util/List;
+HSPLandroid/app/IActivityManager$Stub$Proxy;->getTasks(I)Ljava/util/List;
+HSPLandroid/app/IActivityManager$Stub$Proxy;->getUidForIntentSender(Landroid/content/IIntentSender;)I
+HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserRunning(II)Z
+HSPLandroid/app/IActivityManager$Stub$Proxy;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->registerProcessObserver(Landroid/app/IProcessObserver;)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->setHasTopUi(Z)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getFilteredTasks(III)Ljava/util/List;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getLastResumedActivityUserId()I
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getLockTaskModeState()I
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getTasks(I)Ljava/util/List;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->keyguardGoingAway(I)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->setLockScreenShown(ZZ)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->setRequestedOrientation(Landroid/os/IBinder;I)V
+HSPLandroid/app/IAlarmManager$Stub$Proxy;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
+HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelAllNotifications(Ljava/lang/String;I)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
+HSPLandroid/app/INotificationManager$Stub$Proxy;->getEffectsSuppressor()Landroid/content/ComponentName;
+HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+HSPLandroid/app/INotificationManager$Stub$Proxy;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->requestBindListener(Landroid/content/ComponentName;)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->setPrivateNotificationsAllowed(Z)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
+HSPLandroid/app/IProcessObserver$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/app/IProcessObserver$Stub;-><init>()V
+HSPLandroid/app/IProcessObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/ITaskStackListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/app/ITaskStackListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/IUidObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getHeightHint(I)I
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWidthHint(I)I
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->isWallpaperSupported(Ljava/lang/String;)Z
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->setInAmbientMode(ZJ)V
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
+HSPLandroid/app/IWallpaperManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IWallpaperManager;
+HSPLandroid/app/IWallpaperManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/app/IWallpaperManagerCallback$Stub;-><init>()V
+HSPLandroid/app/IWallpaperManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
+HSPLandroid/app/job/JobInfo$Builder;->setRequiresBatteryNotLow(Z)Landroid/app/job/JobInfo$Builder;
+HSPLandroid/app/job/JobInfo;->getNetworkType()I
+HSPLandroid/app/job/JobInfo;->isRequireCharging()Z
+HSPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z
+HSPLandroid/app/KeyguardManager;->setPrivateNotificationsAllowed(Z)V
+HSPLandroid/app/LoadedApk;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
+HSPLandroid/app/LoadedApk;->getOverlayDirs()[Ljava/lang/String;
+HSPLandroid/app/LoadedApk;->getResDir()Ljava/lang/String;
+HSPLandroid/app/LoadedApk;->getSplitClassLoader(Ljava/lang/String;)Ljava/lang/ClassLoader;
+HSPLandroid/app/LoadedApk;->getSplitPaths(Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/app/Notification$Action;->access$1900(Landroid/app/Notification$Action;)[Landroid/app/RemoteInput;
+HSPLandroid/app/Notification$Builder;->access$2500(Landroid/app/Notification$Builder;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+HSPLandroid/app/Notification$Builder;->access$300(Landroid/app/Notification$Builder;)Landroid/app/Notification;
+HSPLandroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->bindActivePermissions(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindAlertedIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindExpandButton(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindHeaderAppName(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindHeaderChronometerAndTime(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindHeaderText(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindHeaderTextSecondary(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindLargeIconAndReply(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)V
+HSPLandroid/app/Notification$Builder;->bindLargeIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)Z
+HSPLandroid/app/Notification$Builder;->bindNotificationHeader(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindProfileBadge(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->bindReplyIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)Z
+HSPLandroid/app/Notification$Builder;->bindSmallIcon(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->calculateMarginEnd(ZZ)I
+HSPLandroid/app/Notification$Builder;->createBigContentView()Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->createContentView()Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->createContentView(Z)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->createSummaryText()Ljava/lang/CharSequence;
+HSPLandroid/app/Notification$Builder;->ensureColors(Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->filterOutContextualActions(Ljava/util/List;)Ljava/util/List;
+HSPLandroid/app/Notification$Builder;->findReplyAction()Landroid/app/Notification$Action;
+HSPLandroid/app/Notification$Builder;->generateActionButton(Landroid/app/Notification$Action;ZLandroid/app/Notification$StandardTemplateParams;)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->getActionLayoutResource()I
+HSPLandroid/app/Notification$Builder;->getBackgroundColor(Landroid/app/Notification$StandardTemplateParams;)I
+HSPLandroid/app/Notification$Builder;->getBaseLayoutResource()I
+HSPLandroid/app/Notification$Builder;->getBigBaseLayoutResource()I
+HSPLandroid/app/Notification$Builder;->getHeadsUpStatusBarText(Z)Ljava/lang/CharSequence;
+HSPLandroid/app/Notification$Builder;->getNeutralColor(Landroid/app/Notification$StandardTemplateParams;)I
+HSPLandroid/app/Notification$Builder;->getPrimaryTextColor(Landroid/app/Notification$StandardTemplateParams;)I
+HSPLandroid/app/Notification$Builder;->getProfileBadgeDrawable()Landroid/graphics/drawable/Drawable;
+HSPLandroid/app/Notification$Builder;->getProfileBadge()Landroid/graphics/Bitmap;
+HSPLandroid/app/Notification$Builder;->getRawColor(Landroid/app/Notification$StandardTemplateParams;)I
+HSPLandroid/app/Notification$Builder;->getSecondaryTextColor(Landroid/app/Notification$StandardTemplateParams;)I
+HSPLandroid/app/Notification$Builder;->handleProgressBar(Landroid/widget/RemoteViews;Landroid/os/Bundle;Landroid/app/Notification$StandardTemplateParams;)Z
+HSPLandroid/app/Notification$Builder;->hasForegroundColor()Z
+HSPLandroid/app/Notification$Builder;->hasValidRemoteInput(Landroid/app/Notification$Action;)Z
+HSPLandroid/app/Notification$Builder;->isColorized(Landroid/app/Notification$StandardTemplateParams;)Z
+HSPLandroid/app/Notification$Builder;->isLegacy()Z
+HSPLandroid/app/Notification$Builder;->loadHeaderAppName()Ljava/lang/String;
+HSPLandroid/app/Notification$Builder;->makeHeaderExpanded(Landroid/widget/RemoteViews;)V
+HSPLandroid/app/Notification$Builder;->makeLowPriorityContentView(Z)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->makeNotificationHeader(Landroid/app/Notification$StandardTemplateParams;)Landroid/widget/RemoteViews;
+HSPLandroid/app/Notification$Builder;->processLargeLegacyIcon(Landroid/graphics/drawable/Icon;Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->processLegacyText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+HSPLandroid/app/Notification$Builder;->processSmallIconColor(Landroid/graphics/drawable/Icon;Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->processTextSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+HSPLandroid/app/Notification$BuilderRemoteViews;-><init>(Landroid/content/pm/ApplicationInfo;I)V
+HSPLandroid/app/Notification$Builder;->resetNotificationHeader(Landroid/widget/RemoteViews;)V
+HSPLandroid/app/Notification$Builder;->resetStandardTemplate(Landroid/widget/RemoteViews;)V
+HSPLandroid/app/Notification$Builder;->resetStandardTemplateWithActions(Landroid/widget/RemoteViews;)V
+HSPLandroid/app/Notification$Builder;->resolveContrastColor(Landroid/app/Notification$StandardTemplateParams;)I
+HSPLandroid/app/Notification$Builder;->resolveNeutralColor()I
+HSPLandroid/app/Notification$Builder;->setContentMinHeight(Landroid/widget/RemoteViews;Z)V
+HSPLandroid/app/Notification$Builder;->setTextViewColorPrimary(Landroid/widget/RemoteViews;ILandroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->setTextViewColorSecondary(Landroid/widget/RemoteViews;ILandroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$Builder;->showsTimeOrChronometer()Z
+HSPLandroid/app/Notification$Builder;->textColorsNeedInversion()Z
+HSPLandroid/app/Notification$Builder;->updateBackgroundColor(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;)V
+HSPLandroid/app/Notification$StandardTemplateParams;->disallowColorization()Landroid/app/Notification$StandardTemplateParams;
+HSPLandroid/app/Notification$StandardTemplateParams;->fillTextsFrom(Landroid/app/Notification$Builder;)Landroid/app/Notification$StandardTemplateParams;
+HSPLandroid/app/Notification$StandardTemplateParams;->forceDefaultColor()Landroid/app/Notification$StandardTemplateParams;
+HSPLandroid/app/Notification$StandardTemplateParams;->reset()Landroid/app/Notification$StandardTemplateParams;
+HSPLandroid/app/Notification$StandardTemplateParams;->summaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$StandardTemplateParams;
+HSPLandroid/app/Notification;->access$1300(Landroid/app/Notification;)Landroid/graphics/drawable/Icon;
+HSPLandroid/app/Notification;->access$1602(Landroid/app/Notification;Z)Z
+HSPLandroid/app/Notification;->access$1800(Landroid/app/Notification;)Z
+HSPLandroid/app/Notification;->access$2000(Landroid/app/Notification;)J
+HSPLandroid/app/Notification;->access$2100(Landroid/app/Notification;)Landroid/graphics/drawable/Icon;
+HSPLandroid/app/NotificationChannel;->enableVibration(Z)V
+HSPLandroid/app/NotificationChannel;->setGroup(Ljava/lang/String;)V
+HSPLandroid/app/Notification;->getShortcutId()Ljava/lang/String;
+HSPLandroid/app/Notification;->hasLargeIcon()Z
+HSPLandroid/app/Notification;->isMediaNotification()Z
+HSPLandroid/app/NotificationManager;->cancelAll()V
+HSPLandroid/app/NotificationManager;->getCurrentInterruptionFilter()I
+HSPLandroid/app/NotificationManager;->getEffectsSuppressor()Landroid/content/ComponentName;
+HSPLandroid/app/NotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+HSPLandroid/app/NotificationManager;->shouldHideSilentStatusBarIcons()Z
+HSPLandroid/app/NotificationManager;->zenModeToInterruptionFilter(I)I
+HSPLandroid/app/Notification;->showsChronometer()Z
+HSPLandroid/app/Notification;->showsTime()Z
+HSPLandroid/app/PendingIntent$1;-><init>(Landroid/app/PendingIntent;)V
+HSPLandroid/app/PendingIntent;->getTarget()Landroid/content/IIntentSender;
+HSPLandroid/app/PendingIntent;->getTargetPackage()Ljava/lang/String;
+HSPLandroid/app/PendingIntent;->registerCancelListener(Landroid/app/PendingIntent$CancelListener;)V
+HSPLandroid/app/PendingIntent;->unregisterCancelListener(Landroid/app/PendingIntent$CancelListener;)V
+HSPLandroid/app/prediction/AppPredictionManager;->createAppPredictionSession(Landroid/app/prediction/AppPredictionContext;)Landroid/app/prediction/AppPredictor;
+HSPLandroid/app/prediction/AppPredictionManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/app/prediction/IPredictionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/prediction/IPredictionManager;
+HSPLandroid/app/RemoteAction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/RemoteAction;
+HSPLandroid/app/RemoteAction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/servertransaction/LaunchActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
+HSPLandroid/app/servertransaction/LaunchActivityItem;->setValues(Landroid/app/servertransaction/LaunchActivityItem;Landroid/content/Intent;ILandroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractor;ILandroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/util/List;Ljava/util/List;ZLandroid/app/ProfilerInfo;Landroid/os/IBinder;)V
+HSPLandroid/app/Service;->stopSelfResult(I)Z
+HSPLandroid/app/StatsManager;->addConfig(J[B)V
+HSPLandroid/app/StatsManager;->getReports(J)[B
+HSPLandroid/app/StatsManager;->setFetchReportsOperation(Landroid/app/PendingIntent;J)V
+HSPLandroid/app/StatsManager;->setPullerCallback(ILandroid/os/IStatsPullerCallback;)V
+HSPLandroid/app/StatusBarManager;->disable(I)V
+HSPLandroid/app/SystemServiceRegistry$103;->createService(Landroid/app/ContextImpl;)Landroid/app/prediction/AppPredictionManager;
+HSPLandroid/app/SystemServiceRegistry$103;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$15;->createService()Landroid/os/IBinder;
+HSPLandroid/app/SystemServiceRegistry$15;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/net/nsd/NsdManager;
+HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorPrivacyManager;
+HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$86;->createService()Landroid/service/persistentdata/PersistentDataBlockManager;
+HSPLandroid/app/SystemServiceRegistry$86;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Landroid/media/projection/MediaProjectionManager;
+HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Landroid/content/om/OverlayManager;
+HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Landroid/hardware/location/ContextHubManager;
+HSPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/trust/IStrongAuthTracker$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/trust/ITrustListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/app/trust/ITrustListener$Stub;-><init>()V
+HSPLandroid/app/trust/ITrustListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->clearAllBiometricRecognized(Landroid/hardware/biometrics/BiometricSourceType;)V
+HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceSecure(I)Z
+HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isTrustUsuallyManaged(I)Z
+HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
+HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->reportKeyguardShowingChanged()V
+HSPLandroid/app/trust/TrustManager$2;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/app/trust/TrustManager;->access$000(Landroid/app/trust/TrustManager;)Landroid/os/Handler;
+HSPLandroid/app/trust/TrustManager;->clearAllBiometricRecognized(Landroid/hardware/biometrics/BiometricSourceType;)V
+HSPLandroid/app/trust/TrustManager;->isTrustUsuallyManaged(I)Z
+HSPLandroid/app/trust/TrustManager;->registerTrustListener(Landroid/app/trust/TrustManager$TrustListener;)V
+HSPLandroid/app/trust/TrustManager;->reportKeyguardShowingChanged()V
+HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->isAppInactive(Ljava/lang/String;I)Z
+HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
+HSPLandroid/app/usage/UsageEvents$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageEvents;
+HSPLandroid/app/usage/UsageEvents$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/usage/UsageEvents$Event;->getClassName()Ljava/lang/String;
+HSPLandroid/app/usage/UsageEvents$Event;->getConfiguration()Landroid/content/res/Configuration;
+HSPLandroid/app/usage/UsageEvents$Event;->getEventType()I
+HSPLandroid/app/usage/UsageEvents$Event;->getPackageName()Ljava/lang/String;
+HSPLandroid/app/usage/UsageEvents$Event;->getTimeStamp()J
+HSPLandroid/app/usage/UsageEvents$Event;-><init>()V
+HSPLandroid/app/usage/UsageEvents;->getNextEvent(Landroid/app/usage/UsageEvents$Event;)Z
+HSPLandroid/app/usage/UsageEvents;->hasNextEvent()Z
+HSPLandroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/usage/UsageEvents;->readEventFromParcel(Landroid/os/Parcel;Landroid/app/usage/UsageEvents$Event;)V
+HSPLandroid/app/usage/UsageStats;->getLastTimeStamp()J
+HSPLandroid/app/usage/UsageStatsManager;->isAppInactive(Ljava/lang/String;)Z
+HSPLandroid/app/usage/UsageStatsManager;->queryAndAggregateUsageStats(JJ)Ljava/util/Map;
+HSPLandroid/app/usage/UsageStatsManager;->queryEvents(JJ)Landroid/app/usage/UsageEvents;
+HSPLandroid/app/WallpaperColors;->getColorHints()I
+HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WallpaperInfo;
+HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/WallpaperManager$Globals;->access$200(Landroid/app/WallpaperManager$Globals;)Landroid/app/IWallpaperManager;
+HSPLandroid/app/WallpaperManager$Globals;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;II)V
+HSPLandroid/app/WallpaperManager$Globals;->lambda$onWallpaperColorsChanged$1$WallpaperManager$Globals(Landroid/util/Pair;Landroid/app/WallpaperColors;II)V
+HSPLandroid/app/WallpaperManager$Globals;->lambda$removeOnColorsChangedListener$0(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/util/Pair;)Z
+HSPLandroid/app/WallpaperManager$Globals;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
+HSPLandroid/app/WallpaperManager$Globals;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;II)V
+HSPLandroid/app/WallpaperManager;->access$100()Landroid/app/WallpaperManager$Globals;
+HSPLandroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;I)V
+HSPLandroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;)V
+HSPLandroid/app/WallpaperManager;->getDesiredMinimumHeight()I
+HSPLandroid/app/WallpaperManager;->getDesiredMinimumWidth()I
+HSPLandroid/app/WallpaperManager;->getInstance(Landroid/content/Context;)Landroid/app/WallpaperManager;
+HSPLandroid/app/WallpaperManager;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
+HSPLandroid/app/WallpaperManager;->getWallpaperInfo()Landroid/app/WallpaperInfo;
+HSPLandroid/app/WallpaperManager;->isWallpaperSupported()Z
+HSPLandroid/app/WallpaperManager;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;I)V
+HSPLandroid/app/WallpaperManager;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;)V
+HSPLandroid/app/WallpaperManager;->setWallpaperOffsets(Landroid/os/IBinder;FF)V
+HSPLandroid/app/WallpaperManager;->setWallpaperOffsetSteps(FF)V
+HSPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(ILandroid/os/UserHandle;Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(Landroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dp;
+HSPLandroid/bluetooth/BluetoothA2dp$1;->getServiceInterface(Landroid/os/IBinder;)Ljava/lang/Object;
+HSPLandroid/bluetooth/BluetoothAdapter;->enableBLE()Z
+HSPLandroid/bluetooth/BluetoothAdapter;->getAddress()Ljava/lang/String;
+HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner;
+HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothManager()Landroid/bluetooth/IBluetoothManager;
+HSPLandroid/bluetooth/BluetoothAdapter;->getConnectionState()I
+HSPLandroid/bluetooth/BluetoothAdapter;->getLeAccess()Z
+HSPLandroid/bluetooth/BluetoothAdapter;->getLeState()I
+HSPLandroid/bluetooth/BluetoothAdapter;->getRemoteDevice(Ljava/lang/String;)Landroid/bluetooth/BluetoothDevice;
+HSPLandroid/bluetooth/BluetoothAdapter;->isBleScanAlwaysAvailable()Z
+HSPLandroid/bluetooth/BluetoothAdapter;->isLeEnabled()Z
+HSPLandroid/bluetooth/BluetoothAdapter;->isOffloadedFilteringSupported()Z
+HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingInsecureL2capOn(I)Landroid/bluetooth/BluetoothServerSocket;
+HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingInsecureRfcommOn(I)Landroid/bluetooth/BluetoothServerSocket;
+HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingL2capOn(I)Landroid/bluetooth/BluetoothServerSocket;
+HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingL2capOn(IZZ)Landroid/bluetooth/BluetoothServerSocket;
+HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingRfcommOn(I)Landroid/bluetooth/BluetoothServerSocket;
+HSPLandroid/bluetooth/BluetoothAdapter;->listenUsingRfcommOn(IZZ)Landroid/bluetooth/BluetoothServerSocket;
+HSPLandroid/bluetooth/BluetoothClass;-><init>(I)V
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getBitsPerSample()I
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getChannelMode()I
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecPriority()I
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific1()J
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific2()J
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific3()J
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecSpecific4()J
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getCodecType()I
+HSPLandroid/bluetooth/BluetoothCodecConfig;->getSampleRate()I
+HSPLandroid/bluetooth/BluetoothCodecConfig;-><init>(IIIIIJJJJ)V
+HSPLandroid/bluetooth/BluetoothDevice;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/bluetooth/BluetoothHeadset;->isInbandRingingSupported(Landroid/content/Context;)Z
+HSPLandroid/bluetooth/BluetoothInputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
+HSPLandroid/bluetooth/BluetoothManager;->getAdapter()Landroid/bluetooth/BluetoothAdapter;
+HSPLandroid/bluetooth/BluetoothOutputStream;-><init>(Landroid/bluetooth/BluetoothSocket;)V
+HSPLandroid/bluetooth/BluetoothPbap;->access$000(Ljava/lang/String;)V
+HSPLandroid/bluetooth/BluetoothPbap;->log(Ljava/lang/String;)V
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$000(Landroid/bluetooth/BluetoothProfileConnector;)Z
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$200(Landroid/bluetooth/BluetoothProfileConnector;Ljava/lang/String;)V
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$302(Landroid/bluetooth/BluetoothProfileConnector;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$400(Landroid/bluetooth/BluetoothProfileConnector;)Landroid/bluetooth/BluetoothProfile$ServiceListener;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$500(Landroid/bluetooth/BluetoothProfileConnector;)I
+HSPLandroid/bluetooth/BluetoothProfileConnector;->access$600(Landroid/bluetooth/BluetoothProfileConnector;)Landroid/bluetooth/BluetoothProfile;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->connect(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
+HSPLandroid/bluetooth/BluetoothProfileConnector;->doBind()Z
+HSPLandroid/bluetooth/BluetoothProfileConnector;->getService()Ljava/lang/Object;
+HSPLandroid/bluetooth/BluetoothProfileConnector;->logDebug(Ljava/lang/String;)V
+HSPLandroid/bluetooth/BluetoothServerSocket;->accept(I)Landroid/bluetooth/BluetoothSocket;
+HSPLandroid/bluetooth/BluetoothServerSocket;->accept()Landroid/bluetooth/BluetoothSocket;
+HSPLandroid/bluetooth/BluetoothServerSocket;->getChannel()I
+HSPLandroid/bluetooth/BluetoothServerSocket;-><init>(IZZI)V
+HSPLandroid/bluetooth/BluetoothServerSocket;-><init>(IZZIZZ)V
+HSPLandroid/bluetooth/BluetoothServerSocket;->setChannel(I)V
+HSPLandroid/bluetooth/BluetoothSocket;->accept(I)Landroid/bluetooth/BluetoothSocket;
+HSPLandroid/bluetooth/BluetoothSocket;->bindListen()I
+HSPLandroid/bluetooth/BluetoothSocket;->getPort()I
+HSPLandroid/bluetooth/BluetoothSocket;->getSecurityFlags()I
+HSPLandroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;)V
+HSPLandroid/bluetooth/BluetoothSocket;-><init>(IIZZLandroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;ZZ)V
+HSPLandroid/bluetooth/BluetoothSocket;->readAll(Ljava/io/InputStream;[B)I
+HSPLandroid/bluetooth/BluetoothSocket;->readInt(Ljava/io/InputStream;)I
+HSPLandroid/bluetooth/BluetoothSocket;->setExcludeSdp(Z)V
+HSPLandroid/bluetooth/BluetoothSocket;->waitSocketSignal(Ljava/io/InputStream;)Ljava/lang/String;
+HSPLandroid/bluetooth/BluetoothUuid;->getServiceIdentifierFromParcelUuid(Landroid/os/ParcelUuid;)I
+HSPLandroid/bluetooth/BluetoothUuid;->is16BitUuid(Landroid/os/ParcelUuid;)Z
+HSPLandroid/bluetooth/BluetoothUuid;->parseUuidFrom([B)Landroid/os/ParcelUuid;
+HSPLandroid/bluetooth/BluetoothUuid;->uuidToBytes(Landroid/os/ParcelUuid;)[B
+HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getAdapterConnectionState()I
+HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isOffloadedFilteringSupported()Z
+HSPLandroid/bluetooth/IBluetooth$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetooth$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/IBluetoothA2dp$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothA2dp;
+HSPLandroid/bluetooth/IBluetoothA2dp$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothA2dp$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothAvrcpTarget$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;->onBluetoothStateChange(II)V
+HSPLandroid/bluetooth/IBluetoothCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothCallback;
+HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerScanner(Landroid/bluetooth/le/IScannerCallback;Landroid/os/WorkSource;)V
+HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startScan(ILandroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
+HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopScan(I)V
+HSPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterScanner(I)V
+HSPLandroid/bluetooth/IBluetoothGatt$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothGatt$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothHeadset$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothHeadset$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHeadsetPhone;
+HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidDevice;
+HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothHidHost$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHidHost;
+HSPLandroid/bluetooth/IBluetoothHidHost$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothHidHost$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getAddress()Ljava/lang/String;
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isBleScanAlwaysAvailable()Z
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
+HSPLandroid/bluetooth/IBluetoothMap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothMap;
+HSPLandroid/bluetooth/IBluetoothMap$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothMap$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothPan$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothPan;
+HSPLandroid/bluetooth/IBluetoothPan$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothPbap$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothSap$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSap;
+HSPLandroid/bluetooth/IBluetoothSap$Stub;-><init>()V
+HSPLandroid/bluetooth/IBluetoothSap$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->createSocketChannel(ILjava/lang/String;Landroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
+HSPLandroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/IBluetoothSocketManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSocketManager;
+HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScannerRegistered(II)V
+HSPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
+HSPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanFilter;
+HSPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/bluetooth/le/ScanFilter$Builder;->setManufacturerData(I[B[B)Landroid/bluetooth/le/ScanFilter$Builder;
+HSPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/ScanFilter$Builder;
+HSPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;
+HSPLandroid/bluetooth/le/ScanFilter;->getDeviceAddress()Ljava/lang/String;
+HSPLandroid/bluetooth/le/ScanFilter;->getDeviceName()Ljava/lang/String;
+HSPLandroid/bluetooth/le/ScanFilter;->getManufacturerData()[B
+HSPLandroid/bluetooth/le/ScanFilter;->getManufacturerDataMask()[B
+HSPLandroid/bluetooth/le/ScanFilter;->getManufacturerId()I
+HSPLandroid/bluetooth/le/ScanFilter;->getServiceData()[B
+HSPLandroid/bluetooth/le/ScanFilter;->getServiceDataMask()[B
+HSPLandroid/bluetooth/le/ScanFilter;->getServiceDataUuid()Landroid/os/ParcelUuid;
+HSPLandroid/bluetooth/le/ScanFilter;->getServiceSolicitationUuid()Landroid/os/ParcelUuid;
+HSPLandroid/bluetooth/le/ScanFilter;->getServiceUuid()Landroid/os/ParcelUuid;
+HSPLandroid/bluetooth/le/ScanFilter;->getServiceUuidMask()Landroid/os/ParcelUuid;
+HSPLandroid/bluetooth/le/ScanFilter;->matches(Landroid/bluetooth/le/ScanResult;)Z
+HSPLandroid/bluetooth/le/ScanFilter;->matchesPartialData([B[B[B)Z
+HSPLandroid/bluetooth/le/ScanFilter;->matchesServiceUuid(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Z
+HSPLandroid/bluetooth/le/ScanFilter;->matchesServiceUuids(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Ljava/util/List;)Z
+HSPLandroid/bluetooth/le/ScanFilter;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/bluetooth/le/ScanRecord;->extractBytes([BII)[B
+HSPLandroid/bluetooth/le/ScanRecord;->getBytes()[B
+HSPLandroid/bluetooth/le/ScanRecord;->getManufacturerSpecificData(I)[B
+HSPLandroid/bluetooth/le/ScanRecord;->getServiceData(Landroid/os/ParcelUuid;)[B
+HSPLandroid/bluetooth/le/ScanRecord;->getServiceUuids()Ljava/util/List;
+HSPLandroid/bluetooth/le/ScanRecord;-><init>(Ljava/util/List;Ljava/util/List;Landroid/util/SparseArray;Ljava/util/Map;IILjava/lang/String;[B)V
+HSPLandroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
+HSPLandroid/bluetooth/le/ScanRecord;->parseServiceUuid([BIIILjava/util/List;)I
+HSPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanResult;
+HSPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/bluetooth/le/ScanResult;->getDevice()Landroid/bluetooth/BluetoothDevice;
+HSPLandroid/bluetooth/le/ScanResult;->getRssi()I
+HSPLandroid/bluetooth/le/ScanResult;->getScanRecord()Landroid/bluetooth/le/ScanRecord;
+HSPLandroid/bluetooth/le/ScanResult;->getTimestampNanos()J
+HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/bluetooth/BluetoothDevice;IIIIIIILandroid/bluetooth/le/ScanRecord;J)V
+HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/os/Parcel;Landroid/bluetooth/le/ScanResult$1;)V
+HSPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/bluetooth/le/ScanResult;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/bluetooth/le/ScanResult;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/bluetooth/le/ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanSettings;
+HSPLandroid/bluetooth/le/ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->build()Landroid/bluetooth/le/ScanSettings;
+HSPLandroid/bluetooth/le/ScanSettings$Builder;-><init>()V
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->isValidCallbackType(I)Z
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->setCallbackType(I)Landroid/bluetooth/le/ScanSettings$Builder;
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->setMatchMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->setNumOfMatches(I)Landroid/bluetooth/le/ScanSettings$Builder;
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->setReportDelay(J)Landroid/bluetooth/le/ScanSettings$Builder;
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->setScanMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
+HSPLandroid/bluetooth/le/ScanSettings;->getCallbackType()I
+HSPLandroid/bluetooth/le/ScanSettings;->getLegacy()Z
+HSPLandroid/bluetooth/le/ScanSettings;->getMatchMode()I
+HSPLandroid/bluetooth/le/ScanSettings;->getReportDelayMillis()J
+HSPLandroid/bluetooth/le/ScanSettings;->getScanMode()I
+HSPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZILandroid/bluetooth/le/ScanSettings$1;)V
+HSPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZI)V
+HSPLandroid/bluetooth/le/ScanSettings;-><init>(Landroid/os/Parcel;Landroid/bluetooth/le/ScanSettings$1;)V
+HSPLandroid/bluetooth/le/ScanSettings;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/bluetooth/le/ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Landroid/content/AbstractThreadedSyncAdapter$1;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;-><init>(Landroid/content/AbstractThreadedSyncAdapter;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->lambda$onUnsyncableAccount$0(Ljava/lang/Object;Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;Landroid/content/AbstractThreadedSyncAdapter$1;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;-><init>(Landroid/content/AbstractThreadedSyncAdapter;Ljava/lang/String;Landroid/content/SyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->isCanceled()Z
+HSPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->run()V
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$100()Z
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$1200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$1300(Landroid/content/AbstractThreadedSyncAdapter;)Landroid/content/Context;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/accounts/Account;)Landroid/accounts/Account;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$300(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/lang/Object;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$400(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/util/HashMap;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$500(Landroid/content/AbstractThreadedSyncAdapter;)Z
+HSPLandroid/content/AbstractThreadedSyncAdapter;->access$600(Landroid/content/AbstractThreadedSyncAdapter;)Ljava/util/concurrent/atomic/AtomicInteger;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->getContext()Landroid/content/Context;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->getSyncAdapterBinder()Landroid/os/IBinder;
+HSPLandroid/content/AbstractThreadedSyncAdapter;->handleOnUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
+HSPLandroid/content/AbstractThreadedSyncAdapter;-><init>(Landroid/content/Context;ZZ)V
+HSPLandroid/content/AbstractThreadedSyncAdapter;->onUnsyncableAccount()Z
+HSPLandroid/content/AbstractThreadedSyncAdapter;->toSyncKey(Landroid/accounts/Account;)Landroid/accounts/Account;
+HSPLandroid/content/ComponentName;-><init>(Ljava/lang/String;Landroid/os/Parcel;)V
+HSPLandroid/content/ComponentName;->readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;
+HSPLandroid/content/ContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->close()V
+HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->finalize()V
+HSPLandroid/content/ContentProviderClient;->getLocalContentProvider()Landroid/content/ContentProvider;
+HSPLandroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider;
+HSPLandroid/content/ContentProvider;->onCallingPackageChanged()V
+HSPLandroid/content/ContentResolver;->acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
+HSPLandroid/content/ContentResolver;->acquireUnstableProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
+HSPLandroid/content/ContentResolver;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
+HSPLandroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
+HSPLandroid/content/ContentResolver;->getMasterSyncAutomatically()Z
+HSPLandroid/content/ContentResolver;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
+HSPLandroid/content/ContentResolver;->invalidPeriodicExtras(Landroid/os/Bundle;)Z
+HSPLandroid/content/ContentResolver;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HSPLandroid/content/ContentResolver;->requestSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/Bundle;)V
+HSPLandroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HSPLandroid/content/ContentResolver;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
+HSPLandroid/content/ContentResolver;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
+HSPLandroid/content/ContentResolver;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
+HSPLandroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
+HSPLandroid/content/ContentValues;->getAsByteArray(Ljava/lang/String;)[B
+HSPLandroid/content/ContentValues;->valueSet()Ljava/util/Set;
+HSPLandroid/content/Context;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V
+HSPLandroid/content/ContextWrapper;->databaseList()[Ljava/lang/String;
+HSPLandroid/content/ContextWrapper;->deleteDatabase(Ljava/lang/String;)Z
+HSPLandroid/content/ContextWrapper;->deleteFile(Ljava/lang/String;)Z
+HSPLandroid/content/ContextWrapper;->getThemeResId()I
+HSPLandroid/content/ContextWrapper;->moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z
+HSPLandroid/content/ContextWrapper;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
+HSPLandroid/content/ContextWrapper;->updateDisplay(I)V
+HSPLandroid/content/IClipboard$Stub$Proxy;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;I)V
+HSPLandroid/content/IContentService$Stub$Proxy;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
+HSPLandroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomatically()Z
+HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
+HSPLandroid/content/IContentService$Stub$Proxy;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HSPLandroid/content/IContentService$Stub$Proxy;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
+HSPLandroid/content/IContentService$Stub$Proxy;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
+HSPLandroid/content/IContentService$Stub$Proxy;->syncAsUser(Landroid/content/SyncRequest;ILjava/lang/String;)V
+HSPLandroid/content/IIntentReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/content/IntentFilter;->matchAction(Ljava/lang/String;)Z
+HSPLandroid/content/Intent;->putExtras(Landroid/content/Intent;)Landroid/content/Intent;
+HSPLandroid/content/ISyncAdapter$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/content/ISyncAdapter$Stub;-><init>()V
+HSPLandroid/content/ISyncAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->onUnsyncableAccountDone(Z)V
+HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncAdapterUnsyncableAccountCallback;
+HSPLandroid/content/ISyncContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/content/ISyncContext$Stub$Proxy;->onFinished(Landroid/content/SyncResult;)V
+HSPLandroid/content/ISyncContext$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncContext;
+HSPLandroid/content/om/OverlayManager;-><init>(Landroid/content/Context;Landroid/content/om/IOverlayManager;)V
+HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Ljava/util/List;)V
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getAllSessions(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcutConfigActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->hasShortcutHostPermission(Ljava/lang/String;)Z
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->resolveActivity(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/ActivityInfo;
+HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HSPLandroid/content/pm/IOnAppsChangedListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/content/pm/IOnAppsChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
+HSPLandroid/content/pm/IPackageInstaller$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstaller;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isSafeMode()Z
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
+HSPLandroid/content/pm/IPackageMoveObserver$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/content/pm/IPackageMoveObserver$Stub;-><init>()V
+HSPLandroid/content/pm/LauncherApps$1;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
+HSPLandroid/content/pm/LauncherApps$1;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HSPLandroid/content/pm/LauncherApps;->access$100(Landroid/content/pm/LauncherApps;)Ljava/util/List;
+HSPLandroid/content/pm/LauncherApps;->addCallbackLocked(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V
+HSPLandroid/content/pm/LauncherApps;->convertToActivityList(Landroid/content/pm/ParceledListSlice;Landroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/content/pm/LauncherApps;->findCallbackLocked(Landroid/content/pm/LauncherApps$Callback;)I
+HSPLandroid/content/pm/LauncherApps;->getActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/content/pm/LauncherApps;->getAllPackageInstallerSessions()Ljava/util/List;
+HSPLandroid/content/pm/LauncherApps;->getShortcutConfigActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/content/pm/LauncherApps;->getShortcuts(Landroid/content/pm/LauncherApps$ShortcutQuery;Landroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/content/pm/LauncherApps;->hasShortcutHostPermission()Z
+HSPLandroid/content/pm/LauncherApps;->isActivityEnabled(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
+HSPLandroid/content/pm/LauncherApps;->isPackageEnabled(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HSPLandroid/content/pm/LauncherApps;->logErrorForInvalidProfileAccess(Landroid/os/UserHandle;)V
+HSPLandroid/content/pm/LauncherApps;->maybeUpdateDisabledMessage(Ljava/util/List;)Ljava/util/List;
+HSPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V
+HSPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;)V
+HSPLandroid/content/pm/LauncherApps;->removeCallbackLocked(Landroid/content/pm/LauncherApps$Callback;)V
+HSPLandroid/content/pm/LauncherApps;->resolveActivity(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/LauncherActivityInfo;
+HSPLandroid/content/pm/LauncherApps;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HSPLandroid/content/pm/PackageInfo;-><init>()V
+HSPLandroid/content/pm/PackageInstaller$SessionCallback;-><init>()V
+HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V
+HSPLandroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+HSPLandroid/content/pm/PackageParser$CallbackImpl;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/content/pm/PackageParser$CallbackImpl;->hasFeature(Ljava/lang/String;)Z
+HSPLandroid/content/pm/PackageParser$CallbackImpl;-><init>(Landroid/content/pm/PackageManager;)V
+HSPLandroid/content/pm/PackageParser;->generatePackageInfo(Landroid/content/pm/PackageParser$Package;[IIJJLjava/util/Set;Landroid/content/pm/PackageUserState;)Landroid/content/pm/PackageInfo;
+HSPLandroid/content/pm/ParceledListSlice;-><init>(Ljava/util/List;)V
+HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Landroid/content/pm/ServiceInfo;
+HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/content/pm/ShortcutInfo;->getActivity()Landroid/content/ComponentName;
+HSPLandroid/content/pm/ShortcutInfo;->getDisabledReasonForRestoreIssue(Landroid/content/Context;I)Ljava/lang/String;
+HSPLandroid/content/pm/ShortcutInfo;->getDisabledReason()I
+HSPLandroid/content/pm/ShortcutInfo;->getPackage()Ljava/lang/String;
+HSPLandroid/content/pm/ShortcutInfo;->getUserHandle()Landroid/os/UserHandle;
+HSPLandroid/content/pm/ShortcutInfo;->hasFlags(I)Z
+HSPLandroid/content/pm/ShortcutInfo;->isDeclaredInManifest()Z
+HSPLandroid/content/pm/ShortcutInfo;->isDynamic()Z
+HSPLandroid/content/pm/ShortcutInfo;->isEnabled()Z
+HSPLandroid/content/res/ApkAssets;->close()V
+HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
+HSPLandroid/content/res/AssetManager;->isUpToDate()Z
+HSPLandroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
+HSPLandroid/content/res/ComplexColor;-><init>()V
+HSPLandroid/content/res/Configuration;->isOtherSeqNewer(Landroid/content/res/Configuration;)Z
+HSPLandroid/content/res/ConstantState;-><init>()V
+HSPLandroid/content/res/GradientColor;->access$000(Landroid/content/res/GradientColor;)I
+HSPLandroid/content/res/GradientColor;->canApplyTheme()Z
+HSPLandroid/content/res/GradientColor;->createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/content/res/GradientColor;
+HSPLandroid/content/res/GradientColor;->getConstantState()Landroid/content/res/ConstantState;
+HSPLandroid/content/res/GradientColor;->getDefaultColor()I
+HSPLandroid/content/res/GradientColor;->getShader()Landroid/graphics/Shader;
+HSPLandroid/content/res/GradientColor;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
+HSPLandroid/content/res/GradientColor;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
+HSPLandroid/content/res/GradientColor;-><init>()V
+HSPLandroid/content/res/GradientColor;->onColorsChange()V
+HSPLandroid/content/res/GradientColor;->parseTileMode(I)Landroid/graphics/Shader$TileMode;
+HSPLandroid/content/res/GradientColor;->updateRootElementState(Landroid/content/res/TypedArray;)V
+HSPLandroid/content/res/GradientColor;->validateXmlContent()V
+HSPLandroid/content/res/Resources;->getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;
+HSPLandroid/content/res/ResourcesImpl;->loadColorOrXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/content/res/Resources;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
+HSPLandroid/content/res/StringBlock;->close()V
+HSPLandroid/content/res/TypedArray;->getThemeAttributeId(II)I
+HSPLandroid/content/SyncContext;-><init>(Landroid/content/ISyncContext;)V
+HSPLandroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
+HSPLandroid/content/SyncRequest$Builder;->access$1000(Landroid/content/SyncRequest$Builder;)Z
+HSPLandroid/content/SyncRequest$Builder;->access$100(Landroid/content/SyncRequest$Builder;)J
+HSPLandroid/content/SyncRequest$Builder;->access$200(Landroid/content/SyncRequest$Builder;)J
+HSPLandroid/content/SyncRequest$Builder;->access$300(Landroid/content/SyncRequest$Builder;)Landroid/accounts/Account;
+HSPLandroid/content/SyncRequest$Builder;->access$400(Landroid/content/SyncRequest$Builder;)Ljava/lang/String;
+HSPLandroid/content/SyncRequest$Builder;->access$500(Landroid/content/SyncRequest$Builder;)I
+HSPLandroid/content/SyncRequest$Builder;->access$600(Landroid/content/SyncRequest$Builder;)I
+HSPLandroid/content/SyncRequest$Builder;->access$700(Landroid/content/SyncRequest$Builder;)Z
+HSPLandroid/content/SyncRequest$Builder;->access$800(Landroid/content/SyncRequest$Builder;)Landroid/os/Bundle;
+HSPLandroid/content/SyncRequest$Builder;->access$900(Landroid/content/SyncRequest$Builder;)Landroid/os/Bundle;
+HSPLandroid/content/SyncRequest$Builder;->build()Landroid/content/SyncRequest;
+HSPLandroid/content/SyncRequest$Builder;-><init>()V
+HSPLandroid/content/SyncRequest$Builder;->setExtras(Landroid/os/Bundle;)Landroid/content/SyncRequest$Builder;
+HSPLandroid/content/SyncRequest$Builder;->setSyncAdapter(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncRequest$Builder;
+HSPLandroid/content/SyncRequest$Builder;->setupInterval(JJ)V
+HSPLandroid/content/SyncRequest$Builder;->syncOnce()Landroid/content/SyncRequest$Builder;
+HSPLandroid/content/SyncRequest;-><init>(Landroid/content/SyncRequest$Builder;)V
+HSPLandroid/content/SyncRequest;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/SyncResult;-><init>()V
+HSPLandroid/content/SyncResult;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/SyncStats;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/database/AbstractCursor$SelfContentObserver;-><init>(Landroid/database/AbstractCursor;)V
+HSPLandroid/database/AbstractCursor;->getExtras()Landroid/os/Bundle;
+HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;IZ)V
+HSPLandroid/database/AbstractWindowedCursor;->setWindow(Landroid/database/CursorWindow;)V
+HSPLandroid/database/CrossProcessCursorWrapper;->getWindow()Landroid/database/CursorWindow;
+HSPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;)V
+HSPLandroid/database/CursorWindow;-><init>(Z)V
+HSPLandroid/database/CursorWindow;->putBlob([BII)Z
+HSPLandroid/database/CursorWindow;->putDouble(DII)Z
+HSPLandroid/database/CursorWrapper;->getExtras()Landroid/os/Bundle;
+HSPLandroid/database/CursorWrapper;->getWantsAllOnMoveCalls()Z
+HSPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor;
+HSPLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J
+HSPLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
+HSPLandroid/database/DatabaseUtils;->stringForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/database/DatabaseUtils;->stringForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/database/MatrixCursor;->getBlob(I)[B
+HSPLandroid/database/MatrixCursor;->getDouble(I)D
+HSPLandroid/database/sqlite/SQLiteCursor;->setWindow(Landroid/database/CursorWindow;)V
+HSPLandroid/database/sqlite/SQLiteDatabase$1;->accept(Ljava/io/File;)Z
+HSPLandroid/database/sqlite/SQLiteDatabase$1;-><init>(Ljava/lang/String;)V
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->addOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->build()Landroid/database/sqlite/SQLiteDatabase$OpenParams;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$000(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$100(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$200(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/DatabaseErrorHandler;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$300(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$400(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)I
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$600(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;->access$700(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$1;)V
+HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionNonExclusive()V
+HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;)Z
+HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;Z)Z
+HSPLandroid/database/sqlite/SQLiteDatabase;->getMaximumSize()J
+HSPLandroid/database/sqlite/SQLiteDatabase;->getPageSize()J
+HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadDefaultConnectionFlags(Z)I
+HSPLandroid/database/sqlite/SQLiteDatabase;->getThreadSession()Landroid/database/sqlite/SQLiteSession;
+HSPLandroid/database/sqlite/SQLiteDatabase;->query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
+HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
+HSPLandroid/database/sqlite/SQLiteDatabase;->releaseMemory()I
+HSPLandroid/database/sqlite/SQLiteGlobal;->releaseMemory()I
+HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParamsBuilder(Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
+HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParams(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
+HSPLandroid/database/sqlite/SQLiteProgram;->bindAllArgsAsStrings([Ljava/lang/String;)V
+HSPLandroid/database/sqlite/SQLiteProgram;->getBindArgs()[Ljava/lang/Object;
+HSPLandroid/database/sqlite/SQLiteProgram;->getConnectionFlags()I
+HSPLandroid/database/sqlite/SQLiteProgram;->getSession()Landroid/database/sqlite/SQLiteSession;
+HSPLandroid/database/sqlite/SQLiteProgram;->getSql()Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+HSPLandroid/database/sqlite/SQLiteSession;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)V
+HSPLandroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String;
+HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;->applyAsDouble(D)D
+HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V
+HSPLandroid/graphics/Bitmap;->checkRecycled(Ljava/lang/String;)V
+HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/Bitmap;->extractAlpha(Landroid/graphics/Paint;[I)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/BitmapFactory$Options;->nativeColorSpace(Landroid/graphics/BitmapFactory$Options;)J
+HSPLandroid/graphics/BitmapFactory$Options;->nativeInBitmap(Landroid/graphics/BitmapFactory$Options;)J
+HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/Bitmap;->getNativeInstance()J
+HSPLandroid/graphics/Bitmap;->noteHardwareBitmapSlowCall()V
+HSPLandroid/graphics/BlendMode;->blendModeToPorterDuffMode(Landroid/graphics/BlendMode;)Landroid/graphics/PorterDuff$Mode;
+HSPLandroid/graphics/BlendModeColorFilter;->createNativeInstance()J
+HSPLandroid/graphics/BlendModeColorFilter;->getColor()I
+HSPLandroid/graphics/BlendModeColorFilter;->getMode()Landroid/graphics/BlendMode;
+HSPLandroid/graphics/BlendModeColorFilter;-><init>(ILandroid/graphics/BlendMode;)V
+HSPLandroid/graphics/BlendMode;->fromValue(I)Landroid/graphics/BlendMode;
+HSPLandroid/graphics/BlendMode;->getXfermode()Landroid/graphics/Xfermode;
+HSPLandroid/graphics/Canvas;->checkValidSaveFlags(I)V
+HSPLandroid/graphics/Canvas;->clipOutPath(Landroid/graphics/Path;)Z
+HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
+HSPLandroid/graphics/Canvas;->getClipBounds()Landroid/graphics/Rect;
+HSPLandroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;I)I
+HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I
+HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I
+HSPLandroid/graphics/ColorFilter;->discardNativeInstance()V
+HSPLandroid/graphics/ColorFilter;-><init>()V
+HSPLandroid/graphics/Color;->luminance(I)F
+HSPLandroid/graphics/ColorMatrixColorFilter;-><init>([F)V
+HSPLandroid/graphics/ColorMatrixColorFilter;->setColorMatrixArray([F)V
+HSPLandroid/graphics/ColorMatrix;->set([F)V
+HSPLandroid/graphics/ColorSpace$Rgb;->clamp(D)D
+HSPLandroid/graphics/ColorSpace$Rgb;->getEotf()Ljava/util/function/DoubleUnaryOperator;
+HSPLandroid/graphics/ColorSpace$Rgb;->lambda$8EkhO2jIf14tuA3BvrmYJMa7YXM(Landroid/graphics/ColorSpace$Rgb;D)D
+HSPLandroid/graphics/CornerPathEffect;-><init>(F)V
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;-><init>(I)V
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->addLayer(ILandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;)V
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->createChildDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getBackground()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getExtraInsetFraction()F
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getForeground()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getIconMask()Landroid/graphics/Path;
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;-><init>(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->mutate()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->newDrawable()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->access$200(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)Landroid/animation/Animator$AnimatorListener;
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->access$300(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->addPendingAction(I)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForRootGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;J)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->invalidateOwningView()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isRunning()Z
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->reset()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->transferPendingActions(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->useLastSeenTarget()Z
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->access$1700(JFF)J
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->access$700(Landroid/graphics/drawable/AnimatedVectorDrawable;)Ljava/util/ArrayList;
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->clearAnimationCallbacks()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->ensureAnimatorSet()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->fallbackOntoUI()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->forceAnimationOnUI()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/content/res/Resources;Landroid/graphics/drawable/AnimatedVectorDrawable$1;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->registerAnimationCallback(Landroid/graphics/drawable/Animatable2$AnimationCallback;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->removeAnimatorSetListener()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->reset()V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
+HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
+HSPLandroid/graphics/drawable/BitmapDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
+HSPLandroid/graphics/drawable/ColorDrawable;-><init>()V
+HSPLandroid/graphics/drawable/ColorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
+HSPLandroid/graphics/drawable/Drawable$ConstantState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/Drawable;->clearMutated()V
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChildCount()I
+HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->growArray(II)V
+HSPLandroid/graphics/drawable/DrawableContainer;->getAlpha()I
+HSPLandroid/graphics/drawable/Drawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
+HSPLandroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/Drawable;->parseBlendMode(ILandroid/graphics/BlendMode;)Landroid/graphics/BlendMode;
+HSPLandroid/graphics/drawable/Drawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HSPLandroid/graphics/drawable/Drawable;->updateBlendModeFilter(Landroid/graphics/BlendModeColorFilter;Landroid/content/res/ColorStateList;Landroid/graphics/BlendMode;)Landroid/graphics/BlendModeColorFilter;
+HSPLandroid/graphics/drawable/DrawableWrapper;->getOpacity()I
+HSPLandroid/graphics/drawable/DrawableWrapper;-><init>(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/graphics/drawable/DrawableWrapper;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
+HSPLandroid/graphics/drawable/DrawableWrapper;->onLevelChange(I)Z
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->getAngleFromOrientation(Landroid/graphics/drawable/GradientDrawable$Orientation;)I
+HSPLandroid/graphics/drawable/GradientDrawable$GradientState;->updateGradientStateOrientation()V
+HSPLandroid/graphics/drawable/Icon;->loadDrawableAsUser(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/Icon;->sameAs(Landroid/graphics/drawable/Icon;)Z
+HSPLandroid/graphics/drawable/Icon;->setTintMode(Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/drawable/Icon;
+HSPLandroid/graphics/drawable/LayerDrawable$LayerState;->newDrawable()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/NinePatchDrawable;-><init>()V
+HSPLandroid/graphics/drawable/NinePatchDrawable;->setAlpha(I)V
+HSPLandroid/graphics/drawable/RippleDrawable;->setForceSoftware(Z)V
+HSPLandroid/graphics/drawable/RotateDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
+HSPLandroid/graphics/drawable/ShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
+HSPLandroid/graphics/drawable/shapes/Shape;->clone()Landroid/graphics/drawable/shapes/Shape;
+HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getProperty(Ljava/lang/String;)Landroid/util/Property;
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$2;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$2;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$3;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$3;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$4;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$4;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$5;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup$5;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setScaleX(F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setScaleY(F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTranslateX(F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->setTranslateY(F)V
+HSPLandroid/graphics/drawable/VectorDrawable$VPath$1;->set(Landroid/graphics/drawable/VectorDrawable$VPath;Landroid/util/PathParser$PathData;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VPath$1;->set(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/graphics/drawable/VectorDrawable$VPath;->setPathData(Landroid/util/PathParser$PathData;)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$2900(JF)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$3100(JF)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$3300(JF)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$3500(JF)V
+HSPLandroid/graphics/drawable/VectorDrawable;->access$3600(JJ)V
+HSPLandroid/graphics/drawable/VectorDrawable;->setTintBlendMode(Landroid/graphics/BlendMode;)V
+HSPLandroid/graphics/drawable/VectorDrawable;->updateColorFilters(Landroid/graphics/BlendMode;Landroid/content/res/ColorStateList;)V
+HSPLandroid/graphics/HardwareRenderer;->buildLayer(Landroid/graphics/RenderNode;)V
+HSPLandroid/graphics/HardwareRenderer;->overrideProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/graphics/HardwareRenderer;->setContextPriority(I)V
+HSPLandroid/graphics/HardwareRenderer;->setFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
+HSPLandroid/graphics/MaskFilter;->finalize()V
+HSPLandroid/graphics/Matrix;->ni()J
+HSPLandroid/graphics/Matrix;->postRotate(FFF)Z
+HSPLandroid/graphics/Paint;->clearShadowLayer()V
+HSPLandroid/graphics/Paint;->getFontMetrics()Landroid/graphics/Paint$FontMetrics;
+HSPLandroid/graphics/Paint;->setARGB(IIII)V
+HSPLandroid/graphics/Paint;->setFontFeatureSettings(Ljava/lang/String;)V
+HSPLandroid/graphics/Paint;->setStrokeMiter(F)V
+HSPLandroid/graphics/Path;->addCircle(FFFLandroid/graphics/Path$Direction;)V
+HSPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;)V
+HSPLandroid/graphics/Path;->addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V
+HSPLandroid/graphics/Path;->arcTo(Landroid/graphics/RectF;FF)V
+HSPLandroid/graphics/PathEffect;-><init>()V
+HSPLandroid/graphics/PathMeasure;->finalize()V
+HSPLandroid/graphics/PathMeasure;->getLength()F
+HSPLandroid/graphics/PathMeasure;->getPosTan(F[F[F)Z
+HSPLandroid/graphics/PathMeasure;-><init>(Landroid/graphics/Path;Z)V
+HSPLandroid/graphics/PathMeasure;-><init>()V
+HSPLandroid/graphics/PathMeasure;->setPath(Landroid/graphics/Path;Z)V
+HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z
+HSPLandroid/graphics/Path;->op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z
+HSPLandroid/graphics/Path;->quadTo(FFFF)V
+HSPLandroid/graphics/Path;->readOnlyNI()J
+HSPLandroid/graphics/Path;->rLineTo(FF)V
+HSPLandroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
+HSPLandroid/graphics/Point;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/graphics/RectF;->offsetTo(FF)V
+HSPLandroid/graphics/Rect;->inset(II)V
+HSPLandroid/graphics/Rect;->offsetTo(II)V
+HSPLandroid/graphics/Rect;->setIntersect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+HSPLandroid/graphics/Region;->getBounds()Landroid/graphics/Rect;
+HSPLandroid/graphics/Region;-><init>(IIII)V
+HSPLandroid/graphics/RegionIterator;-><init>(Landroid/graphics/Region;)V
+HSPLandroid/graphics/RegionIterator;->next(Landroid/graphics/Rect;)Z
+HSPLandroid/graphics/Region;->ni()J
+HSPLandroid/graphics/Region;->setPath(Landroid/graphics/Path;Landroid/graphics/Region;)Z
+HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;-><init>([Landroid/graphics/RenderNode$PositionUpdateListener;)V
+HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->positionChanged(JIIII)V
+HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->positionLost(J)V
+HSPLandroid/graphics/RenderNode$CompositePositionUpdateListener;->without(Landroid/graphics/RenderNode$PositionUpdateListener;)Landroid/graphics/RenderNode$CompositePositionUpdateListener;
+HSPLandroid/graphics/RenderNode;->removePositionUpdateListener(Landroid/graphics/RenderNode$PositionUpdateListener;)V
+HSPLandroid/graphics/Typeface;->create(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface;
+HSPLandroid/graphics/Typeface;->createWeightStyle(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface;
+HSPLandroid/hardware/biometrics/BiometricManager;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
+HSPLandroid/hardware/biometrics/BiometricSourceType;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;-><init>()V
+HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;-><init>()V
+HSPLandroid/hardware/Camera$CameraInfo;-><init>()V
+HSPLandroid/hardware/camera2/CameraManager;->registerTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;Landroid/os/Handler;)V
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->boolSettingDefaultOn(Ljava/lang/String;I)Z
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->boolSetting(Ljava/lang/String;II)Z
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->tapGestureEnabled(I)Z
+HSPLandroid/hardware/display/DisplayManager;->getStableDisplaySize()Landroid/graphics/Point;
+HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point;
+HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getStableDisplaySize()Landroid/graphics/Point;
+HSPLandroid/hardware/fingerprint/FingerprintManager$1;-><init>(Landroid/hardware/fingerprint/FingerprintManager;Landroid/os/PowerManager;Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;)V
+HSPLandroid/hardware/fingerprint/FingerprintManager;->addLockoutResetCallback(Landroid/hardware/fingerprint/FingerprintManager$LockoutResetCallback;)V
+HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->addLockoutResetCallback(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->hasKeys(II[I[Z)Z
+HSPLandroid/hardware/input/InputManager;->deviceHasKeys(I[I)[Z
+HSPLandroid/hardware/ISensorPrivacyListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/ISensorPrivacyListener$Stub;-><init>()V
+HSPLandroid/hardware/ISensorPrivacyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ISensorPrivacyManager;
+HSPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubInfo;
+HSPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/location/ContextHubInfo;->getMaxPacketLengthBytes()I
+HSPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;Landroid/hardware/location/ContextHubInfo$1;)V
+HSPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/hardware/location/ContextHubManager;->access$000(Landroid/hardware/location/ContextHubManager;)Landroid/hardware/location/ContextHubManager$Callback;
+HSPLandroid/hardware/location/ContextHubManager;->access$100(Landroid/hardware/location/ContextHubManager;)Landroid/os/Handler;
+HSPLandroid/hardware/location/ContextHubManager;->access$200(Landroid/hardware/location/ContextHubManager;)Landroid/hardware/location/ContextHubManager$ICallback;
+HSPLandroid/hardware/location/ContextHubManager;->access$300(Landroid/hardware/location/ContextHubManager;IILandroid/hardware/location/ContextHubMessage;)V
+HSPLandroid/hardware/location/ContextHubManager;->createClientCallback(Landroid/hardware/location/ContextHubClient;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/IContextHubClientCallback;
+HSPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;)Landroid/hardware/location/ContextHubClient;
+HSPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/ContextHubClient;
+HSPLandroid/hardware/location/ContextHubManager;->createQueryCallback(Landroid/hardware/location/ContextHubTransaction;)Landroid/hardware/location/IContextHubTransactionCallback;
+HSPLandroid/hardware/location/ContextHubManager;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
+HSPLandroid/hardware/location/ContextHubManager;->getContextHubHandles()[I
+HSPLandroid/hardware/location/ContextHubManager;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
+HSPLandroid/hardware/location/ContextHubManager;->getContextHubs()Ljava/util/List;
+HSPLandroid/hardware/location/ContextHubManager;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
+HSPLandroid/hardware/location/ContextHubManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+HSPLandroid/hardware/location/ContextHubManager;->invokeOnMessageReceiptCallback(IILandroid/hardware/location/ContextHubMessage;)V
+HSPLandroid/hardware/location/ContextHubManager;->queryNanoApps(Landroid/hardware/location/ContextHubInfo;)Landroid/hardware/location/ContextHubTransaction;
+HSPLandroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$Callback;)I
+HSPLandroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$Callback;Landroid/os/Handler;)I
+HSPLandroid/hardware/location/ContextHubManager;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
+HSPLandroid/hardware/location/IActivityRecognitionHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardware;
+HSPLandroid/hardware/location/IContextHubCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/location/IContextHubCallback$Stub;-><init>()V
+HSPLandroid/hardware/location/IContextHubCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/hardware/location/IContextHubClientCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/hardware/location/IContextHubService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubService;
+HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Landroid/hardware/location/MemoryRegion;
+HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppInstanceInfo;
+HSPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;Landroid/hardware/location/NanoAppInstanceInfo$1;)V
+HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/hardware/location/NanoAppMessage;->getMessageType()I
+HSPLandroid/hardware/location/NanoAppMessage;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppState;
+HSPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/location/NanoAppState;->getNanoAppId()J
+HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;Landroid/hardware/location/NanoAppState$1;)V
+HSPLandroid/hardware/location/NanoAppState;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/deprecated/V1_0/IOemHook;
+HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication$Stub;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse$Stub;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/hardware/radio/V1_0/CardStatus;-><init>()V
+HSPLandroid/hardware/radio/V1_0/CardStatus;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_0/CdmaSignalStrength;-><init>()V
+HSPLandroid/hardware/radio/V1_0/CdmaSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/CellIdentityLte;-><init>()V
+HSPLandroid/hardware/radio/V1_0/CellIdentityLte;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_0/CellInfoType;->toString(I)Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_0/DataProfileInfo;->writeToParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_0/DataRegStateResult;-><init>()V
+HSPLandroid/hardware/radio/V1_0/DataRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/DataRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_0/DataRegStateResult;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_0/EvdoSignalStrength;-><init>()V
+HSPLandroid/hardware/radio/V1_0/EvdoSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/GsmSignalStrength;-><init>()V
+HSPLandroid/hardware/radio/V1_0/GsmSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/IccIo;->writeToParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_0/LteSignalStrength;-><init>()V
+HSPLandroid/hardware/radio/V1_0/RegState;->toString(I)Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_0/TdScdmaSignalStrength;-><init>()V
+HSPLandroid/hardware/radio/V1_0/TdScdmaSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;-><init>()V
+HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_0/VoiceRegStateResult;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_1/IRadio;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/V1_1/IRadio;
+HSPLandroid/hardware/radio/V1_1/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_1/IRadio;
+HSPLandroid/hardware/radio/V1_2/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_2/IRadio;
+HSPLandroid/hardware/Sensor;->getFifoMaxEventCount()I
+HSPLandroid/hardware/SensorManager;->getDelay(I)I
+HSPLandroid/hardware/SensorManager;-><init>()V
+HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;IILandroid/os/Handler;)Z
+HSPLandroid/hardware/SensorPrivacyManager;->addSensorPrivacyListener(Landroid/hardware/SensorPrivacyManager$OnSensorPrivacyChangedListener;)V
+HSPLandroid/hardware/SensorPrivacyManager;->getInstance(Landroid/content/Context;)Landroid/hardware/SensorPrivacyManager;
+HSPLandroid/hardware/SensorPrivacyManager;-><init>(Landroid/content/Context;Landroid/hardware/ISensorPrivacyManager;)V
+HSPLandroid/hardware/SensorPrivacyManager;->isSensorPrivacyEnabled()Z
+HSPLandroid/hardware/TriggerEventListener;-><init>()V
+HSPLandroid/icu/impl/CacheValue$NullValue;->isNull()Z
+HSPLandroid/icu/impl/coll/CollationData;->getCE32FromContexts(I)I
+HSPLandroid/icu/impl/coll/CollationData;->getCE32(I)I
+HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->append(J)V
+HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->getCEs()[J
+HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->get(I)J
+HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->incLength()V
+HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;-><init>()V
+HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->set(IJ)J
+HSPLandroid/icu/impl/coll/CollationSettings;->dontCheckFCD()Z
+HSPLandroid/icu/impl/coll/CollationSettings;->getAlternateHandling()Z
+HSPLandroid/icu/impl/coll/CollationSettings;->getStrength(I)I
+HSPLandroid/icu/impl/coll/CollationSettings;->hasReordering()Z
+HSPLandroid/icu/impl/coll/CollationSettings;->isNumeric()Z
+HSPLandroid/icu/impl/coll/SharedObject$Reference;->readOnly()Landroid/icu/impl/coll/SharedObject;
+HSPLandroid/icu/impl/JavaTimeZone;->freeze()Landroid/icu/util/TimeZone;
+HSPLandroid/icu/impl/JavaTimeZone;-><init>(Ljava/util/TimeZone;Ljava/lang/String;)V
+HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
+HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/number/NumberStringBuilder;Landroid/icu/impl/number/NumberStringBuilder;ZZLandroid/icu/impl/number/Modifier$Parameters;)V
+HSPLandroid/icu/impl/number/ConstantMultiFieldModifier;-><init>(Landroid/icu/impl/number/NumberStringBuilder;Landroid/icu/impl/number/NumberStringBuilder;ZZ)V
+HSPLandroid/icu/impl/number/MicroProps;->clone()Ljava/lang/Object;
+HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->applyToMicros(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;)V
+HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;-><init>(Landroid/icu/impl/number/AdoptingModifierStore;Landroid/icu/text/PluralRules;Landroid/icu/impl/number/MicroPropsGenerator;)V
+HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
+HSPLandroid/icu/impl/StandardPlural;->orOtherFromString(Ljava/lang/CharSequence;)Landroid/icu/impl/StandardPlural;
+HSPLandroid/icu/impl/Trie2_32;->getFromU16SingleLead(C)I
+HSPLandroid/icu/impl/Trie2_32;->get(I)I
+HSPLandroid/icu/impl/UCharacterProperty;->getProperty(I)I
+HSPLandroid/icu/impl/UCharacterProperty;->getType(I)I
+HSPLandroid/icu/impl/UResource$Key;->contentEquals(Ljava/lang/CharSequence;)Z
+HSPLandroid/icu/impl/UResource$Key;->regionMatches(ILjava/lang/CharSequence;I)Z
+HSPLandroid/icu/lang/UCharacter;->getType(I)I
+HSPLandroid/icu/text/AlphabeticIndex$1;-><init>(Landroid/icu/text/AlphabeticIndex;)V
+HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$1400(Landroid/icu/text/AlphabeticIndex$Bucket;)I
+HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$1402(Landroid/icu/text/AlphabeticIndex$Bucket;I)I
+HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$800(Landroid/icu/text/AlphabeticIndex$Bucket;)Ljava/lang/String;
+HSPLandroid/icu/text/AlphabeticIndex$Bucket;->access$900(Landroid/icu/text/AlphabeticIndex$Bucket;)Landroid/icu/text/AlphabeticIndex$Bucket;
+HSPLandroid/icu/text/AlphabeticIndex$Bucket;->getLabel()Ljava/lang/String;
+HSPLandroid/icu/text/AlphabeticIndex$Bucket;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;Landroid/icu/text/AlphabeticIndex$1;)V
+HSPLandroid/icu/text/AlphabeticIndex$Bucket;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;)V
+HSPLandroid/icu/text/AlphabeticIndex$BucketList;->access$200(Landroid/icu/text/AlphabeticIndex$BucketList;)I
+HSPLandroid/icu/text/AlphabeticIndex$BucketList;->access$300(Landroid/icu/text/AlphabeticIndex$BucketList;Ljava/lang/CharSequence;Landroid/icu/text/Collator;)I
+HSPLandroid/icu/text/AlphabeticIndex$BucketList;->access$400(Landroid/icu/text/AlphabeticIndex$BucketList;)Ljava/util/List;
+HSPLandroid/icu/text/AlphabeticIndex$BucketList;->getBucketCount()I
+HSPLandroid/icu/text/AlphabeticIndex$BucketList;->getBucketIndex(Ljava/lang/CharSequence;Landroid/icu/text/Collator;)I
+HSPLandroid/icu/text/AlphabeticIndex$BucketList;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/icu/text/AlphabeticIndex$1;)V
+HSPLandroid/icu/text/AlphabeticIndex$BucketList;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
+HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;->getBucket(I)Landroid/icu/text/AlphabeticIndex$Bucket;
+HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;->getBucketIndex(Ljava/lang/CharSequence;)I
+HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;-><init>(Landroid/icu/text/AlphabeticIndex$BucketList;Landroid/icu/text/Collator;Landroid/icu/text/AlphabeticIndex$1;)V
+HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;-><init>(Landroid/icu/text/AlphabeticIndex$BucketList;Landroid/icu/text/Collator;)V
+HSPLandroid/icu/text/BreakIterator;->getSentenceInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;
+HSPLandroid/icu/text/Collator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLandroid/icu/text/DateFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
+HSPLandroid/icu/text/DateFormat;->getInstanceForSkeleton(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
+HSPLandroid/icu/text/DateFormat;->getInstanceForSkeleton(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;
+HSPLandroid/icu/text/DateFormat;->getPatternInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
+HSPLandroid/icu/text/DateTimePatternGenerator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DateTimePatternGenerator;
+HSPLandroid/icu/text/DisplayContext;->type()Landroid/icu/text/DisplayContext$Type;
+HSPLandroid/icu/text/NumberFormat;->getInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
+HSPLandroid/icu/text/NumberFormat;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;
+HSPLandroid/icu/text/PluralRules$Factory;->getDefaultFactory()Landroid/icu/impl/PluralRulesLoader;
+HSPLandroid/icu/text/PluralRules;->forLocale(Landroid/icu/util/ULocale;)Landroid/icu/text/PluralRules;
+HSPLandroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;Landroid/icu/text/RuleBasedCollator$1;)V
+HSPLandroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;)V
+HSPLandroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;-><init>()V
+HSPLandroid/icu/text/RuleBasedCollator$NFDIterator;-><init>()V
+HSPLandroid/icu/text/RuleBasedCollator$UTF16NFDIterator;-><init>()V
+HSPLandroid/icu/text/RuleBasedCollator;->freeze()Landroid/icu/text/Collator;
+HSPLandroid/icu/text/RuleBasedCollator;->getCollationBuffer()Landroid/icu/text/RuleBasedCollator$CollationBuffer;
+HSPLandroid/icu/text/RuleBasedCollator;->internalAddContractions(ILandroid/icu/text/UnicodeSet;)V
+HSPLandroid/icu/text/RuleBasedCollator;->internalGetCEs(Ljava/lang/CharSequence;)[J
+HSPLandroid/icu/text/RuleBasedCollator;->isAlternateHandlingShifted()Z
+HSPLandroid/icu/text/RuleBasedCollator;->isFrozen()Z
+HSPLandroid/icu/text/RuleBasedCollator;->releaseCollationBuffer(Landroid/icu/text/RuleBasedCollator$CollationBuffer;)V
+HSPLandroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/text/DateFormatSymbols;Landroid/icu/util/Calendar;Landroid/icu/text/NumberFormat;Landroid/icu/util/ULocale;ZLjava/lang/String;)V
+HSPLandroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;)V
+HSPLandroid/icu/text/UFieldPosition;->getCountVisibleFractionDigits()I
+HSPLandroid/icu/text/UFieldPosition;->getFractionDigits()J
+HSPLandroid/icu/text/UFieldPosition;-><init>(Ljava/text/Format$Field;I)V
+HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->hasNext()Z
+HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;-><init>(Landroid/icu/text/UnicodeSet;)V
+HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->next()Ljava/lang/Object;
+HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->next()Ljava/lang/String;
+HSPLandroid/icu/text/UnicodeSet;->access$400(Landroid/icu/text/UnicodeSet;)I
+HSPLandroid/icu/text/UnicodeSet;->access$500(Landroid/icu/text/UnicodeSet;)[I
+HSPLandroid/icu/text/UnicodeSet;->add(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;
+HSPLandroid/icu/text/UnicodeSet;->addString(Ljava/lang/CharSequence;)V
+HSPLandroid/icu/text/UnicodeSet;->checkFrozen()V
+HSPLandroid/icu/text/UnicodeSet;-><init>(Ljava/lang/String;I)V
+HSPLandroid/icu/text/UnicodeSet;->isEmpty()Z
+HSPLandroid/icu/text/UnicodeSet;->iterator()Ljava/util/Iterator;
+HSPLandroid/icu/text/UTF16$StringComparator;-><init>(ZZI)V
+HSPLandroid/icu/text/UTF16$StringComparator;->setCodePointCompare(Z)V
+HSPLandroid/icu/text/UTF16;->_charAt(Ljava/lang/CharSequence;IC)I
+HSPLandroid/icu/text/UTF16;->getLeadSurrogate(I)C
+HSPLandroid/icu/text/UTF16;->getTrailSurrogate(I)C
+HSPLandroid/icu/text/UTF16;->hasMoreCodePointsThan(Ljava/lang/String;I)Z
+HSPLandroid/icu/util/BytesTrie$Result;->hasNext()Z
+HSPLandroid/icu/util/BytesTrie$Result;->hasValue()Z
+HSPLandroid/icu/util/CharsTrie$Entry;-><init>(Landroid/icu/util/CharsTrie$1;)V
+HSPLandroid/icu/util/CharsTrie$Entry;-><init>()V
+HSPLandroid/icu/util/CharsTrie$Iterator;->branchNext(II)I
+HSPLandroid/icu/util/CharsTrie$Iterator;->hasNext()Z
+HSPLandroid/icu/util/CharsTrie$Iterator;-><init>(Ljava/lang/CharSequence;IIILandroid/icu/util/CharsTrie$1;)V
+HSPLandroid/icu/util/CharsTrie$Iterator;-><init>(Ljava/lang/CharSequence;III)V
+HSPLandroid/icu/util/CharsTrie$Iterator;->next()Landroid/icu/util/CharsTrie$Entry;
+HSPLandroid/icu/util/TimeZone;-><init>()V
+HSPLandroid/icu/util/TimeZone;->setID(Ljava/lang/String;)V
+HSPLandroid/location/IGnssStatusListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/location/IGnssStatusListener$Stub;-><init>()V
+HSPLandroid/location/ILocationListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/location/ILocationManager$Stub$Proxy;->getAllProviders()Ljava/util/List;
+HSPLandroid/location/ILocationManager$Stub$Proxy;->getExtraLocationControllerPackage()Ljava/lang/String;
+HSPLandroid/location/ILocationManager$Stub$Proxy;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
+HSPLandroid/location/ILocationManager$Stub$Proxy;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
+HSPLandroid/location/ILocationManager$Stub$Proxy;->isProviderEnabledForUser(Ljava/lang/String;I)Z
+HSPLandroid/location/ILocationManager$Stub$Proxy;->locationCallbackFinished(Landroid/location/ILocationListener;)V
+HSPLandroid/location/ILocationManager$Stub$Proxy;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;)Z
+HSPLandroid/location/ILocationManager$Stub$Proxy;->setExtraLocationControllerPackageEnabled(Z)V
+HSPLandroid/location/ILocationManager$Stub$Proxy;->setExtraLocationControllerPackage(Ljava/lang/String;)V
+HSPLandroid/location/Location;->getVerticalAccuracyMeters()F
+HSPLandroid/location/Location;->hasAltitude()Z
+HSPLandroid/location/Location;->hasBearingAccuracy()Z
+HSPLandroid/location/Location;->hasElapsedRealtimeUncertaintyNanos()Z
+HSPLandroid/location/Location;->hasSpeedAccuracy()Z
+HSPLandroid/location/Location;->hasVerticalAccuracy()Z
+HSPLandroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;-><init>(Landroid/location/LocationManager$GnssStatusListenerTransport;Landroid/os/Handler;)V
+HSPLandroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/GpsStatus$Listener;Landroid/os/Handler;)V
+HSPLandroid/location/LocationManager;->addGpsStatusListener(Landroid/location/GpsStatus$Listener;)Z
+HSPLandroid/location/LocationManager;->checkProvider(Ljava/lang/String;)V
+HSPLandroid/location/LocationManager;->getAllProviders()Ljava/util/List;
+HSPLandroid/location/LocationManager;->getExtraLocationControllerPackage()Ljava/lang/String;
+HSPLandroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
+HSPLandroid/location/LocationManager;->removeGpsStatusListener(Landroid/location/GpsStatus$Listener;)V
+HSPLandroid/location/LocationManager;->setLocationControllerExtraPackageEnabled(Z)V
+HSPLandroid/location/LocationManager;->setLocationControllerExtraPackage(Ljava/lang/String;)V
+HSPLandroid/location/LocationRequest;->setHideFromAppOps(Z)V
+HSPLandroid/location/LocationRequest;->setLocationSettingsIgnored(Z)Landroid/location/LocationRequest;
+HSPLandroid/location/LocationRequest;->setWorkSource(Landroid/os/WorkSource;)V
+HSPLandroid/location/Location;->setProvider(Ljava/lang/String;)V
+HSPLandroid/location/Location;->toString()Ljava/lang/String;
+HSPLandroid/media/AudioDeviceInfo;->getProductName()Ljava/lang/CharSequence;
+HSPLandroid/media/AudioManager;->getLastAudibleStreamVolume(I)I
+HSPLandroid/media/AudioManager;->getService()Landroid/media/IAudioService;
+HSPLandroid/media/AudioManager;->getStreamMinVolumeInt(I)I
+HSPLandroid/media/AudioManager;->isStreamAffectedByMute(I)Z
+HSPLandroid/media/AudioManager;->setVolumeController(Landroid/media/IVolumeController;)V
+HSPLandroid/media/AudioManager;->setVolumePolicy(Landroid/media/VolumePolicy;)V
+HSPLandroid/media/AudioPort;->name()Ljava/lang/String;
+HSPLandroid/media/AudioSystem;->streamToString(I)Ljava/lang/String;
+HSPLandroid/media/browse/MediaBrowser$1;-><init>(Landroid/media/browse/MediaBrowser;)V
+HSPLandroid/media/browse/MediaBrowser$1;->run()V
+HSPLandroid/media/browse/MediaBrowser$2;-><init>(Landroid/media/browse/MediaBrowser;)V
+HSPLandroid/media/browse/MediaBrowser$2;->run()V
+HSPLandroid/media/browse/MediaBrowser$6;-><init>(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser$6;->run()V
+HSPLandroid/media/browse/MediaBrowser$7;-><init>(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/media/browse/MediaBrowser$7;->run()V
+HSPLandroid/media/browse/MediaBrowser$8;-><init>(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/pm/ParceledListSlice;)V
+HSPLandroid/media/browse/MediaBrowser$8;->run()V
+HSPLandroid/media/browse/MediaBrowser$ConnectionCallback;-><init>()V
+HSPLandroid/media/browse/MediaBrowser$MediaItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/browse/MediaBrowser$MediaItem;
+HSPLandroid/media/browse/MediaBrowser$MediaItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/media/browse/MediaBrowser$MediaItem;->getDescription()Landroid/media/MediaDescription;
+HSPLandroid/media/browse/MediaBrowser$MediaItem;->getMediaId()Ljava/lang/String;
+HSPLandroid/media/browse/MediaBrowser$MediaItem;-><init>(Landroid/os/Parcel;Landroid/media/browse/MediaBrowser$1;)V
+HSPLandroid/media/browse/MediaBrowser$MediaItem;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/media/browse/MediaBrowser$MediaItem;->isBrowsable()Z
+HSPLandroid/media/browse/MediaBrowser$MediaItem;->toString()Ljava/lang/String;
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection$1;-><init>(Landroid/media/browse/MediaBrowser$MediaServiceConnection;Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection$1;->run()V
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->access$1600(Landroid/media/browse/MediaBrowser$MediaServiceConnection;Ljava/lang/String;)Z
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;-><init>(Landroid/media/browse/MediaBrowser;Landroid/media/browse/MediaBrowser$1;)V
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;-><init>(Landroid/media/browse/MediaBrowser;)V
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->isCurrent(Ljava/lang/String;)Z
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->postOrRun(Ljava/lang/Runnable;)V
+HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;-><init>(Landroid/media/browse/MediaBrowser;)V
+HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnectFailed()V
+HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser$SubscriptionCallback;-><init>()V
+HSPLandroid/media/browse/MediaBrowser$Subscription;->getCallback(Landroid/content/Context;Landroid/os/Bundle;)Landroid/media/browse/MediaBrowser$SubscriptionCallback;
+HSPLandroid/media/browse/MediaBrowser$Subscription;->getCallbacks()Ljava/util/List;
+HSPLandroid/media/browse/MediaBrowser$Subscription;->getOptionsList()Ljava/util/List;
+HSPLandroid/media/browse/MediaBrowser$Subscription;-><init>()V
+HSPLandroid/media/browse/MediaBrowser$Subscription;->isEmpty()Z
+HSPLandroid/media/browse/MediaBrowser$Subscription;->putCallback(Landroid/content/Context;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
+HSPLandroid/media/browse/MediaBrowser;->access$000(Landroid/media/browse/MediaBrowser;)I
+HSPLandroid/media/browse/MediaBrowser;->access$002(Landroid/media/browse/MediaBrowser;I)I
+HSPLandroid/media/browse/MediaBrowser;->access$100(Landroid/media/browse/MediaBrowser;)Landroid/service/media/IMediaBrowserService;
+HSPLandroid/media/browse/MediaBrowser;->access$102(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserService;)Landroid/service/media/IMediaBrowserService;
+HSPLandroid/media/browse/MediaBrowser;->access$1102(Landroid/media/browse/MediaBrowser;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/media/browse/MediaBrowser;->access$1202(Landroid/media/browse/MediaBrowser;Landroid/media/session/MediaSession$Token;)Landroid/media/session/MediaSession$Token;
+HSPLandroid/media/browse/MediaBrowser;->access$1302(Landroid/media/browse/MediaBrowser;Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLandroid/media/browse/MediaBrowser;->access$1400(Landroid/media/browse/MediaBrowser;)Landroid/util/ArrayMap;
+HSPLandroid/media/browse/MediaBrowser;->access$1700(Landroid/media/browse/MediaBrowser;)Landroid/media/browse/MediaBrowser$ServiceCallbacks;
+HSPLandroid/media/browse/MediaBrowser;->access$1800(Landroid/media/browse/MediaBrowser;)Landroid/os/Bundle;
+HSPLandroid/media/browse/MediaBrowser;->access$1900(Landroid/media/browse/MediaBrowser;)Landroid/os/Handler;
+HSPLandroid/media/browse/MediaBrowser;->access$2000(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser;->access$200(Landroid/media/browse/MediaBrowser;)Landroid/service/media/IMediaBrowserServiceCallbacks;
+HSPLandroid/media/browse/MediaBrowser;->access$202(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;)Landroid/service/media/IMediaBrowserServiceCallbacks;
+HSPLandroid/media/browse/MediaBrowser;->access$2100(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/media/browse/MediaBrowser;->access$2200(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser;->access$300(Landroid/media/browse/MediaBrowser;)Landroid/content/ComponentName;
+HSPLandroid/media/browse/MediaBrowser;->access$400(Landroid/media/browse/MediaBrowser;)Landroid/media/browse/MediaBrowser$MediaServiceConnection;
+HSPLandroid/media/browse/MediaBrowser;->access$402(Landroid/media/browse/MediaBrowser;Landroid/media/browse/MediaBrowser$MediaServiceConnection;)Landroid/media/browse/MediaBrowser$MediaServiceConnection;
+HSPLandroid/media/browse/MediaBrowser;->access$600(Landroid/media/browse/MediaBrowser;)Landroid/content/Context;
+HSPLandroid/media/browse/MediaBrowser;->access$700(Landroid/media/browse/MediaBrowser;)V
+HSPLandroid/media/browse/MediaBrowser;->access$800(Landroid/media/browse/MediaBrowser;)Landroid/media/browse/MediaBrowser$ConnectionCallback;
+HSPLandroid/media/browse/MediaBrowser;->access$900(Landroid/media/browse/MediaBrowser;Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;)Z
+HSPLandroid/media/browse/MediaBrowser;->connect()V
+HSPLandroid/media/browse/MediaBrowser;->disconnect()V
+HSPLandroid/media/browse/MediaBrowser;->forceCloseConnection()V
+HSPLandroid/media/browse/MediaBrowser;->getNewServiceCallbacks()Landroid/media/browse/MediaBrowser$ServiceCallbacks;
+HSPLandroid/media/browse/MediaBrowser;->getRoot()Ljava/lang/String;
+HSPLandroid/media/browse/MediaBrowser;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/media/browse/MediaBrowser$ConnectionCallback;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser;->isConnected()Z
+HSPLandroid/media/browse/MediaBrowser;->isCurrent(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;)Z
+HSPLandroid/media/browse/MediaBrowser;->onConnectionFailed(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/media/browse/MediaBrowser;->onLoadChildren(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser;->onServiceConnected(Landroid/service/media/IMediaBrowserServiceCallbacks;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
+HSPLandroid/media/browse/MediaBrowser;->subscribeInternal(Ljava/lang/String;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
+HSPLandroid/media/browse/MediaBrowser;->subscribe(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
+HSPLandroid/media/browse/MediaBrowser;->unsubscribeInternal(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
+HSPLandroid/media/browse/MediaBrowser;->unsubscribe(Ljava/lang/String;)V
+HSPLandroid/media/browse/MediaBrowserUtils;->areSameOptions(Landroid/os/Bundle;Landroid/os/Bundle;)Z
+HSPLandroid/media/IAudioService$Stub$Proxy;->getLastAudibleStreamVolume(I)I
+HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamMinVolume(I)I
+HSPLandroid/media/IAudioService$Stub$Proxy;->isStreamAffectedByMute(I)Z
+HSPLandroid/media/IAudioService$Stub$Proxy;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
+HSPLandroid/media/IAudioService$Stub$Proxy;->setVolumeController(Landroid/media/IVolumeController;)V
+HSPLandroid/media/IAudioService$Stub$Proxy;->setVolumePolicy(Landroid/media/VolumePolicy;)V
+HSPLandroid/media/IMediaRouterService$Stub$Proxy;->registerClientGroupId(Landroid/media/IMediaRouterClient;Ljava/lang/String;)V
+HSPLandroid/media/IRemoteVolumeController$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/IRemoteVolumeController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/media/IRingtonePlayer$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/IRingtonePlayer$Stub;-><init>()V
+HSPLandroid/media/IVolumeController$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/IVolumeController$Stub;-><init>()V
+HSPLandroid/media/IVolumeController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/media/MediaDescription;->getMediaId()Ljava/lang/String;
+HSPLandroid/media/MediaDescription;->getTitle()Ljava/lang/CharSequence;
+HSPLandroid/media/MediaDescription;->toString()Ljava/lang/String;
+HSPLandroid/media/MediaRouter$Static;->setRouterGroupId(Ljava/lang/String;)V
+HSPLandroid/media/MediaRouter$VolumeCallback;-><init>()V
+HSPLandroid/media/MediaRouter;->setRouterGroupId(Ljava/lang/String;)V
+HSPLandroid/media/projection/IMediaProjectionManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjectionManager;
+HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub;-><init>()V
+HSPLandroid/media/projection/MediaProjectionManager;->addCallback(Landroid/media/projection/MediaProjectionManager$Callback;Landroid/os/Handler;)V
+HSPLandroid/media/projection/MediaProjectionManager;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
+HSPLandroid/media/projection/MediaProjectionManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/media/session/IActiveSessionsListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/session/IActiveSessionsListener$Stub;-><init>()V
+HSPLandroid/media/session/IActiveSessionsListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/media/session/ICallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/session/ICallback$Stub;-><init>()V
+HSPLandroid/media/session/ICallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->getMetadata()Landroid/media/MediaMetadata;
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->getPackageName()Ljava/lang/String;
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->getPlaybackState()Landroid/media/session/PlaybackState;
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->getQueue()Landroid/content/pm/ParceledListSlice;
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo;
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->registerCallback(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
+HSPLandroid/media/session/ISessionController$Stub$Proxy;->unregisterCallback(Landroid/media/session/ISessionControllerCallback;)V
+HSPLandroid/media/session/ISessionControllerCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/media/session/ISessionControllerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/media/session/ISessionManager$Stub$Proxy;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
+HSPLandroid/media/session/ISessionManager$Stub$Proxy;->registerRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
+HSPLandroid/media/session/ISessionManager$Stub$Proxy;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
+HSPLandroid/media/session/ISessionManager$Stub$Proxy;->setCallback(Landroid/media/session/ICallback;)V
+HSPLandroid/media/session/MediaController$CallbackStub;->onMetadataChanged(Landroid/media/MediaMetadata;)V
+HSPLandroid/media/session/MediaController$CallbackStub;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
+HSPLandroid/media/session/MediaController$CallbackStub;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
+HSPLandroid/media/session/MediaController$CallbackStub;->onSessionDestroyed()V
+HSPLandroid/media/session/MediaController$MessageHandler;->access$102(Landroid/media/session/MediaController$MessageHandler;Z)Z
+HSPLandroid/media/session/MediaController$MessageHandler;->access$200(Landroid/media/session/MediaController$MessageHandler;)Landroid/media/session/MediaController$Callback;
+HSPLandroid/media/session/MediaController$MessageHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/media/session/MediaController$MessageHandler;-><init>(Landroid/os/Looper;Landroid/media/session/MediaController$Callback;)V
+HSPLandroid/media/session/MediaController$MessageHandler;->post(ILjava/lang/Object;Landroid/os/Bundle;)V
+HSPLandroid/media/session/MediaController;->access$600(Landroid/media/session/MediaController;ILjava/lang/Object;Landroid/os/Bundle;)V
+HSPLandroid/media/session/MediaController;->addCallbackLocked(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
+HSPLandroid/media/session/MediaController;->getHandlerForCallbackLocked(Landroid/media/session/MediaController$Callback;)Landroid/media/session/MediaController$MessageHandler;
+HSPLandroid/media/session/MediaController;->getMetadata()Landroid/media/MediaMetadata;
+HSPLandroid/media/session/MediaController;->getPackageName()Ljava/lang/String;
+HSPLandroid/media/session/MediaController;->getPlaybackInfo()Landroid/media/session/MediaController$PlaybackInfo;
+HSPLandroid/media/session/MediaController;->getPlaybackState()Landroid/media/session/PlaybackState;
+HSPLandroid/media/session/MediaController;->getQueue()Ljava/util/List;
+HSPLandroid/media/session/MediaController;->getTransportControls()Landroid/media/session/MediaController$TransportControls;
+HSPLandroid/media/session/MediaController;->postMessage(ILjava/lang/Object;Landroid/os/Bundle;)V
+HSPLandroid/media/session/MediaController;->registerCallback(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
+HSPLandroid/media/session/MediaController;->removeCallbackLocked(Landroid/media/session/MediaController$Callback;)Z
+HSPLandroid/media/session/MediaController;->unregisterCallback(Landroid/media/session/MediaController$Callback;)V
+HSPLandroid/media/session/MediaSession$Token;->equals(Ljava/lang/Object;)Z
+HSPLandroid/media/session/MediaSession$Token;->hashCode()I
+HSPLandroid/media/session/MediaSessionManager$CallbackImpl$4;-><init>(Landroid/media/session/MediaSessionManager$CallbackImpl;Landroid/content/ComponentName;)V
+HSPLandroid/media/session/MediaSessionManager$CallbackImpl$4;->run()V
+HSPLandroid/media/session/MediaSessionManager$CallbackImpl;->access$900(Landroid/media/session/MediaSessionManager$CallbackImpl;)Landroid/media/session/MediaSessionManager$Callback;
+HSPLandroid/media/session/MediaSessionManager$CallbackImpl;-><init>(Landroid/media/session/MediaSessionManager$Callback;Landroid/os/Handler;)V
+HSPLandroid/media/session/MediaSessionManager$CallbackImpl;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
+HSPLandroid/media/session/MediaSessionManager$Callback;-><init>()V
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1$1;-><init>(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;Ljava/util/List;)V
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1$1;->run()V
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;-><init>(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)V
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;->onActiveSessionsChanged(Ljava/util/List;)V
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$000(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/media/session/IActiveSessionsListener$Stub;
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$100(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)V
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$200(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/os/Handler;
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$300(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/content/Context;
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->access$400(Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;)Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;-><init>(Landroid/content/Context;Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/os/Handler;)V
+HSPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper;->release()V
+HSPLandroid/media/session/MediaSessionManager;->addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;ILandroid/os/Handler;)V
+HSPLandroid/media/session/MediaSessionManager;->addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;Landroid/os/Handler;)V
+HSPLandroid/media/session/MediaSessionManager;->registerRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
+HSPLandroid/media/session/MediaSessionManager;->removeOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;)V
+HSPLandroid/media/session/MediaSessionManager;->setCallback(Landroid/media/session/MediaSessionManager$Callback;Landroid/os/Handler;)V
+HSPLandroid/media/SoundPool$Builder;-><init>()V
+HSPLandroid/media/SoundPool$Builder;->setMaxStreams(I)Landroid/media/SoundPool$Builder;
+HSPLandroid/media/SoundPool;->load(Landroid/content/Context;II)I
+HSPLandroid/media/VolumePolicy;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/metrics/LogMaker;->deserialize([Ljava/lang/Object;)V
+HSPLandroid/metrics/LogMaker;->getCategory()I
+HSPLandroid/metrics/LogMaker;->getCounterBucket()J
+HSPLandroid/metrics/LogMaker;->getCounterName()Ljava/lang/String;
+HSPLandroid/metrics/LogMaker;->getCounterValue()I
+HSPLandroid/metrics/LogMaker;->getSubtype()I
+HSPLandroid/metrics/LogMaker;->getTimestamp()J
+HSPLandroid/metrics/LogMaker;-><init>([Ljava/lang/Object;)V
+HSPLandroid/metrics/LogMaker;->isLongCounterBucket()Z
+HSPLandroid/metrics/LogMaker;->setProcessId(I)Landroid/metrics/LogMaker;
+HSPLandroid/metrics/LogMaker;->setTimestamp(J)Landroid/metrics/LogMaker;
+HSPLandroid/metrics/LogMaker;->setUid(I)Landroid/metrics/LogMaker;
+HSPLandroid/net/apf/ApfCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/apf/ApfCapabilities;
+HSPLandroid/net/apf/ApfCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/apf/ApfCapabilities;->getApfDrop8023Frames()Z
+HSPLandroid/net/apf/ApfCapabilities;->getApfEtherTypeBlackList()[I
+HSPLandroid/net/apf/ApfCapabilities;->hasDataAccess()Z
+HSPLandroid/net/apf/ApfCapabilities;-><init>(Landroid/os/Parcel;Landroid/net/apf/ApfCapabilities$1;)V
+HSPLandroid/net/apf/ApfCapabilities;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/net/apf/ApfCapabilities;->toString()Ljava/lang/String;
+HSPLandroid/net/ConnectivityManager;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
+HSPLandroid/net/ConnectivityManager;->getInstanceOrNull()Landroid/net/ConnectivityManager;
+HSPLandroid/net/ConnectivityManager;->reportNetworkConnectivity(Landroid/net/Network;Z)V
+HSPLandroid/net/ConnectivityManager;->shouldAvoidBadWifi()Z
+HSPLandroid/net/ConnectivityMetricsEvent;-><init>()V
+HSPLandroid/net/ConnectivityMetricsEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->reportNetworkConnectivity(Landroid/net/Network;Z)V
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->shouldAvoidBadWifi()Z
+HSPLandroid/net/INetworkScoreCache$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/net/INetworkScoreService$Stub$Proxy;->getActiveScorerPackage()Ljava/lang/String;
+HSPLandroid/net/INetworkScoreService$Stub$Proxy;->updateScores([Landroid/net/ScoredNetwork;)Z
+HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getTotalStats(I)J
+HSPLandroid/net/IpPrefix;->contains(Ljava/net/InetAddress;)Z
+HSPLandroid/net/LinkAddress;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/LinkProperties;->hasIpv4AddressOnInterface(Ljava/lang/String;)Z
+HSPLandroid/net/LinkProperties;->hasIpv6DnsServer()Z
+HSPLandroid/net/LinkProperties;->isIpv4Provisioned()Z
+HSPLandroid/net/LinkProperties;->isIpv6Provisioned()Z
+HSPLandroid/net/LinkProperties;->isProvisioned()Z
+HSPLandroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z
+HSPLandroid/net/LinkProperties;->setTcpBufferSizes(Ljava/lang/String;)V
+HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Landroid/net/LocalSocketImpl;I)Landroid/net/LocalSocket;
+HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Ljava/io/FileDescriptor;)Landroid/net/LocalSocket;
+HSPLandroid/net/LocalSocketImpl;-><init>(Ljava/io/FileDescriptor;)V
+HSPLandroid/net/LocalSocket;-><init>(Landroid/net/LocalSocketImpl;I)V
+HSPLandroid/net/metrics/ApfProgramEvent;->flagsFor(ZZ)I
+HSPLandroid/net/metrics/IpConnectivityLog;-><init>()V
+HSPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/metrics/IpConnectivityLog$Event;)Z
+HSPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/Network;[ILandroid/net/metrics/IpConnectivityLog$Event;)Z
+HSPLandroid/net/metrics/IpConnectivityLog;->log(Ljava/lang/String;Landroid/net/metrics/IpConnectivityLog$Event;)Z
+HSPLandroid/net/metrics/IpConnectivityLog;->makeEv(Landroid/net/metrics/IpConnectivityLog$Event;)Landroid/net/ConnectivityMetricsEvent;
+HSPLandroid/net/NetworkCapabilities$1;->newArray(I)[Landroid/net/NetworkCapabilities;
+HSPLandroid/net/NetworkCapabilities$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/net/NetworkCapabilities;->equalsTransportTypes(Landroid/net/NetworkCapabilities;)Z
+HSPLandroid/net/NetworkCapabilities;->setUids(Ljava/util/Set;)Landroid/net/NetworkCapabilities;
+HSPLandroid/net/NetworkInfo;->isAvailable()Z
+HSPLandroid/net/Network;-><init>(IZ)V
+HSPLandroid/net/Network;-><init>(Landroid/net/Network;)V
+HSPLandroid/net/NetworkKey;-><init>(Landroid/net/WifiKey;)V
+HSPLandroid/net/Network;->lambda$maybeInitUrlConnectionFactory$0$Network(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/net/Network;->maybeInitUrlConnectionFactory()V
+HSPLandroid/net/Network;->openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;
+HSPLandroid/net/Network;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
+HSPLandroid/net/NetworkRequest$Builder;->setUids(Ljava/util/Set;)Landroid/net/NetworkRequest$Builder;
+HSPLandroid/net/NetworkScoreManager;->updateScores([Landroid/net/ScoredNetwork;)Z
+HSPLandroid/net/NetworkUtils;->protectFromVpn(Ljava/io/FileDescriptor;)Z
+HSPLandroid/net/nsd/INsdManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/nsd/INsdManager;
+HSPLandroid/net/nsd/NsdManager;->access$000(Landroid/net/nsd/NsdManager;)Lcom/android/internal/util/AsyncChannel;
+HSPLandroid/net/nsd/NsdManager;->access$100(Landroid/net/nsd/NsdManager;)Ljava/util/concurrent/CountDownLatch;
+HSPLandroid/net/nsd/NsdManager;->getMessenger()Landroid/os/Messenger;
+HSPLandroid/net/nsd/NsdManager;-><init>(Landroid/content/Context;Landroid/net/nsd/INsdManager;)V
+HSPLandroid/net/nsd/NsdManager;->init()V
+HSPLandroid/net/RouteInfo;->getGateway()Ljava/net/InetAddress;
+HSPLandroid/net/RouteInfo;->getInterface()Ljava/lang/String;
+HSPLandroid/net/RouteInfo;->hasGateway()Z
+HSPLandroid/net/RouteInfo;->matches(Ljava/net/InetAddress;)Z
+HSPLandroid/net/ScoredNetwork;->calculateBadge(I)I
+HSPLandroid/net/ScoredNetwork;-><init>(Landroid/net/NetworkKey;Landroid/net/RssiCurve;ZLandroid/os/Bundle;)V
+HSPLandroid/net/ScoredNetwork;-><init>(Landroid/net/NetworkKey;Landroid/net/RssiCurve;Z)V
+HSPLandroid/net/ScoredNetwork;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/StaticIpConfiguration;->getDnsServers()Ljava/util/List;
+HSPLandroid/net/StaticIpConfiguration;->getDomains()Ljava/lang/String;
+HSPLandroid/net/StaticIpConfiguration;->getGateway()Ljava/net/InetAddress;
+HSPLandroid/net/StaticIpConfiguration;->getIpAddress()Landroid/net/LinkAddress;
+HSPLandroid/net/StaticIpConfiguration;->getRoutes(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/net/StaticIpConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/TrafficStats;->clearThreadStatsUid()V
+HSPLandroid/net/TrafficStats;->getMobileRxBytes()J
+HSPLandroid/net/TrafficStats;->getMobileTxBytes()J
+HSPLandroid/net/TrafficStats;->getThreadStatsTag()I
+HSPLandroid/net/TrafficStats;->getTotalRxBytes()J
+HSPLandroid/net/TrafficStats;->setThreadStatsUid(I)V
+HSPLandroid/net/TrafficStats;->tagSocket(Ljava/net/Socket;)V
+HSPLandroid/net/Uri$AbstractPart;->getDecoded()Ljava/lang/String;
+HSPLandroid/net/Uri$HierarchicalUri;->getFragment()Ljava/lang/String;
+HSPLandroid/net/Uri$Part;->fromEncoded(Ljava/lang/String;)Landroid/net/Uri$Part;
+HSPLandroid/net/Uri$StringUri;->findFragmentSeparator()I
+HSPLandroid/net/Uri$StringUri;->findSchemeSeparator()I
+HSPLandroid/net/Uri$StringUri;->getEncodedFragment()Ljava/lang/String;
+HSPLandroid/net/Uri$StringUri;->getFragmentPart()Landroid/net/Uri$Part;
+HSPLandroid/net/Uri$StringUri;->parseFragment()Ljava/lang/String;
+HSPLandroid/net/wifi/ISoftApCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/net/wifi/ISoftApCallback$Stub;-><init>()V
+HSPLandroid/net/wifi/ISoftApCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/net/wifi/ITrafficStateCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/net/wifi/ITrafficStateCallback$Stub;-><init>()V
+HSPLandroid/net/wifi/ITrafficStateCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->acquireMulticastLock(Landroid/os/IBinder;Ljava/lang/String;)V
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->acquireWifiLock(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/WorkSource;)Z
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->registerSoftApCallback(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->registerTrafficStateCallback(Landroid/os/IBinder;Landroid/net/wifi/ITrafficStateCallback;I)V
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->releaseMulticastLock(Ljava/lang/String;)V
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->releaseWifiLock(Landroid/os/IBinder;)Z
+HSPLandroid/net/wifi/ScanResult;->is80211mcResponder()Z
+HSPLandroid/net/wifi/WifiInfo;->getIpAddress()I
+HSPLandroid/net/wifi/WifiInfo;->getMacAddress()Ljava/lang/String;
+HSPLandroid/net/wifi/WifiManager$WifiLock;->acquire()V
+HSPLandroid/net/wifi/WifiManager$WifiLock;->finalize()V
+HSPLandroid/net/wifi/WifiManager$WifiLock;->release()V
+HSPLandroid/net/wifi/WifiManager;->access$000(Landroid/net/wifi/WifiManager;)Z
+HSPLandroid/net/wifi/WifiManager;->access$800(Landroid/net/wifi/WifiManager;)I
+HSPLandroid/net/wifi/WifiManager;->access$808(Landroid/net/wifi/WifiManager;)I
+HSPLandroid/net/wifi/WifiManager;->access$810(Landroid/net/wifi/WifiManager;)I
+HSPLandroid/net/wifi/WifiManager;->createMulticastLock(Ljava/lang/String;)Landroid/net/wifi/WifiManager$MulticastLock;
+HSPLandroid/net/wifi/WifiManager;->registerSoftApCallback(Landroid/net/wifi/WifiManager$SoftApCallback;Landroid/os/Handler;)V
+HSPLandroid/net/wifi/WifiManager;->registerTrafficStateCallback(Landroid/net/wifi/WifiManager$TrafficStateCallback;Landroid/os/Handler;)V
+HSPLandroid/net/wifi/WifiNetworkAgentSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiNetworkAgentSpecifier;
+HSPLandroid/net/wifi/WifiNetworkAgentSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;->post(Ljava/util/List;)V
+HSPLandroid/net/wifi/WifiNetworkScoreCache;->registerListener(Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
+HSPLandroid/nfc/INfcAdapter$Stub;-><init>()V
+HSPLandroid/nfc/INfcAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/nfc/INfcCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/nfc/INfcCardEmulation$Stub;-><init>()V
+HSPLandroid/nfc/INfcFCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/nfc/INfcFCardEmulation$Stub;-><init>()V
+HSPLandroid/nfc/INfcTag$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/nfc/INfcTag$Stub;-><init>()V
+HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;)D
+HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;D)D
+HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;)F
+HSPLandroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V
+HSPLandroid/os/BaseBundle;->putDouble(Ljava/lang/String;D)V
+HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;)F
+HSPLandroid/os/Bundle;->maybePrefillHasFds()V
+HSPLandroid/os/DropBoxManager$Entry;->getTimeMillis()J
+HSPLandroid/os/DropBoxManager;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
+HSPLandroid/os/Environment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
+HSPLandroid/os/Environment;->throwIfUserRequired()V
+HSPLandroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;Ljava/io/FilenameFilter;)[Ljava/io/File;
+HSPLandroid/os/FileUtils;->listOrEmpty(Ljava/io/File;)[Ljava/lang/String;
+HSPLandroid/os/GraphicsEnvironment;->checkAngleWhitelist(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Z
+HSPLandroid/os/GraphicsEnvironment;->chooseDriverInternal(Landroid/content/Context;Landroid/os/Bundle;)Ljava/lang/String;
+HSPLandroid/os/GraphicsEnvironment;->shouldUseAngle(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Z
+HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message;
+HSPLandroid/os/Handler;->postDelayed(Ljava/lang/Runnable;Ljava/lang/Object;J)Z
+HSPLandroid/os/IPowerManager$Stub$Proxy;->getLastShutdownReason()I
+HSPLandroid/os/IPowerManager$Stub$Proxy;->getPowerSaveState(I)Landroid/os/PowerSaveState;
+HSPLandroid/os/IPowerManager$Stub$Proxy;->isLightDeviceIdleMode()Z
+HSPLandroid/os/IPowerManager$Stub$Proxy;->setDozeAfterScreenOff(Z)V
+HSPLandroid/os/IStatsManager$Stub$Proxy;->addConfiguration(J[BLjava/lang/String;)V
+HSPLandroid/os/IStatsManager$Stub$Proxy;->getData(JLjava/lang/String;)[B
+HSPLandroid/os/IStatsManager$Stub$Proxy;->registerPullerCallback(ILandroid/os/IStatsPullerCallback;Ljava/lang/String;)V
+HSPLandroid/os/IStatsManager$Stub$Proxy;->setDataFetchOperation(JLandroid/os/IBinder;Ljava/lang/String;)V
+HSPLandroid/os/IThermalEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/os/IUserManager$Stub$Proxy;->getProfileParent(I)Landroid/content/pm/UserInfo;
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUserAccount(I)Ljava/lang/String;
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUserHandle(I)I
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
+HSPLandroid/os/IUserManager$Stub$Proxy;->isQuietModeEnabled(I)Z
+HSPLandroid/os/IUserManager$Stub$Proxy;->isUserRunning(I)Z
+HSPLandroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
+HSPLandroid/os/Message;->getWhen()J
+HSPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
+HSPLandroid/os/MessageQueue;->dispatchEvents(II)I
+HSPLandroid/os/MessageQueue;->removeOnFileDescriptorEventListener(Ljava/io/FileDescriptor;)V
+HSPLandroid/os/MessageQueue;->updateOnFileDescriptorEventListenerLocked(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
+HSPLandroid/os/Message;->setAsynchronous(Z)V
+HSPLandroid/os/Message;->setCallback(Ljava/lang/Runnable;)Landroid/os/Message;
+HSPLandroid/os/Message;->setTarget(Landroid/os/Handler;)V
+HSPLandroid/os/Parcel;->createTypedArrayMap(Landroid/os/Parcelable$Creator;)Landroid/util/ArrayMap;
+HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read()I
+HSPLandroid/os/Parcel;->hasFileDescriptors()Z
+HSPLandroid/os/Parcel;->readCharSequenceList()Ljava/util/ArrayList;
+HSPLandroid/os/Parcel;->readFileDescriptor()Landroid/os/ParcelFileDescriptor;
+HSPLandroid/os/ParcelUuid;->getUuid()Ljava/util/UUID;
+HSPLandroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
+HSPLandroid/os/ParcelUuid;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/os/Parcel;->writeFileDescriptor(Ljava/io/FileDescriptor;)V
+HSPLandroid/os/PersistableBundle;->toString()Ljava/lang/String;
+HSPLandroid/os/PowerManager;->getDefaultScreenBrightnessForVrSetting()I
+HSPLandroid/os/PowerManager;->getLastShutdownReason()I
+HSPLandroid/os/PowerManager;->getMaximumScreenBrightnessForVrSetting()I
+HSPLandroid/os/PowerManager;->getMinimumScreenBrightnessForVrSetting()I
+HSPLandroid/os/PowerManager;->setDozeAfterScreenOff(Z)V
+HSPLandroid/os/PowerSaveState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/PowerSaveState;
+HSPLandroid/os/PowerSaveState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/PowerSaveState;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/os/StatFs;->getBlockCountLong()J
+HSPLandroid/os/storage/DiskInfo$1;->newArray(I)[Landroid/os/storage/DiskInfo;
+HSPLandroid/os/storage/DiskInfo$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/os/storage/IStorageEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getDisks()[Landroid/os/storage/DiskInfo;
+HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
+HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->registerListener(Landroid/os/storage/IStorageEventListener;)V
+HSPLandroid/os/storage/StorageManager;->getDisks()Ljava/util/List;
+HSPLandroid/os/storage/StorageManager;->getVolumeRecords()Ljava/util/List;
+HSPLandroid/os/storage/VolumeRecord$1;->newArray(I)[Landroid/os/storage/VolumeRecord;
+HSPLandroid/os/storage/VolumeRecord$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/os/Temperature$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Temperature;
+HSPLandroid/os/Temperature$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/Temperature;-><init>(FILjava/lang/String;I)V
+HSPLandroid/os/Temperature;->isValidStatus(I)Z
+HSPLandroid/os/Temperature;->isValidType(I)Z
+HSPLandroid/os/Trace;->beginAsyncSection(Ljava/lang/String;I)V
+HSPLandroid/os/UserManager;->canAddMoreUsers()Z
+HSPLandroid/os/UserManager;->canSwitchUsers()Z
+HSPLandroid/os/UserManager;->getUserAccount(I)Ljava/lang/String;
+HSPLandroid/os/UserManager;->getUserCount()I
+HSPLandroid/os/UserManager;->getUserIcon(I)Landroid/graphics/Bitmap;
+HSPLandroid/os/UserManager;->isGuestUserEphemeral()Z
+HSPLandroid/os/UserManager;->isGuestUser(I)Z
+HSPLandroid/os/UserManager;->isGuestUser()Z
+HSPLandroid/os/WorkSource$WorkChain;->addNode(ILjava/lang/String;)Landroid/os/WorkSource$WorkChain;
+HSPLandroid/os/WorkSource$WorkChain;-><init>()V
+HSPLandroid/os/WorkSource$WorkChain;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/os/WorkSource;->createWorkChain()Landroid/os/WorkSource$WorkChain;
+HSPLandroid/os/WorkSource;->hashCode()I
+HSPLandroid/os/WorkSource;-><init>()V
+HSPLandroid/provider/ContactsContract$CommonDataKinds$Email;->getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
+HSPLandroid/provider/ContactsContract$CommonDataKinds$Email;->getTypeLabelResource(I)I
+HSPLandroid/provider/DeviceConfig;->addOnPropertiesChangedListener(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertiesChangedListener;)V
+HSPLandroid/provider/Settings$Secure;->isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
+HSPLandroid/provider/Settings$System;->canWrite(Landroid/content/Context;)Z
+HSPLandroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)F
+HSPLandroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F
+HSPLandroid/provider/Settings;->isCallingPackageAllowedToWriteSettings(Landroid/content/Context;ILjava/lang/String;Z)Z
+HSPLandroid/security/keymaster/KeymasterArguments;-><init>()V
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getBlockModes()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getBoundToSpecificSecureUserId()J
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getEncryptionPaddings()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeySize()I
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getKeystoreAlias()Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getPurposes()I
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getSignaturePaddings()[Ljava/lang/String;
+HSPLandroid/security/keystore/KeyGenParameterSpec;->getUserAuthenticationValidityDurationSeconds()I
+HSPLandroid/security/keystore/KeyGenParameterSpec;-><init>(Ljava/lang/String;IILjava/security/spec/AlgorithmParameterSpec;Ljavax/security/auth/x500/X500Principal;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIZ[BZZZZZZ)V
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isDigestsSpecified()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isRandomizedEncryptionRequired()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUnlockedDeviceRequired()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserAuthenticationRequired()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserConfirmationRequired()Z
+HSPLandroid/security/keystore/KeyGenParameterSpec;->isUserPresenceRequired()Z
+HSPLandroid/security/keystore/recovery/RecoveryController;->getInstance(Landroid/content/Context;)Landroid/security/keystore/recovery/RecoveryController;
+HSPLandroid/security/keystore/recovery/RecoveryController;->getRecoverySecretTypes()[I
+HSPLandroid/security/keystore/recovery/RecoveryController;-><init>(Lcom/android/internal/widget/ILockSettings;Landroid/security/KeyStore;)V
+HSPLandroid/security/keystore/recovery/RecoveryController;->initRecoveryService(Ljava/lang/String;[B[B)V
+HSPLandroid/security/keystore/recovery/RecoveryController;->setRecoverySecretTypes([I)V
+HSPLandroid/security/keystore/recovery/RecoveryController;->setServerParams([B)V
+HSPLandroid/security/keystore/recovery/RecoveryController;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
+HSPLandroid/service/dreams/IDreamManager$Stub$Proxy;->forceAmbientDisplayEnabled(Z)V
+HSPLandroid/service/euicc/GetEuiccProfileInfoListResult;->getResult()I
+HSPLandroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;->getSecureUserId(I)J
+HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->disconnect(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
+HSPLandroid/service/media/IMediaBrowserService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/media/IMediaBrowserService;
+HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;-><init>()V
+HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/service/notification/INotificationListener$Stub;-><init>()V
+HSPLandroid/service/notification/NotificationListenerService$MyHandler;-><init>(Landroid/service/notification/NotificationListenerService;Landroid/os/Looper;)V
+HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;-><init>(Landroid/service/notification/NotificationListenerService;)V
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->canBubble()Z
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->canShowBadge()Z
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getKey()Ljava/lang/String;
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getLastAudiblyAlertedMillis()J
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getOverrideGroupKey()Ljava/lang/String;
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getRank()I
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSmartActions()Ljava/util/List;
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSmartReplies()Ljava/util/List;
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSnoozeCriteria()Ljava/util/List;
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getSuppressedVisualEffects()I
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getUserSentiment()I
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->getVisibilityOverride()I
+HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->isAmbient()Z
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->isSuspended()Z
+HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/NotificationListenerService$RankingMap;
+HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;Landroid/service/notification/NotificationListenerService$1;)V
+HSPLandroid/service/notification/NotificationListenerService$RankingMap;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Landroid/service/notification/NotificationListenerService$Ranking;)V
+HSPLandroid/service/notification/NotificationListenerService;->attachBaseContext(Landroid/content/Context;)V
+HSPLandroid/service/notification/NotificationListenerService;->getCurrentRanking()Landroid/service/notification/NotificationListenerService$RankingMap;
+HSPLandroid/service/notification/NotificationListenerService;->getNotificationInterface()Landroid/app/INotificationManager;
+HSPLandroid/service/notification/NotificationListenerService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HSPLandroid/service/notification/NotificationListenerService;->onListenerConnected()V
+HSPLandroid/service/notification/NotificationListenerService;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V
+HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V
+HSPLandroid/service/notification/NotificationListenerService;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;)V
+HSPLandroid/service/notification/NotificationListenerService;->registerAsSystemService(Landroid/content/Context;Landroid/content/ComponentName;I)V
+HSPLandroid/service/notification/NotificationListenerService;->requestRebind(Landroid/content/ComponentName;)V
+HSPLandroid/service/notification/NotificationListenerService;->setNotificationsShown([Ljava/lang/String;)V
+HSPLandroid/service/notification/NotificationRankingUpdate;->getRankingMap()Landroid/service/notification/NotificationListenerService$RankingMap;
+HSPLandroid/service/notification/StatusBarNotification;->getPackageContext(Landroid/content/Context;)Landroid/content/Context;
+HSPLandroid/service/notification/StatusBarNotification;->isClearable()Z
+HSPLandroid/service/notification/ZenModeConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/ZenModeConfig;
+HSPLandroid/service/notification/ZenModeConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/service/notification/ZenModeConfig;->getDescription(Landroid/content/Context;ZLandroid/service/notification/ZenModeConfig;Z)Ljava/lang/String;
+HSPLandroid/service/notification/ZenModeConfig;->isZenOverridingRinger(ILandroid/app/NotificationManager$Policy;)Z
+HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/persistentdata/IPersistentDataBlockService;
+HSPLandroid/service/persistentdata/PersistentDataBlockManager;->getMaximumDataBlockSize()J
+HSPLandroid/service/persistentdata/PersistentDataBlockManager;-><init>(Landroid/service/persistentdata/IPersistentDataBlockService;)V
+HSPLandroid/service/persistentdata/PersistentDataBlockManager;->read()[B
+HSPLandroid/service/persistentdata/PersistentDataBlockManager;->write([B)I
+HSPLandroid/service/textclassifier/TextClassifierService;->getDefaultTextClassifierImplementation(Landroid/content/Context;)Landroid/view/textclassifier/TextClassifier;
+HSPLandroid/service/wallpaper/IWallpaperService$Stub;-><init>()V
+HSPLandroid/system/NetlinkSocketAddress;-><init>(II)V
+HSPLandroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
+HSPLandroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
+HSPLandroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HSPLandroid/system/Os;->getsockname(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;
+HSPLandroid/system/Os;->prctl(IJJJJ)I
+HSPLandroid/system/Os;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
+HSPLandroid/system/Os;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V
+HSPLandroid/system/Os;->setsockoptInt(Ljava/io/FileDescriptor;III)V
+HSPLandroid/system/PacketSocketAddress;-><init>(I[B)V
+HSPLandroid/system/PacketSocketAddress;-><init>(SISB[B)V
+HSPLandroid/system/PacketSocketAddress;-><init>(SI)V
+HSPLandroid/system/StructGroupReq;-><init>(ILjava/net/InetAddress;)V
+HSPLandroid/system/StructTimeval;-><init>(JJ)V
+HSPLandroid/telecom/TelecomManager;->getTelecomService()Lcom/android/internal/telecom/ITelecomService;
+HSPLandroid/telecom/TelecomManager;->isServiceConnected()Z
+HSPLandroid/telecom/TelecomManager;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
+HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentity;
+HSPLandroid/telephony/CellIdentity$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellIdentity;->getOperatorAlphaLong()Ljava/lang/CharSequence;
+HSPLandroid/telephony/CellIdentity;->getOperatorAlphaShort()Ljava/lang/CharSequence;
+HSPLandroid/telephony/CellIdentity;->inRangeOrUnavailable(III)I
+HSPLandroid/telephony/CellIdentityLte;->createFromParcelBody(Landroid/os/Parcel;)Landroid/telephony/CellIdentityLte;
+HSPLandroid/telephony/CellIdentityLte;->getCi()I
+HSPLandroid/telephony/CellIdentityLte;->getMnc()I
+HSPLandroid/telephony/CellIdentityLte;->getPci()I
+HSPLandroid/telephony/CellIdentityLte;->getTac()I
+HSPLandroid/telephony/CellIdentityLte;-><init>(IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/telephony/CellIdentityLte;-><init>(Landroid/hardware/radio/V1_0/CellIdentityLte;)V
+HSPLandroid/telephony/CellIdentity;->setOperatorAlphaLong(Ljava/lang/String;)V
+HSPLandroid/telephony/CellIdentity;->setOperatorAlphaShort(Ljava/lang/String;)V
+HSPLandroid/telephony/CellInfo;->create(Landroid/hardware/radio/V1_0/CellInfo;)Landroid/telephony/CellInfo;
+HSPLandroid/telephony/CellInfo;-><init>(Landroid/hardware/radio/V1_0/CellInfo;)V
+HSPLandroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte;
+HSPLandroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte;
+HSPLandroid/telephony/CellInfoLte;-><init>(Landroid/hardware/radio/V1_0/CellInfo;)V
+HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/hardware/radio/V1_0/CdmaSignalStrength;Landroid/hardware/radio/V1_0/EvdoSignalStrength;)V
+HSPLandroid/telephony/CellSignalStrength;->getRssiDbmFromAsu(I)I
+HSPLandroid/telephony/CellSignalStrengthGsm;-><init>(Landroid/hardware/radio/V1_0/GsmSignalStrength;)V
+HSPLandroid/telephony/CellSignalStrengthGsm;->setDefaultValues()V
+HSPLandroid/telephony/CellSignalStrengthLte;->getTimingAdvance()I
+HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>(Landroid/hardware/radio/V1_0/TdScdmaSignalStrength;)V
+HSPLandroid/telephony/CellSignalStrengthTdscdma;->setDefaultValues()V
+HSPLandroid/telephony/data/ApnSetting$Builder;->build()Landroid/telephony/data/ApnSetting;
+HSPLandroid/telephony/data/ApnSetting;->getApnTypes()Ljava/util/List;
+HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(IZZZLandroid/telephony/LteVopsSupportInfo;Z)V
+HSPLandroid/telephony/DataSpecificRegistrationInfo;-><init>(Landroid/telephony/DataSpecificRegistrationInfo;)V
+HSPLandroid/telephony/emergency/EmergencyNumber;->compareTo(Landroid/telephony/emergency/EmergencyNumber;)I
+HSPLandroid/telephony/emergency/EmergencyNumber;->getCountryIso()Ljava/lang/String;
+HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyCallRouting()I
+HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyNumberSourceBitmask()I
+HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyServiceCategoryBitmask()I
+HSPLandroid/telephony/emergency/EmergencyNumber;->getEmergencyUrns()Ljava/util/List;
+HSPLandroid/telephony/emergency/EmergencyNumber;->getMnc()Ljava/lang/String;
+HSPLandroid/telephony/emergency/EmergencyNumber;->getNumber()Ljava/lang/String;
+HSPLandroid/telephony/emergency/EmergencyNumber;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/util/List;II)V
+HSPLandroid/telephony/emergency/EmergencyNumber;->mergeSameEmergencyNumbers(Landroid/telephony/emergency/EmergencyNumber;Landroid/telephony/emergency/EmergencyNumber;)Landroid/telephony/emergency/EmergencyNumber;
+HSPLandroid/telephony/IccOpenLogicalChannelResponse;-><init>(II[B)V
+HSPLandroid/telephony/IccOpenLogicalChannelResponse;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/ims/aidl/IImsConfig$Stub;-><init>()V
+HSPLandroid/telephony/ims/feature/ImsFeature;->initialize(Landroid/content/Context;I)V
+HSPLandroid/telephony/ims/feature/MmTelFeature;->getBinder()Landroid/telephony/ims/aidl/IImsMmTelFeature;
+HSPLandroid/telephony/ims/feature/MmTelFeature;->getSmsImplementation()Landroid/telephony/ims/stub/ImsSmsImplBase;
+HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;-><init>(Landroid/telephony/ims/stub/ImsConfigImplBase;)V
+HSPLandroid/telephony/ims/stub/ImsConfigImplBase;-><init>()V
+HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->getBinder()Landroid/telephony/ims/aidl/IImsRegistration;
+HSPLandroid/telephony/ims/stub/ImsSmsImplBase;->onReady()V
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setLogAsInfo(Z)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+HSPLandroid/telephony/LocationAccessPolicy;->logError(Landroid/content/Context;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;Ljava/lang/String;)V
+HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->build()Landroid/telephony/NetworkRegistrationInfo;
+HSPLandroid/telephony/NetworkRegistrationInfo$Builder;-><init>()V
+HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->setDomain(I)Landroid/telephony/NetworkRegistrationInfo$Builder;
+HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->setRegistrationState(I)Landroid/telephony/NetworkRegistrationInfo$Builder;
+HSPLandroid/telephony/NetworkRegistrationInfo$Builder;->setTransportType(I)Landroid/telephony/NetworkRegistrationInfo$Builder;
+HSPLandroid/telephony/NetworkRegistrationInfo;->getCellIdentity()Landroid/telephony/CellIdentity;
+HSPLandroid/telephony/NetworkRegistrationInfo;->getDomain()I
+HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(IIIIIZLjava/util/List;Landroid/telephony/CellIdentity;IZZZLandroid/telephony/LteVopsSupportInfo;Z)V
+HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(IIIIIZLjava/util/List;Landroid/telephony/CellIdentity;Landroid/telephony/NetworkRegistrationInfo$1;)V
+HSPLandroid/telephony/NetworkRegistrationInfo;-><init>(Landroid/telephony/NetworkRegistrationInfo;)V
+HSPLandroid/telephony/NetworkRegistrationInfo;->updateNrState(Landroid/telephony/DataSpecificRegistrationInfo;)V
+HSPLandroid/telephony/PhoneNumberUtils;->charToBCD(CI)I
+HSPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumberInternal(ILjava/lang/String;Ljava/lang/String;Z)Z
+HSPLandroid/telephony/PhoneNumberUtils;->networkPortionToCalledPartyBCD(Ljava/lang/String;)[B
+HSPLandroid/telephony/PhoneNumberUtils;->numberToCalledPartyBCDHelper(Ljava/lang/String;ZI)[B
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$52(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onActiveDataSubIdChanged$53$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;I)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCarrierNetworkChange$40(Landroid/telephony/PhoneStateListener;Z)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCarrierNetworkChange$41$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Z)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onActiveDataSubIdChanged(I)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCarrierNetworkChange(Z)V
+HSPLandroid/telephony/PhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V
+HSPLandroid/telephony/ServiceState;->bearerBitmapHasCdma(I)Z
+HSPLandroid/telephony/ServiceState;->getChannelNumber()I
+HSPLandroid/telephony/ServiceState;->getNetworkRegistrationInfoListForDomain(I)Ljava/util/List;
+HSPLandroid/telephony/ServiceState;->getNetworkRegistrationInfoList()Ljava/util/List;
+HSPLandroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
+HSPLandroid/telephony/ServiceState;->init()V
+HSPLandroid/telephony/ServiceState;->networkBitmaskHasAccessNetworkType(II)Z
+HSPLandroid/telephony/ServiceState;->networkTypeToAccessNetworkType(I)I
+HSPLandroid/telephony/ServiceState;->setIwlanPreferred(Z)V
+HSPLandroid/telephony/ServiceState;->setOperatorAlphaLongRaw(Ljava/lang/String;)V
+HSPLandroid/telephony/ServiceState;->setOperatorAlphaShortRaw(Ljava/lang/String;)V
+HSPLandroid/telephony/SignalStrength;-><init>(Landroid/hardware/radio/V1_0/SignalStrength;)V
+HSPLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/CellSignalStrengthCdma;Landroid/telephony/CellSignalStrengthGsm;Landroid/telephony/CellSignalStrengthWcdma;Landroid/telephony/CellSignalStrengthTdscdma;Landroid/telephony/CellSignalStrengthLte;Landroid/telephony/CellSignalStrengthNr;)V
+HSPLandroid/telephony/SubscriptionInfo;->equals(Ljava/lang/Object;)Z
+HSPLandroid/telephony/SubscriptionInfo;->getDataRoaming()I
+HSPLandroid/telephony/SubscriptionInfo;-><init>(ILjava/lang/String;ILjava/lang/CharSequence;Ljava/lang/CharSequence;IILjava/lang/String;ILandroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Landroid/telephony/UiccAccessRule;Ljava/lang/String;IZLjava/lang/String;ZIIILjava/lang/String;)V
+HSPLandroid/telephony/SubscriptionManager;->isUsableSubscriptionId(I)Z
+HSPLandroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getGroupIdLevel1(I)Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
+HSPLandroid/telephony/TelephonyManager;->getLine1AlphaTag(I)Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getLine1AlphaTag()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getNetworkOperator(I)Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getNetworkType(I)I
+HSPLandroid/telephony/TelephonyManager;->getOpPackageName()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getPhoneAccountHandleForSubscriptionId(I)Landroid/telecom/PhoneAccountHandle;
+HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getSubId()I
+HSPLandroid/telephony/TelephonyManager;->getSubscriberInfo()Lcom/android/internal/telephony/IPhoneSubInfo;
+HSPLandroid/telephony/VisualVoicemailSmsFilterSettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/VisualVoicemailSmsFilterSettings;
+HSPLandroid/telephony/VisualVoicemailSmsFilterSettings$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/VisualVoicemailSmsFilterSettings;-><init>(Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;Landroid/telephony/VisualVoicemailSmsFilterSettings$1;)V
+HSPLandroid/telephony/VisualVoicemailSmsFilterSettings;-><init>(Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;)V
+HSPLandroid/telephony/VoiceSpecificRegistrationInfo;-><init>(Landroid/telephony/VoiceSpecificRegistrationInfo;)V
+HSPLandroid/text/format/DateFormat;->hasSeconds(Ljava/lang/CharSequence;)Z
+HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(JJJI)Ljava/lang/CharSequence;
+HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(JJJ)Ljava/lang/CharSequence;
+HSPLandroid/text/InputFilter$LengthFilter;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
+HSPLandroid/text/InputFilter$LengthFilter;-><init>(I)V
+HSPLandroid/text/StaticLayout$Builder;->setAlignment(Landroid/text/Layout$Alignment;)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setBreakStrategy(I)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setEllipsizedWidth(I)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setHyphenationFrequency(I)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setIncludePad(Z)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setIndents([I[I)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setLineSpacing(FF)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setMaxLines(I)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/StaticLayout$Builder;->setUseLineSpacingFromFallbacks(Z)Landroid/text/StaticLayout$Builder;
+HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;)Ljava/lang/CharSequence;
+HSPLandroid/text/TextUtils;->emptyIfNull(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/transition/Transition;->addTarget(I)Landroid/transition/Transition;
+HSPLandroid/transition/Transition;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/Transition;
+HSPLandroid/transition/TransitionSet;->setDuration(J)Landroid/transition/TransitionSet;
+HSPLandroid/transition/TransitionSet;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/TransitionSet;
+HSPLandroid/transition/Visibility;-><init>()V
+HSPLandroid/util/ArrayMap;->containsValue(Ljava/lang/Object;)Z
+HSPLandroid/util/ArraySet;->removeAll(Landroid/util/ArraySet;)Z
+HSPLandroid/util/EventLog$Event;->getProcessId()I
+HSPLandroid/util/EventLog$Event;->getTag()I
+HSPLandroid/util/EventLog$Event;->getTimeNanos()J
+HSPLandroid/util/FloatProperty;->set(Ljava/lang/Object;Ljava/lang/Float;)V
+HSPLandroid/util/FloatProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/util/IntProperty;-><init>(Ljava/lang/String;)V
+HSPLandroid/util/IntProperty;->set(Ljava/lang/Object;Ljava/lang/Integer;)V
+HSPLandroid/util/IntProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/util/LongSparseArray;->indexOfValue(Ljava/lang/Object;)I
+HSPLandroid/util/MathUtils;->constrain(FFF)F
+HSPLandroid/util/MathUtils;->fitRect(Landroid/graphics/Rect;I)V
+HSPLandroid/util/PathParser$PathData;->setPathData(Landroid/util/PathParser$PathData;)V
+HSPLandroid/util/PathParser;->access$300(JJ)V
+HSPLandroid/util/Range;->clamp(Ljava/lang/Comparable;)Ljava/lang/Comparable;
+HSPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;IZZZ)V
+HSPLandroid/view/accessibility/AccessibilityManager;->getServiceLocked()Landroid/view/accessibility/IAccessibilityManager;
+HSPLandroid/view/accessibility/AccessibilityManager;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
+HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;-><init>()V
+HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
+HSPLandroid/view/animation/BaseInterpolator;-><init>()V
+HSPLandroid/view/animation/OvershootInterpolator;-><init>(F)V
+HSPLandroid/view/animation/PathInterpolator;-><init>(Landroid/graphics/Path;)V
+HSPLandroid/view/CompositionSamplingListener;-><init>(Ljava/util/concurrent/Executor;)V
+HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayAddress$Physical;
+HSPLandroid/view/DisplayAddress$Physical$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/DisplayAddress$Physical;-><init>(JLandroid/view/DisplayAddress$1;)V
+HSPLandroid/view/DisplayAddress$Physical;-><init>(J)V
+HSPLandroid/view/DisplayAddress;-><init>()V
+HSPLandroid/view/Display;->getAppVsyncOffsetNanos()J
+HSPLandroid/view/Display;->getCurrentSizeRange(Landroid/graphics/Point;Landroid/graphics/Point;)V
+HSPLandroid/view/Display;->getPresentationDeadlineNanos()J
+HSPLandroid/view/Display;->updateDisplayInfoLocked()V
+HSPLandroid/view/GestureDetector;->recordGestureClassification(I)V
+HSPLandroid/view/GestureExclusionTracker;->computeChangedRects()Ljava/util/List;
+HSPLandroid/view/GestureExclusionTracker;->updateRectsForView(Landroid/view/View;)V
+HSPLandroid/view/IDockedStackListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/IDockedStackListener$Stub;-><init>()V
+HSPLandroid/view/IDockedStackListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/view/InputDevice$MotionRange;->getAxis()I
+HSPLandroid/view/InputDevice$MotionRange;->getSource()I
+HSPLandroid/view/InputDevice;->getMotionRanges()Ljava/util/List;
+HSPLandroid/view/InputDevice;->getSources()I
+HSPLandroid/view/InputDevice;->hasKeys([I)[Z
+HSPLandroid/view/inputmethod/InputMethodSubtype;->isAuxiliary()Z
+HSPLandroid/view/InsetsController;->calculateInsets(ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;I)Landroid/view/WindowInsets;
+HSPLandroid/view/InsetsSource;->calculateInsets(Landroid/graphics/Rect;Z)Landroid/graphics/Insets;
+HSPLandroid/view/InsetsSource;->isVisible()Z
+HSPLandroid/view/InsetsState;->calculateInsets(Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;Landroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/util/SparseIntArray;)Landroid/view/WindowInsets;
+HSPLandroid/view/InsetsState;->processSourceAsPublicType(Landroid/view/InsetsSource;[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[ZLandroid/graphics/Insets;I)V
+HSPLandroid/view/InsetsState;->processSource(Landroid/view/InsetsSource;Landroid/graphics/Rect;Z[Landroid/graphics/Insets;Landroid/util/SparseIntArray;[Z)V
+HSPLandroid/view/InsetsState;->toPublicType(I)I
+HSPLandroid/view/IPinnedStackController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IPinnedStackController;
+HSPLandroid/view/IPinnedStackListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/IPinnedStackListener$Stub;-><init>()V
+HSPLandroid/view/IPinnedStackListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/view/IRotationWatcher$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/IRotationWatcher$Stub;-><init>()V
+HSPLandroid/view/IWallpaperVisibilityListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/IWallpaperVisibilityListener$Stub;-><init>()V
+HSPLandroid/view/IWallpaperVisibilityListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/view/IWindowManager$Stub$Proxy;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->destroyInputConsumer(Ljava/lang/String;I)Z
+HSPLandroid/view/IWindowManager$Stub$Proxy;->freezeRotation(I)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->getDockedStackSide()I
+HSPLandroid/view/IWindowManager$Stub$Proxy;->getInitialDisplaySize(ILandroid/graphics/Point;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->getStableInsets(ILandroid/graphics/Rect;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
+HSPLandroid/view/IWindowManager$Stub$Proxy;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->setShelfHeight(ZI)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->statusBarVisibilityChanged(II)V
+HSPLandroid/view/IWindowManager$Stub$Proxy;->watchRotation(Landroid/view/IRotationWatcher;I)I
+HSPLandroid/view/IWindowSession$Stub$Proxy;->reportSystemGestureExclusionChanged(Landroid/view/IWindow;Ljava/util/List;)V
+HSPLandroid/view/IWindowSession$Stub$Proxy;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
+HSPLandroid/view/LayoutInflater;->createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V
+HSPLandroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJZ)V
+HSPLandroid/view/RemoteAnimationAdapter;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/view/SurfaceControl$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/SurfaceControl;
+HSPLandroid/view/SurfaceControl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction;
+HSPLandroid/view/SurfaceControl;->access$2700(JJJJ)V
+HSPLandroid/view/SurfaceControl;->access$800(Landroid/view/SurfaceControl;)V
+HSPLandroid/view/SurfaceControl;->checkNotReleased()V
+HSPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;Landroid/view/SurfaceControl$1;)V
+HSPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/view/textclassifier/ConfigParser;->getBoolean(Ljava/lang/String;Z)Z
+HSPLandroid/view/textclassifier/ConfigParser;->getInt(Ljava/lang/String;I)I
+HSPLandroid/view/textclassifier/ConfigParser;->getLegacySettings()Landroid/util/KeyValueListParser;
+HSPLandroid/view/textclassifier/TextClassificationManager;->getApplicationContext()Landroid/content/Context;
+HSPLandroid/view/textclassifier/TextClassificationManager;->getTextClassifier(I)Landroid/view/textclassifier/TextClassifier;
+HSPLandroid/view/textclassifier/TextClassificationManager;->lambda$getSettings$2$TextClassificationManager()Ljava/lang/String;
+HSPLandroid/view/ThreadedRenderer;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
+HSPLandroid/view/View$10;->setValue(Landroid/view/View;F)V
+HSPLandroid/view/View$10;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/view/View$1;-><init>(Landroid/view/View;)V
+HSPLandroid/view/View$1;->positionChanged(JIIII)V
+HSPLandroid/view/View$7;->get(Landroid/view/View;)Ljava/lang/Float;
+HSPLandroid/view/View$7;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/view/View$8;->get(Landroid/view/View;)Ljava/lang/Float;
+HSPLandroid/view/View$8;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/view/View$8;->setValue(Landroid/view/View;F)V
+HSPLandroid/view/View$8;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/view/View$ListenerInfo;->access$1200(Landroid/view/View$ListenerInfo;)Ljava/util/List;
+HSPLandroid/view/View$ListenerInfo;->access$1202(Landroid/view/View$ListenerInfo;Ljava/util/List;)Ljava/util/List;
+HSPLandroid/view/View$TransformationInfo;->access$2300(Landroid/view/View$TransformationInfo;)F
+HSPLandroid/view/View$TransformationInfo;->access$2302(Landroid/view/View$TransformationInfo;F)F
+HSPLandroid/view/View;->canReceivePointerEvents()Z
+HSPLandroid/view/View;->checkForLongClick(JFFI)V
+HSPLandroid/view/ViewConfiguration;->getScrollBarFadeDuration()I
+HSPLandroid/view/ViewConfiguration;->getScrollDefaultDelay()I
+HSPLandroid/view/ViewConfiguration;->getScrollFriction()F
+HSPLandroid/view/View;->forceHasOverlappingRendering(Z)V
+HSPLandroid/view/View;->getClipBounds()Landroid/graphics/Rect;
+HSPLandroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z
+HSPLandroid/view/View;->getSystemGestureExclusionRects()Ljava/util/List;
+HSPLandroid/view/ViewGroup;->addTransientView(Landroid/view/View;I)V
+HSPLandroid/view/ViewGroup;->getTransientViewCount()I
+HSPLandroid/view/ViewGroup;->getTransientView(I)Landroid/view/View;
+HSPLandroid/view/ViewGroup;->removeTransientView(Landroid/view/View;)V
+HSPLandroid/view/View;->initScrollCache()V
+HSPLandroid/view/View;->isPaddingRelative()Z
+HSPLandroid/view/View;->isVerticalFadingEdgeEnabled()Z
+HSPLandroid/view/View;->postUpdateSystemGestureExclusionRects()V
+HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAnimator;
+HSPLandroid/view/ViewRootImpl;->getView()Landroid/view/View;
+HSPLandroid/view/ViewRootImpl;->registerRtFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
+HSPLandroid/view/ViewRootImpl;->systemGestureExclusionChanged()V
+HSPLandroid/view/ViewRootImpl;->updateSystemGestureExclusionRectsForView(Landroid/view/View;)V
+HSPLandroid/view/View;->setAccessibilityPaneTitle(Ljava/lang/CharSequence;)V
+HSPLandroid/view/View;->setAlphaInternal(F)V
+HSPLandroid/view/View;->setForceDarkAllowed(Z)V
+HSPLandroid/view/View;->setHapticFeedbackEnabled(Z)V
+HSPLandroid/view/View;->setSystemGestureExclusionRects(Ljava/util/List;)V
+HSPLandroid/view/View;->setVerticalFadingEdgeEnabled(Z)V
+HSPLandroid/view/ViewStub;->setVisibilityAsync(I)Ljava/lang/Runnable;
+HSPLandroid/view/ViewTreeObserver;->dispatchOnSystemGestureExclusionRectsChanged(Ljava/util/List;)V
+HSPLandroid/view/View;->updateSystemGestureExclusionRects()V
+HSPLandroid/view/WindowInsets$Type;->compatSystemInsets()I
+HSPLandroid/view/WindowInsets;->assignCompatInsets([Landroid/graphics/Insets;Landroid/graphics/Rect;)V
+HSPLandroid/view/WindowInsets;->getMandatorySystemGestureInsets()Landroid/graphics/Insets;
+HSPLandroid/view/WindowInsets;->getStableInsets()Landroid/graphics/Insets;
+HSPLandroid/view/WindowInsets;->getStableInsetTop()I
+HSPLandroid/view/WindowInsets;->getTappableElementInsets()Landroid/graphics/Insets;
+HSPLandroid/view/WindowManager$LayoutParams;-><init>(IIIIIII)V
+HSPLandroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
+HSPLandroid/view/Window;->setOnWindowDismissedCallback(Landroid/view/Window$OnWindowDismissedCallback;)V
+HSPLandroid/view/Window;->setWindowControllerCallback(Landroid/view/Window$WindowControllerCallback;)V
+HSPLandroid/widget/AbsSeekBar;->setThumbTintList(Landroid/content/res/ColorStateList;)V
+HSPLandroid/widget/AbsSeekBar;->updateGestureExclusionRects()V
+HSPLandroid/widget/ActionMenuPresenter$2;->onViewAttachedToWindow(Landroid/view/View;)V
+HSPLandroid/widget/Button;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/widget/ImageView;->access$002(Landroid/widget/ImageView;Landroid/net/Uri;)Landroid/net/Uri;
+HSPLandroid/widget/ImageView;->access$102(Landroid/widget/ImageView;I)I
+HSPLandroid/widget/ImageView;->setImageIconAsync(Landroid/graphics/drawable/Icon;)Ljava/lang/Runnable;
+HSPLandroid/widget/ImageView;->setImageLevel(I)V
+HSPLandroid/widget/ProgressBar$1;->get(Landroid/widget/ProgressBar;)Ljava/lang/Float;
+HSPLandroid/widget/ProgressBar$1;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/widget/ProgressBar$1;->setValue(Landroid/widget/ProgressBar;F)V
+HSPLandroid/widget/ProgressBar$1;->setValue(Ljava/lang/Object;F)V
+HSPLandroid/widget/ProgressBar;->access$700(Landroid/widget/ProgressBar;IF)V
+HSPLandroid/widget/ProgressBar;->access$800(Landroid/widget/ProgressBar;)F
+HSPLandroid/widget/ProgressBar;->access$802(Landroid/widget/ProgressBar;F)F
+HSPLandroid/widget/ProgressBar;->applyProgressBackgroundTint()V
+HSPLandroid/widget/ProgressBar;->getTintTarget(IZ)Landroid/graphics/drawable/Drawable;
+HSPLandroid/widget/ProgressBar;->setProgressBackgroundTintList(Landroid/content/res/ColorStateList;)V
+HSPLandroid/widget/ProgressBar;->setProgress(IZ)V
+HSPLandroid/widget/ProgressBar;->setProgressTintList(Landroid/content/res/ColorStateList;)V
+HSPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V
+HSPLandroid/widget/RelativeLayout$LayoutParams;->removeRule(I)V
+HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
+HSPLandroid/widget/RelativeLayout;->getGravity()I
+HSPLandroid/widget/RemoteViews$1;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HSPLandroid/widget/RemoteViews$Action;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
+HSPLandroid/widget/RemoteViews$Action;-><init>(Landroid/widget/RemoteViews$1;)V
+HSPLandroid/widget/RemoteViews$Action;-><init>()V
+HSPLandroid/widget/RemoteViews$BitmapCache;-><init>()V
+HSPLandroid/widget/RemoteViews$LayoutParamAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HSPLandroid/widget/RemoteViews$LayoutParamAction;-><init>(III)V
+HSPLandroid/widget/RemoteViews$LayoutParamAction;->resolveDimenPixelOffset(Landroid/view/View;I)I
+HSPLandroid/widget/RemoteViews$ReflectionAction;->initActionAsync(Landroid/widget/RemoteViews$ViewTree;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$Action;
+HSPLandroid/widget/RemoteViews$ReflectionAction;-><init>(Landroid/widget/RemoteViews;ILjava/lang/String;ILjava/lang/Object;)V
+HSPLandroid/widget/RemoteViews$RemoteResponse;->access$500(Landroid/widget/RemoteViews$RemoteResponse;)Landroid/app/PendingIntent;
+HSPLandroid/widget/RemoteViews$RuntimeAction;-><init>(Landroid/widget/RemoteViews$1;)V
+HSPLandroid/widget/RemoteViews$RuntimeAction;-><init>()V
+HSPLandroid/widget/RemoteViews$SetDrawableTint;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HSPLandroid/widget/RemoteViews$SetDrawableTint;-><init>(Landroid/widget/RemoteViews;IZILandroid/graphics/PorterDuff$Mode;)V
+HSPLandroid/widget/RemoteViews$SetOnClickResponse;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HSPLandroid/widget/RemoteViews;->access$1100(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)V
+HSPLandroid/widget/RemoteViews;->access$1500(Landroid/widget/RemoteViews;Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$AsyncApplyTask;
+HSPLandroid/widget/RemoteViews;->access$2400(Landroid/widget/RemoteViews;Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;)Landroid/view/View;
+HSPLandroid/widget/RemoteViews;->access$2600(Landroid/widget/RemoteViews;)Ljava/util/ArrayList;
+HSPLandroid/widget/RemoteViews;->access$700(Landroid/widget/RemoteViews;Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
+HSPLandroid/widget/RemoteViews;->access$900()Landroid/widget/RemoteViews$Action;
+HSPLandroid/widget/RemoteViews;->addAction(Landroid/widget/RemoteViews$Action;)V
+HSPLandroid/widget/RemoteViews;->addView(ILandroid/widget/RemoteViews;)V
+HSPLandroid/widget/RemoteViews;->applyAsync(Landroid/content/Context;Landroid/view/ViewGroup;Ljava/util/concurrent/Executor;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/os/CancellationSignal;
+HSPLandroid/widget/RemoteViews;->configureRemoteViewsAsChild(Landroid/widget/RemoteViews;)V
+HSPLandroid/widget/RemoteViews;->getAsyncApplyTask(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnViewAppliedListener;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/widget/RemoteViews$AsyncApplyTask;
+HSPLandroid/widget/RemoteViews;->getRemoteViewsToApply(Landroid/content/Context;)Landroid/widget/RemoteViews;
+HSPLandroid/widget/RemoteViews;->hasLandscapeAndPortraitLayouts()Z
+HSPLandroid/widget/RemoteViews;->inflateView(Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;)Landroid/view/View;
+HSPLandroid/widget/RemoteViews;-><init>(Landroid/content/pm/ApplicationInfo;I)V
+HSPLandroid/widget/RemoteViews;->removeAllViews(I)V
+HSPLandroid/widget/RemoteViews;->setBoolean(ILjava/lang/String;Z)V
+HSPLandroid/widget/RemoteViews;->setDrawableTint(IZILandroid/graphics/PorterDuff$Mode;)V
+HSPLandroid/widget/RemoteViews;->setIcon(ILjava/lang/String;Landroid/graphics/drawable/Icon;)V
+HSPLandroid/widget/RemoteViews;->setImageViewIcon(ILandroid/graphics/drawable/Icon;)V
+HSPLandroid/widget/RemoteViews;->setIntTag(III)V
+HSPLandroid/widget/RemoteViews;->setLong(ILjava/lang/String;J)V
+HSPLandroid/widget/RemoteViews;->setRemoteInputs(I[Landroid/app/RemoteInput;)V
+HSPLandroid/widget/RemoteViews;->setTextColor(II)V
+HSPLandroid/widget/RemoteViews;->setViewLayoutMarginBottomDimen(II)V
+HSPLandroid/widget/RemoteViews;->setViewLayoutMarginEnd(II)V
+HSPLandroid/widget/RemoteViews;->setViewLayoutWidth(II)V
+HSPLandroid/widget/RemoteViews;->startTaskOnExecutor(Landroid/widget/RemoteViews$AsyncApplyTask;Ljava/util/concurrent/Executor;)Landroid/os/CancellationSignal;
+HSPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/widget/TextView;->getCompoundDrawablePadding()I
+HSPLandroid/widget/TextView;->getCompoundDrawables()[Landroid/graphics/drawable/Drawable;
+HSPLandroid/widget/TextView;->getCompoundDrawablesRelative()[Landroid/graphics/drawable/Drawable;
+HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(IIII)V
+HSPLandroid/widget/TextView;->setFontFeatureSettings(Ljava/lang/String;)V
+HSPLandroid/widget/TextView;->setLineHeight(I)V
+HSPLandroid/widget/TextView;->setMarqueeRepeatLimit(I)V
+HSPLandroid/widget/Toolbar;->setTitle(I)V
+HSPLandroid/widget/ViewAnimator;->getDisplayedChild()I
+HSPLcom/android/internal/app/AssistUtils;->activeServiceSupportsLaunchFromKeyguard()Z
+HSPLcom/android/internal/app/AssistUtils;->getActiveServiceComponentName()Landroid/content/ComponentName;
+HSPLcom/android/internal/app/AssistUtils;->onLockscreenShown()V
+HSPLcom/android/internal/app/AssistUtils;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
+HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub;-><init>()V
+HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;-><init>()V
+HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperationRaw(IILjava/lang/String;)I
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getPackagesForOps([I)Ljava/util/List;
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
+HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanResults(Landroid/os/WorkSource;I)V
+HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
+HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
+HSPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteResetBleScan()V
+HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->activeServiceSupportsLaunchFromKeyguard()Z
+HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getActiveServiceComponentName()Landroid/content/ComponentName;
+HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->onLockscreenShown()V
+HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
+HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;-><init>()V
+HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
+HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->stopListening(Ljava/lang/String;I)V
+HSPLcom/android/internal/backup/IBackupTransport$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/backup/IBackupTransport$Stub;-><init>()V
+HSPLcom/android/internal/backup/IBackupTransport$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;-><init>()V
+HSPLcom/android/internal/location/ILocationProviderManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/location/ILocationProviderManager;
+HSPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderRequest;
+HSPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/internal/logging/MetricsLogger;->visibility(IZ)V
+HSPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
+HSPLcom/android/internal/os/Zygote;->disableExecuteOnly(I)V
+HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;I)I
+HSPLcom/android/internal/policy/DecorView;->calculateBarColor(IIIIIIZ)I
+HSPLcom/android/internal/policy/DecorView;->calculateNavigationBarColor()I
+HSPLcom/android/internal/policy/DecorView;->drawLegacyNavigationBarBackground(Landroid/graphics/RecordingCanvas;)V
+HSPLcom/android/internal/policy/DecorView;->getBackground()Landroid/graphics/drawable/Drawable;
+HSPLcom/android/internal/policy/DecorView;->updateBackgroundDrawable()V
+HSPLcom/android/internal/policy/DividerSnapAlgorithm;->getMiddleTarget()Lcom/android/internal/policy/DividerSnapAlgorithm$SnapTarget;
+HSPLcom/android/internal/policy/DividerSnapAlgorithm;-><init>(Landroid/content/res/Resources;IIIZLandroid/graphics/Rect;I)V
+HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardDrawnCallback;
+HSPLcom/android/internal/policy/IKeyguardService$Stub;-><init>()V
+HSPLcom/android/internal/policy/IKeyguardService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardStateCallback;
+HSPLcom/android/internal/policy/IShortcutService$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/policy/IShortcutService$Stub;-><init>()V
+HSPLcom/android/internal/policy/PhoneWindow;->getTransitionBackgroundFadeDuration()J
+HSPLcom/android/internal/policy/ScreenDecorationsUtils;->supportsRoundedCornersOnWindows(Landroid/content/res/Resources;)Z
+HSPLcom/android/internal/statusbar/IStatusBar$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/statusbar/IStatusBar$Stub;-><init>()V
+HSPLcom/android/internal/statusbar/IStatusBar$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/internal/statusbar/StatusBarIcon;->clone()Lcom/android/internal/statusbar/StatusBarIcon;
+HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
+HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->handleAlarmOrConfigChange()V
+HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$300(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)I
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$400(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)I
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$500(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)I
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->access$700(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->imsiPrefixMatch(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/CarrierResolver;->isPreferApnUserEdited(Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/CarrierResolver;->logd(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/cdma/EriManager$EriFile;-><init>(Lcom/android/internal/telephony/cdma/EriManager;)V
+HSPLcom/android/internal/telephony/cdma/EriManager;-><init>(Lcom/android/internal/telephony/Phone;I)V
+HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->convertHalCellIdentityToCellIdentity(Landroid/hardware/radio/V1_0/CellIdentity;)Landroid/telephony/CellIdentity;
+HSPLcom/android/internal/telephony/CommandException;-><init>(Lcom/android/internal/telephony/CommandException$Error;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->logl(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseNetwork(Landroid/net/NetworkRequest;I)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->isMeteredApnType(ILcom/android/internal/telephony/Phone;)Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;-><init>(Lcom/android/internal/telephony/dataconnection/ApnContext;IILandroid/os/Message;III)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->bringUp(Lcom/android/internal/telephony/dataconnection/ApnContext;IILandroid/os/Message;III)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;->isHardReason()Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->add(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->containsHardDisallowedReasons()Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->contains(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;)Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons;->containsOnly(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;)Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->setHandoverState(I)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$000(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)I
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$002(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;I)I
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$100(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)Lcom/android/internal/telephony/Phone;
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$200(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$302(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;)Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$400(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$500(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->access$600(Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;I)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->getDataEnabledOverride()Lcom/android/internal/telephony/dataconnection/DataEnabledOverride;
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isDataEnabled(I)Z
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->localLog(Ljava/lang/String;Z)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->notifyDataEnabledOverrideChanged()V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->registerForDataEnabledOverrideChanged(Landroid/os/Handler;I)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->setDataRoamingEnabled(Z)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updateDataEnabledAndNotify(I)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updatePhoneStateListener()V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataAllowed(Lcom/android/internal/telephony/dataconnection/ApnContext;ILcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataEnabledOverrideRulesChanged()V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->releaseNetwork(Landroid/net/NetworkRequest;I)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestTypeToString(I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupDataOnAllConnectableApns(Ljava/lang/String;Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupDataOnConnectableApn(Lcom/android/internal/telephony/dataconnection/ApnContext;Ljava/lang/String;Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->shouldAutoAttach()Z
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->shouldCleanUpConnection(Lcom/android/internal/telephony/dataconnection/ApnContext;Z)Z
+HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->logl(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/TransportManager;->isAnyApnPreferredOnIwlan()Z
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyEmergencyNumberList(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyOemHookRawEventForSubscriber(Lcom/android/internal/telephony/Phone;[B)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyRadioPowerStateChanged(Lcom/android/internal/telephony/Phone;I)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyUserMobileDataStateChanged(Lcom/android/internal/telephony/Phone;Z)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->writeUpdatedEmergencyNumberListMetrics(Ljava/util/List;)V
+HSPLcom/android/internal/telephony/euicc/EuiccConnector;->findBestComponent(Landroid/content/pm/PackageManager;)Landroid/content/pm/ComponentInfo;
+HSPLcom/android/internal/telephony/GlobalSettingsHelper;->setBoolean(Landroid/content/Context;Ljava/lang/String;IZ)Z
+HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;I[BZ)Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;
+HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->sendSms(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
+HSPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->shouldBlockSmsForEcbm()Z
+HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->access$200(Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/IccCardConstants$State;->intToState(I)Lcom/android/internal/telephony/IccCardConstants$State;
+HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->filterDestAddress(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendDataInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
+HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendDataWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
+HSPLcom/android/internal/telephony/ims/ImsResolver$5;->create(Landroid/content/Context;Landroid/content/ComponentName;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;)Lcom/android/internal/telephony/ims/ImsServiceController;
+HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isInEmergencyCall()Z
+HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->sendImsServiceStateIntent(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isInEmergencyCall()Z
+HSPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyForVideoCapabilityChanged(Z)V
+HSPLcom/android/internal/telephony/imsphone/ImsPhone;->updateRoamingState(Landroid/telephony/ServiceState;)V
+HSPLcom/android/internal/telephony/ims/RcsEventQueryHelper;-><init>(Landroid/content/ContentResolver;)V
+HSPLcom/android/internal/telephony/ims/RcsMessageQueryHelper;-><init>(Landroid/content/ContentResolver;)V
+HSPLcom/android/internal/telephony/ims/RcsMessageStoreController;-><init>(Landroid/content/Context;)V
+HSPLcom/android/internal/telephony/ims/RcsMessageStoreUtil;-><init>(Landroid/content/ContentResolver;)V
+HSPLcom/android/internal/telephony/ims/RcsParticipantQueryHelper;-><init>(Landroid/content/ContentResolver;)V
+HSPLcom/android/internal/telephony/ims/RcsThreadQueryHelper;-><init>(Landroid/content/ContentResolver;Lcom/android/internal/telephony/ims/RcsParticipantQueryHelper;)V
+HSPLcom/android/internal/telephony/ImsSmsDispatcher;->isAvailable()Z
+HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1AlphaTagForDisplay(ILjava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkTypeForSubscriber(ILjava/lang/String;)I
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isDataEnabled(I)Z
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionForSubscriber(IIIZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyEmergencyNumberList(II)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOemHookRawEventForSubscriber(II[B)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOtaspChanged(II)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyRadioPowerStateChanged(III)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyUserMobileDataStateChangedForPhoneId(IIZ)V
+HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->addEvent(Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;)V
+HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->decreaseExpectedResponse()V
+HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->getNumExpectedResponses()I
+HSPLcom/android/internal/telephony/metrics/InProgressSmsSession;->increaseExpectedResponse()V
+HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;-><init>(I)V
+HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setErrorCode(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
+HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setFormat(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
+HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setRilErrno(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
+HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setRilRequestId(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
+HSPLcom/android/internal/telephony/metrics/SmsSessionEventBuilder;->setTech(I)Lcom/android/internal/telephony/metrics/SmsSessionEventBuilder;
+HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;-><init>(I)V
+HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;-><init>(JI)V
+HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->setCarrierIdMatching(Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;)Lcom/android/internal/telephony/metrics/TelephonyEventBuilder;
+HSPLcom/android/internal/telephony/metrics/TelephonyEventBuilder;->setUpdatedEmergencyNumber(Lcom/android/internal/telephony/nano/TelephonyProto$EmergencyNumberInfo;)Lcom/android/internal/telephony/metrics/TelephonyEventBuilder;
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->convertEmergencyNumberToEmergencyNumberInfo(Landroid/telephony/emergency/EmergencyNumber;)Lcom/android/internal/telephony/nano/TelephonyProto$EmergencyNumberInfo;
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishSmsSessionIfNeeded(Lcom/android/internal/telephony/metrics/InProgressSmsSession;)V
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->lambda$convertEmergencyNumberToEmergencyNumberInfo$1(I)[Ljava/lang/String;
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->logv(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->startNewSmsSessionIfNeeded(I)Lcom/android/internal/telephony/metrics/InProgressSmsSession;
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeCarrierIdMatchingEvent(IIILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)V
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeEmergencyNumberUpdateEvent(ILandroid/telephony/emergency/EmergencyNumber;)V
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnSmsSolicitedResponse(IIILcom/android/internal/telephony/SmsResponse;)V
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilSendSms(IIII)V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->init(Landroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;)Lcom/android/internal/telephony/MultiSimSettingController;
+HSPLcom/android/internal/telephony/MultiSimSettingController;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;)V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->lambda$updatePrimarySubListAndGetChangeType$3(Landroid/telephony/SubscriptionInfo;)Z
+HSPLcom/android/internal/telephony/MultiSimSettingController;->lambda$updatePrimarySubListAndGetChangeType$4(Landroid/telephony/SubscriptionInfo;)Ljava/lang/Integer;
+HSPLcom/android/internal/telephony/MultiSimSettingController;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->notifyAllSubscriptionLoaded()V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->notifyDefaultDataSubChanged()V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->notifySubscriptionInfoChanged()V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->updateDefaults(Z)V
+HSPLcom/android/internal/telephony/MultiSimSettingController;->updatePrimarySubListAndGetChangeType(Ljava/util/List;Z)I
+HSPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;-><init>()V
+HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;
+HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;-><init>()V
+HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;
+HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;-><init>()V
+HSPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent;-><init>()V
+HSPLcom/android/internal/telephony/OemHookIndication;->oemHookRaw(ILjava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/PhoneFactory;->getSmsController()Lcom/android/internal/telephony/SmsController;
+HSPLcom/android/internal/telephony/PhoneFactory;->getSubscriptionInfoUpdater()Lcom/android/internal/telephony/SubscriptionInfoUpdater;
+HSPLcom/android/internal/telephony/Phone;->notifySmsSent(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/Phone;->notifyUserMobileDataStateChanged(Z)V
+HSPLcom/android/internal/telephony/PhoneSubInfoController;->callPhoneMethodForSubIdWithPrivilegedCheck(ILjava/lang/String;Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/PhoneSubInfoController;->getIsimIst(I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithPrivilegedCheck$25$PhoneSubInfoController(Ljava/lang/String;Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithReadPhoneNumberCheck$27(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithReadSubscriberIdentifiersCheck$24(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getIsimIst$17(Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/PhoneSwitcher;->getInstance()Lcom/android/internal/telephony/PhoneSwitcher;
+HSPLcom/android/internal/telephony/PhoneSwitcher;->isEmergencyNetworkRequest(Landroid/net/NetworkRequest;)Z
+HSPLcom/android/internal/telephony/PhoneSwitcher;->isEmergency()Z
+HSPLcom/android/internal/telephony/PhoneSwitcher;->isInEmergencyCallbackMode()Z
+HSPLcom/android/internal/telephony/PhoneSwitcher;->sendRilCommands(I)V
+HSPLcom/android/internal/telephony/protobuf/nano/ExtendableMessageNano;-><init>()V
+HSPLcom/android/internal/telephony/protobuf/nano/MessageNano;-><init>()V
+HSPLcom/android/internal/telephony/ProxyController;->getSmsController()Lcom/android/internal/telephony/SmsController;
+HSPLcom/android/internal/telephony/RadioIndication;->currentSignalStrength(ILandroid/hardware/radio/V1_0/SignalStrength;)V
+HSPLcom/android/internal/telephony/RadioResponse;->getCellInfoListResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioResponse;->getCurrentCallsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioResponse;->getDataRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/DataRegStateResult;)V
+HSPLcom/android/internal/telephony/RadioResponse;->getIccCardStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/CardStatus;)V
+HSPLcom/android/internal/telephony/RadioResponse;->getSignalStrengthResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SignalStrength;)V
+HSPLcom/android/internal/telephony/RadioResponse;->getVoiceRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/VoiceRegStateResult;)V
+HSPLcom/android/internal/telephony/RadioResponse;->responseCellInfoList(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioResponse;->responseCurrentCalls(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioResponse;->responseIccCardStatus(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/CardStatus;)V
+HSPLcom/android/internal/telephony/RadioResponse;->responseLceStatus(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceStatusInfo;)V
+HSPLcom/android/internal/telephony/RadioResponse;->responseSignalStrength(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SignalStrength;)V
+HSPLcom/android/internal/telephony/RadioResponse;->responseSms(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
+HSPLcom/android/internal/telephony/RadioResponse;->sendImsSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
+HSPLcom/android/internal/telephony/RadioResponse;->sendMessageResponse(Landroid/os/Message;Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/RadioResponse;->startLceServiceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceStatusInfo;)V
+HSPLcom/android/internal/telephony/RIL;->arrayListToPrimitiveArray(Ljava/util/ArrayList;)[B
+HSPLcom/android/internal/telephony/RIL;->constructGsmSendSmsRilRequest(Ljava/lang/String;Ljava/lang/String;)Landroid/hardware/radio/V1_0/GsmSmsMessage;
+HSPLcom/android/internal/telephony/RIL;->convertHalCellInfoList(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+HSPLcom/android/internal/telephony/RIL;->getModemStatus(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/RIL;->obtainRequest(ILandroid/os/Message;Landroid/os/WorkSource;)Lcom/android/internal/telephony/RILRequest;
+HSPLcom/android/internal/telephony/RIL;->sendImsGsmSms(Ljava/lang/String;Ljava/lang/String;IILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/RIL;->unsljLogvRet(ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->filterOperatorNameByPattern(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getCarrierNameDisplayBitmask(Landroid/telephony/ServiceState;)I
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getCombinedRegState(Landroid/telephony/ServiceState;)I
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getOperatorBrandOverride()Ljava/lang/String;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getOperatorNameFromEri()Ljava/lang/String;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getServiceProviderName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->modemTriggeredPollState()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->notifySpnDisplayUpdate(Lcom/android/internal/telephony/cdnr/CarrierDisplayNameData;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->processIwlanRegistrationInfo()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateNrStateFromPhysicalChannelConfigs(Ljava/util/List;Landroid/telephony/ServiceState;)Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameForCellIdentity(Landroid/telephony/CellIdentity;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameForCellInfo(Ljava/util/List;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameForServiceState(Landroid/telephony/ServiceState;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNamePattern(Landroid/os/PersistableBundle;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateSpnDisplayLegacy()V
+HSPLcom/android/internal/telephony/SMSDispatcher;->checkDestination(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)Z
+HSPLcom/android/internal/telephony/SMSDispatcher;->getCarrierAppPackageName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/SMSDispatcher;->getSmsTracker(Ljava/lang/String;Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Ljava/lang/String;Landroid/net/Uri;ZLjava/lang/String;ZZZ)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
+HSPLcom/android/internal/telephony/SMSDispatcher;->getSmsTracker(Ljava/lang/String;Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicBoolean;Landroid/net/Uri;Lcom/android/internal/telephony/SmsHeader;ZLjava/lang/String;ZZIIZ)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
+HSPLcom/android/internal/telephony/SMSDispatcher;->getSmsTrackerMap(Ljava/lang/String;Ljava/lang/String;I[BLcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;)Ljava/util/HashMap;
+HSPLcom/android/internal/telephony/SMSDispatcher;->getSubId()I
+HSPLcom/android/internal/telephony/SMSDispatcher;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/SMSDispatcher;->handleSendComplete(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/SMSDispatcher;->isIms()Z
+HSPLcom/android/internal/telephony/SmsDispatchersController;->getUsageMonitor()Lcom/android/internal/telephony/SmsUsageMonitor;
+HSPLcom/android/internal/telephony/SmsDispatchersController;->isCdmaFormat(Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/SmsDispatchersController;->isCdmaMo()Z
+HSPLcom/android/internal/telephony/SmsDispatchersController;->isIms()Z
+HSPLcom/android/internal/telephony/SmsDispatchersController;->sendData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
+HSPLcom/android/internal/telephony/SMSDispatcher;->sendData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
+HSPLcom/android/internal/telephony/SMSDispatcher;->sendRawPdu(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
+HSPLcom/android/internal/telephony/SMSDispatcher;->sendSmsByCarrierApp(ZLcom/android/internal/telephony/SMSDispatcher$SmsTracker;)Z
+HSPLcom/android/internal/telephony/SMSDispatcher;->sendSubmitPdu(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
+HSPLcom/android/internal/telephony/SmsUsageMonitor;->check(Ljava/lang/String;I)Z
+HSPLcom/android/internal/telephony/SmsUsageMonitor;->isUnderLimit(Ljava/util/ArrayList;I)Z
+HSPLcom/android/internal/telephony/SmsUsageMonitor;->removeExpiredTimestamps()V
+HSPLcom/android/internal/telephony/SubscriptionController;->clearSlotIndexForSubInfoRecords()V
+HSPLcom/android/internal/telephony/SubscriptionController;->getDataEnabledOverrideRules(I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SubscriptionController;->getOptionalStringFromCursor(Landroid/database/Cursor;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfoUsingSlotIndexPrivileged(I)Ljava/util/List;
+HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionInfo(I)Landroid/telephony/SubscriptionInfo;
+HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionProperty(ILjava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/SubscriptionController;->logd(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/SubscriptionController;->notifySubInfoReady()V
+HSPLcom/android/internal/telephony/SubscriptionController;->sendDefaultChangedBroadcast(I)V
+HSPLcom/android/internal/telephony/SubscriptionController;->setAssociatedPlmns([Ljava/lang/String;[Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/SubscriptionController;->setDisplayNumber(Ljava/lang/String;I)I
+HSPLcom/android/internal/telephony/SubscriptionController;->setImsi(Ljava/lang/String;I)I
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->getDefaultCarrierServicePackageName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->isCarrierServicePackage(ILjava/lang/String;)Z
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$handleMessage$0(Z)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateEmbeddedSubscriptions$4$SubscriptionInfoUpdater(Ljava/util/List;Lcom/android/internal/telephony/SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateEmbeddedSubscriptions$5$SubscriptionInfoUpdater(Ljava/util/List;Lcom/android/internal/telephony/SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateSubscriptionByCarrierConfigAndNotifyComplete$6$SubscriptionInfoUpdater(ILjava/lang/String;Landroid/os/PersistableBundle;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateSubscriptionInfoByIccId$3(Z)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->logd(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->loge(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->setSubInfoInitialized()V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateEmbeddedSubscriptionsCache(Landroid/service/euicc/GetEuiccProfileInfoListResult;)Z
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateEmbeddedSubscriptions(Ljava/util/List;Lcom/android/internal/telephony/SubscriptionInfoUpdater$UpdateEmbeddedSubsCallback;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateInternalIccState(Ljava/lang/String;Ljava/lang/String;IZ)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionByCarrierConfigAndNotifyComplete(ILjava/lang/String;Landroid/os/PersistableBundle;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionByCarrierConfig(ILjava/lang/String;Landroid/os/PersistableBundle;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionInfoByIccId(IZ)V
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeEriManager(Lcom/android/internal/telephony/Phone;I)Lcom/android/internal/telephony/cdma/EriManager;
+HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadPhoneStateNoThrow(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCarrierPrivilegeForAnySubId(Landroid/content/Context;Ljava/util/function/Supplier;I)Z
+HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadDeviceIdentifiers(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/uicc/AdnRecord;->getEmails()[Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccRecords;->getEhplmns()[Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccRecords;->getHomePlmns()[Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccRecords;->getPlmnsFromHplmnActRecord()[Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccRecords;->getServiceProviderDisplayInformation()[Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/SIMRecords;->getCarrierNameDisplayCondition()I
+HSPLcom/android/internal/telephony/uicc/UiccCard;->iccOpenLogicalChannel(Ljava/lang/String;ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/UiccController;->getSlotIdFromPhoneId(I)I
+HSPLcom/android/internal/telephony/uicc/UiccController;->updateInternalIccState(Landroid/content/Context;Lcom/android/internal/telephony/IccCardConstants$State;Ljava/lang/String;IZ)V
+HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->access$000(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->access$100(Lcom/android/internal/telephony/uicc/UiccPkcs15;)I
+HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->access$200(Lcom/android/internal/telephony/uicc/UiccPkcs15;)Lcom/android/internal/telephony/uicc/UiccProfile;
+HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->parseAcrf(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateCarrierNameForSubscription(Lcom/android/internal/telephony/SubscriptionController;II)V
+HSPLcom/android/internal/telephony/util/NotificationChannelController;->getChannel(Ljava/lang/String;Landroid/content/Context;)Landroid/app/NotificationChannel;
+HSPLcom/android/internal/telephony/util/NotificationChannelController;->migrateCallFowardNotificationChannel(Landroid/content/Context;Landroid/app/NotificationChannel;)V
+HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/lang/String;)[Ljava/lang/String;
+HSPLcom/android/internal/util/AsyncChannel;-><init>()V
+HSPLcom/android/internal/util/BitUtils;->maskedEquals(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Z
+HSPLcom/android/internal/util/BitUtils;->uint16(S)I
+HSPLcom/android/internal/util/BitUtils;->uint32(I)J
+HSPLcom/android/internal/util/BitUtils;->uint8(B)I
+HSPLcom/android/internal/util/GrowingArrayUtils;->append([FIF)[F
+HSPLcom/android/internal/util/LatencyTracker;->isEnabled(Landroid/content/Context;)Z
+HSPLcom/android/internal/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/internal/util/StateMachine;->getHandler()Landroid/os/Handler;
+HSPLcom/android/internal/util/StateMachine;->getName()Ljava/lang/String;
+HSPLcom/android/internal/view/InputBindResult;->getActivityViewToScreenMatrix()Landroid/graphics/Matrix;
+HSPLcom/android/internal/view/RotationPolicy;->areAllRotationsAllowed(Landroid/content/Context;)Z
+HSPLcom/android/internal/view/RotationPolicy;->getRotationLockOrientation(Landroid/content/Context;)I
+HSPLcom/android/internal/view/RotationPolicy;->registerRotationPolicyListener(Landroid/content/Context;Lcom/android/internal/view/RotationPolicy$RotationPolicyListener;I)V
+HSPLcom/android/internal/view/RotationPolicy;->setRotationLockAtAngle(Landroid/content/Context;ZI)V
+HSPLcom/android/internal/view/RotationPolicy;->setRotationLock(ZI)V
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->checkVoldPassword(I)Z
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getRecoverySecretTypes()[I
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setBoolean(Ljava/lang/String;ZI)V
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setRecoverySecretTypes([I)V
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setServerParams([B)V
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->userPresent(I)V
+HSPLcom/android/internal/widget/LockPatternUtils;->checkVoldPassword(I)Z
+HSPLcom/android/internal/widget/LockPatternUtils;->getActivePasswordQuality(I)I
+HSPLcom/android/internal/widget/LockPatternUtils;->getDeviceOwnerInfo()Ljava/lang/String;
+HSPLcom/android/internal/widget/LockPatternUtils;->getUserManager()Landroid/os/UserManager;
+HSPLcom/android/internal/widget/LockPatternUtils;->isLockPatternEnabled(II)Z
+HSPLcom/android/internal/widget/LockPatternUtils;->isLockScreenDisabled(I)Z
+HSPLcom/android/internal/widget/LockPatternUtils;->userPresent(I)V
+HSPLcom/android/okhttp/Headers$Builder;->access$000(Lcom/android/okhttp/Headers$Builder;)Ljava/util/List;
+HSPLcom/android/okhttp/Headers$Builder;->build()Lcom/android/okhttp/Headers;
+HSPLcom/android/okhttp/Headers$Builder;->get(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Headers;->get(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Headers;->get([Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Headers;-><init>(Lcom/android/okhttp/Headers$Builder;Lcom/android/okhttp/Headers$1;)V
+HSPLcom/android/okhttp/Headers;-><init>(Lcom/android/okhttp/Headers$Builder;)V
+HSPLcom/android/okhttp/HttpHandler$CleartextURLFilter;->checkURLPermitted(Ljava/net/URL;)V
+HSPLcom/android/okhttp/HttpUrl;->url()Ljava/net/URL;
+HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->timeout()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->close()V
+HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->flush()V
+HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/internal/http/Http1xStream$1;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;-><init>(Lcom/android/okhttp/internal/http/Http1xStream;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$300(Lcom/android/okhttp/internal/http/Http1xStream;)Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$400(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/okio/ForwardingTimeout;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream;->access$502(Lcom/android/okhttp/internal/http/Http1xStream;I)I
+HSPLcom/android/okhttp/internal/http/Http1xStream;->createRequestBody(Lcom/android/okhttp/Request;J)Lcom/android/okhttp/okio/Sink;
+HSPLcom/android/okhttp/internal/http/Http1xStream;->detachTimeout(Lcom/android/okhttp/okio/ForwardingTimeout;)V
+HSPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSink()Lcom/android/okhttp/okio/Sink;
+HSPLcom/android/okhttp/internal/http/HttpEngine;->getResponse()Lcom/android/okhttp/Response;
+HSPLcom/android/okhttp/internal/http/StatusLine;->get(Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/StatusLine;
+HSPLcom/android/okhttp/internal/http/StatusLine;-><init>(Lcom/android/okhttp/Protocol;ILjava/lang/String;)V
+HSPLcom/android/okhttp/internal/http/StatusLine;->toString()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentEncoding()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentLength()I
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getContentType()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getHeaderFields()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperties()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->getURL()Ljava/net/URL;
+HSPLcom/android/okhttp/internal/huc/DelegatingHttpsURLConnection;->setChunkedStreamingMode(I)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentEncoding()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentLength()I
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentType()Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getURL()Ljava/net/URL;
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setChunkedStreamingMode(I)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V
+HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperties()Ljava/util/Map;
+HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getRequestProperty(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/internal/OptionalMethod;->getMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HSPLcom/android/okhttp/internal/OptionalMethod;->getPublicMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invokeOptional(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invokeOptionalWithoutCheckedException(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->invokeWithoutCheckedException(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/okhttp/internal/OptionalMethod;->isSupported(Ljava/lang/Object;)Z
+HSPLcom/android/okhttp/internal/Platform;->concatLengthPrefixed(Ljava/util/List;)[B
+HSPLcom/android/okhttp/internal/Util;->discard(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
+HSPLcom/android/okhttp/internal/Util;->skipAll(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
+HSPLcom/android/okhttp/OkHttpClient;->getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
+HSPLcom/android/okhttp/OkHttpClient;->setDns(Lcom/android/okhttp/Dns;)Lcom/android/okhttp/OkHttpClient;
+HSPLcom/android/okhttp/OkHttpClient;->setSocketFactory(Ljavax/net/SocketFactory;)Lcom/android/okhttp/OkHttpClient;
+HSPLcom/android/okhttp/okio/Buffer;->completeSegmentByteCount()J
+HSPLcom/android/okhttp/okio/Buffer;-><init>()V
+HSPLcom/android/okhttp/okio/Buffer;->readByteArray()[B
+HSPLcom/android/okhttp/okio/Buffer;->readByteArray(J)[B
+HSPLcom/android/okhttp/okio/Buffer;->readFully([B)V
+HSPLcom/android/okhttp/okio/Buffer;->size()J
+HSPLcom/android/okhttp/okio/Buffer;->writeByte(I)Lcom/android/okhttp/okio/Buffer;
+HSPLcom/android/okhttp/okio/Buffer;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/Buffer;
+HSPLcom/android/okhttp/okio/Buffer;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/Buffer;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->delegate()Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->hasDeadline()Z
+HSPLcom/android/okhttp/okio/ForwardingTimeout;-><init>(Lcom/android/okhttp/okio/Timeout;)V
+HSPLcom/android/okhttp/okio/ForwardingTimeout;->setDelegate(Lcom/android/okhttp/okio/Timeout;)Lcom/android/okhttp/okio/ForwardingTimeout;
+HSPLcom/android/okhttp/okio/RealBufferedSink;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/okio/RealBufferedSink;->emit()Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/okio/RealBufferedSink;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
+HSPLcom/android/okhttp/okio/RealBufferedSource$1;->read()I
+HSPLcom/android/okhttp/okio/RealBufferedSource;->access$000(Lcom/android/okhttp/okio/RealBufferedSource;)Z
+HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime()J
+HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
+HSPLcom/android/okhttp/okio/Timeout;-><init>()V
+HSPLcom/android/okhttp/OkUrlFactories;->open(Lcom/android/okhttp/OkUrlFactory;Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/HttpURLConnection;
+HSPLcom/android/okhttp/OkUrlFactory;->client()Lcom/android/okhttp/OkHttpClient;
+HSPLcom/android/okhttp/Protocol;->toString()Ljava/lang/String;
+HSPLcom/android/okhttp/Request;->header(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/okhttp/Response;->code()I
+HSPLcom/android/okhttp/Response;->message()Ljava/lang/String;
+HSPLcom/android/okhttp/Response;->protocol()Lcom/android/okhttp/Protocol;
+HSPLcom/android/server/NetworkManagementSocketTagger;->getThreadSocketStatsTag()I
+HSPLcom/android/server/NetworkManagementSocketTagger;->setThreadSocketStatsUid(I)I
+HSPLdalvik/system/BlockGuard;->getVmPolicy()Ldalvik/system/BlockGuard$VmPolicy;
+HSPLdalvik/system/SocketTagger;->tag(Ljava/net/Socket;)V
+HSPLjava/io/DataInputStream;->readDouble()D
+HSPLjava/io/DataOutputStream;->incCount(I)V
+HSPLjava/io/DataOutputStream;->writeDouble(D)V
+HSPLjava/io/DataOutputStream;->writeShort(I)V
+HSPLjava/io/File;->deleteOnExit()V
+HSPLjava/io/FileDescriptor;->getInt$()I
+HSPLjava/io/File;->isInvalid()Z
+HSPLjava/io/File;->setExecutable(ZZ)Z
+HSPLjava/io/File;->setReadable(ZZ)Z
+HSPLjava/io/FilterOutputStream;->flush()V
+HSPLjava/io/IOException;-><init>()V
+HSPLjava/io/RandomAccessFile;->write(I)V
+HSPLjava/io/RandomAccessFile;->writeLong(J)V
+HSPLjava/io/SequenceInputStream;->available()I
+HSPLjava/io/SequenceInputStream;->close()V
+HSPLjava/io/SequenceInputStream;->read([BII)I
+HSPLjava/io/StringWriter;->append(C)Ljava/io/StringWriter;
+HSPLjava/io/StringWriter;->append(C)Ljava/io/Writer;
+HSPLjava/io/UnixFileSystem;->setPermission(Ljava/io/File;IZZ)Z
+HSPLjava/lang/AssertionError;-><init>(Ljava/lang/Object;)V
+HSPLjava/lang/AssertionError;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/Byte;->compare(BB)I
+HSPLjava/lang/Byte;->compareTo(Ljava/lang/Byte;)I
+HSPLjava/lang/Byte;->compareTo(Ljava/lang/Object;)I
+HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;)B
+HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;I)B
+HSPLjava/lang/Class;->getInstanceMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HSPLjava/lang/Class;->getPackageName$()Ljava/lang/String;
+HSPLjava/lang/Class;->getProtectionDomain()Ljava/security/ProtectionDomain;
+HSPLjava/lang/Daemons$FinalizerWatchdogDaemon;->sleepForMillis(J)Z
+HSPLjava/lang/Double;->floatValue()F
+HSPLjava/lang/Error;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/Float;->compareTo(Ljava/lang/Float;)I
+HSPLjava/lang/IllegalMonitorStateException;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/InstantiationException;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/Integer;->byteValue()B
+HSPLjava/lang/Integer;->toUnsignedLong(I)J
+HSPLjava/lang/invoke/MethodHandleImpl;-><init>(JILjava/lang/invoke/MethodType;)V
+HSPLjava/lang/invoke/MethodHandle;-><init>(JILjava/lang/invoke/MethodType;)V
+HSPLjava/lang/invoke/MethodHandles$Lookup;->checkReturnType(Ljava/lang/reflect/Method;Ljava/lang/invoke/MethodType;)V
+HSPLjava/lang/invoke/MethodHandles$Lookup;->createMethodHandle(Ljava/lang/reflect/Method;ILjava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
+HSPLjava/lang/invoke/MethodHandles$Lookup;->findVirtual(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
+HSPLjava/lang/invoke/MethodHandle;->type()Ljava/lang/invoke/MethodType;
+HSPLjava/lang/invoke/MethodType;->changeReturnType(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
+HSPLjava/lang/invoke/MethodType;->dropParameterTypes(II)Ljava/lang/invoke/MethodType;
+HSPLjava/lang/invoke/MethodType;->ptypes()[Ljava/lang/Class;
+HSPLjava/lang/invoke/MethodType;->returnType()Ljava/lang/Class;
+HSPLjava/lang/invoke/MethodType;->rtype()Ljava/lang/Class;
+HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V
+HSPLjava/lang/Long;->valueOf(Ljava/lang/String;I)Ljava/lang/Long;
+HSPLjava/lang/Math;->subtractExact(JJ)J
+HSPLjava/lang/reflect/Executable;->getArtMethod()J
+HSPLjava/lang/reflect/Executable;->getDeclaringClassInternal()Ljava/lang/Class;
+HSPLjava/lang/reflect/Executable;->isSynthetic()Z
+HSPLjava/lang/reflect/Executable;->isVarArgs()Z
+HSPLjava/lang/ReflectiveOperationException;-><init>(Ljava/lang/String;)V
+HSPLjava/lang/reflect/Method;->getDeclaringClass()Ljava/lang/Class;
+HSPLjava/lang/reflect/Method;->isSynthetic()Z
+HSPLjava/lang/reflect/Method;->isVarArgs()Z
+HSPLjava/lang/Short;->shortValue()S
+HSPLjava/lang/StackTraceElement;->getFileName()Ljava/lang/String;
+HSPLjava/lang/StringBuffer;->substring(II)Ljava/lang/String;
+HSPLjava/lang/StringBuffer;->substring(I)Ljava/lang/String;
+HSPLjava/lang/System;->getSecurityManager()Ljava/lang/SecurityManager;
+HSPLjava/lang/Thread;->getUncaughtExceptionPreHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntryAfterMiss(Ljava/lang/ThreadLocal;ILjava/lang/ThreadLocal$ThreadLocalMap$Entry;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntry(Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
+HSPLjava/lang/ThreadLocal$ThreadLocalMap;->nextIndex(II)I
+HSPLjava/lang/ThreadLocal;->access$400(Ljava/lang/ThreadLocal;)I
+HSPLjava/math/BigInteger;-><init>(Ljava/math/BigInt;)V
+HSPLjava/math/BigInteger;->mod(Ljava/math/BigInteger;)Ljava/math/BigInteger;
+HSPLjava/math/BigInteger;->setBigInt(Ljava/math/BigInt;)V
+HSPLjava/math/BigInt;->hasNativeBignum()Z
+HSPLjava/math/BigInt;-><init>()V
+HSPLjava/math/BigInt;->modulus(Ljava/math/BigInt;Ljava/math/BigInt;)Ljava/math/BigInt;
+HSPLjava/math/BigInt;->newBigInt()Ljava/math/BigInt;
+HSPLjava/net/AbstractPlainDatagramSocketImpl;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
+HSPLjava/net/AbstractPlainDatagramSocketImpl;->leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
+HSPLjava/net/AbstractPlainSocketImpl;->getTimeout()I
+HSPLjava/net/AbstractPlainSocketImpl;->isConnectionReset()Z
+HSPLjava/net/DatagramPacket;-><init>([BIILjava/net/SocketAddress;)V
+HSPLjava/net/DatagramPacket;-><init>([BILjava/net/SocketAddress;)V
+HSPLjava/net/DatagramPacket;->setSocketAddress(Ljava/net/SocketAddress;)V
+HSPLjava/net/DatagramSocket;->setReuseAddress(Z)V
+HSPLjava/net/HttpURLConnection;->setChunkedStreamingMode(I)V
+HSPLjava/net/Inet6Address$Inet6AddressHolder;->isIPv4CompatibleAddress()Z
+HSPLjava/net/Inet6AddressImpl;->getHostByAddr0([B)Ljava/lang/String;
+HSPLjava/net/Inet6AddressImpl;->getHostByAddr([B)Ljava/lang/String;
+HSPLjava/net/Inet6Address;->isIPv4CompatibleAddress()Z
+HSPLjava/net/InetAddress$1;->getHostByAddr([B)Ljava/lang/String;
+HSPLjava/net/InetAddress;->getHostFromNameService(Ljava/net/InetAddress;)Ljava/lang/String;
+HSPLjava/net/InetAddress;->getHostName()Ljava/lang/String;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$600(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Ljava/lang/String;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->access$800(Ljava/net/InetSocketAddress$InetSocketAddressHolder;)Z
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getHostName()Ljava/lang/String;
+HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->isUnresolved()Z
+HSPLjava/net/InetSocketAddress;->getHostName()Ljava/lang/String;
+HSPLjava/net/InetSocketAddress;-><init>(I)V
+HSPLjava/net/InetSocketAddress;->isUnresolved()Z
+HSPLjava/net/InterfaceAddress;->getAddress()Ljava/net/InetAddress;
+HSPLjava/net/MulticastSocket;-><init>(I)V
+HSPLjava/net/MulticastSocket;-><init>(Ljava/net/SocketAddress;)V
+HSPLjava/net/MulticastSocket;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
+HSPLjava/net/MulticastSocket;->leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
+HSPLjava/net/MulticastSocket;->setNetworkInterface(Ljava/net/NetworkInterface;)V
+HSPLjava/net/MulticastSocket;->setTimeToLive(I)V
+HSPLjava/net/NetworkInterface$1checkedAddresses;->hasMoreElements()Z
+HSPLjava/net/NetworkInterface$1checkedAddresses;-><init>(Ljava/net/NetworkInterface;)V
+HSPLjava/net/NetworkInterface$1checkedAddresses;->nextElement()Ljava/lang/Object;
+HSPLjava/net/NetworkInterface$1checkedAddresses;->nextElement()Ljava/net/InetAddress;
+HSPLjava/net/NetworkInterface;->access$000(Ljava/net/NetworkInterface;)[Ljava/net/InetAddress;
+HSPLjava/net/NetworkInterface;->getByName(Ljava/lang/String;)Ljava/net/NetworkInterface;
+HSPLjava/net/NetworkInterface;->getFlags()I
+HSPLjava/net/NetworkInterface;->getHardwareAddress()[B
+HSPLjava/net/NetworkInterface;->getIndex()I
+HSPLjava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration;
+HSPLjava/net/NetworkInterface;->getInterfaceAddresses()Ljava/util/List;
+HSPLjava/net/NetworkInterface;->getMTU()I
+HSPLjava/net/NetworkInterface;->getName()Ljava/lang/String;
+HSPLjava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;
+HSPLjava/net/NetworkInterface;->isLoopback()Z
+HSPLjava/net/NetworkInterface;->isPointToPoint()Z
+HSPLjava/net/NetworkInterface;->isUp()Z
+HSPLjava/net/NetworkInterface;->isVirtual()Z
+HSPLjava/net/NetworkInterface;->supportsMulticast()Z
+HSPLjava/net/PlainDatagramSocketImpl;->join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
+HSPLjava/net/PlainDatagramSocketImpl;->leave(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
+HSPLjava/net/PlainDatagramSocketImpl;->makeGroupReq(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)Landroid/system/StructGroupReq;
+HSPLjava/net/PlainDatagramSocketImpl;->setTimeToLive(I)V
+HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
+HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption(ILjava/lang/Object;)V
+HSPLjava/net/SocketAddress;-><init>()V
+HSPLjava/net/SocketInputStream;->read([BII)I
+HSPLjava/net/SocketInputStream;->read([BIII)I
+HSPLjava/net/SocketInputStream;->socketRead(Ljava/io/FileDescriptor;[BIII)I
+HSPLjava/net/SocketOutputStream;->socketWrite([BII)V
+HSPLjava/net/SocketOutputStream;->write([BII)V
+HSPLjava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
+HSPLjava/net/URI$Parser;->charAt(I)C
+HSPLjava/net/URI$Parser;-><init>(Ljava/net/URI;Ljava/lang/String;)V
+HSPLjava/net/URI$Parser;->scanEscape(IIC)I
+HSPLjava/net/URI;->access$002(Ljava/net/URI;Ljava/lang/String;)Ljava/lang/String;
+HSPLjava/net/URI;->access$100()J
+HSPLjava/net/URI;->access$200()J
+HSPLjava/net/URI;->access$300(CJJ)Z
+HSPLjava/net/URI;->hashCode()I
+HSPLjava/net/URI;->hashIgnoringCase(ILjava/lang/String;)I
+HSPLjava/net/URI;->hash(ILjava/lang/String;)I
+HSPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLjava/net/URI;->isAbsolute()Z
+HSPLjava/net/URI;->isOpaque()Z
+HSPLjava/net/URI;->toLower(C)I
+HSPLjava/net/URI;->toURL()Ljava/net/URL;
+HSPLjava/net/URLConnection;->getContentEncoding()Ljava/lang/String;
+HSPLjava/net/URLConnection;->getContentLength()I
+HSPLjava/nio/Bits;->getFloatB(Ljava/nio/ByteBuffer;I)F
+HSPLjava/nio/Bits;->getFloat(Ljava/nio/ByteBuffer;IZ)F
+HSPLjava/nio/Bits;->getIntB(Ljava/nio/ByteBuffer;I)I
+HSPLjava/nio/Bits;->getInt(Ljava/nio/ByteBuffer;IZ)I
+HSPLjava/nio/Bits;->makeInt(BBBB)I
+HSPLjava/nio/Bits;->putFloatB(Ljava/nio/ByteBuffer;IF)V
+HSPLjava/nio/Bits;->putFloat(Ljava/nio/ByteBuffer;IFZ)V
+HSPLjava/nio/Bits;->putLong(Ljava/nio/ByteBuffer;IJZ)V
+HSPLjava/nio/Buffer;->nextGetIndex()I
+HSPLjava/nio/Buffer;->nextGetIndex(I)I
+HSPLjava/nio/Buffer;->nextPutIndex(I)I
+HSPLjava/nio/ByteBufferAsIntBuffer;->get()I
+HSPLjava/nio/ByteBufferAsIntBuffer;->get(I)I
+HSPLjava/nio/ByteBufferAsIntBuffer;->put([III)Ljava/nio/IntBuffer;
+HSPLjava/nio/ByteBufferAsLongBuffer;->put([JII)Ljava/nio/LongBuffer;
+HSPLjava/nio/ByteBufferAsShortBuffer;->put([SII)Ljava/nio/ShortBuffer;
+HSPLjava/nio/ByteBuffer;->compareTo(Ljava/lang/Object;)I
+HSPLjava/nio/ByteBuffer;->equals(BB)Z
+HSPLjava/nio/ByteBuffer;->equals(Ljava/lang/Object;)Z
+HSPLjava/nio/channels/FileChannel;->lock()Ljava/nio/channels/FileLock;
+HSPLjava/nio/channels/FileLock;->position()J
+HSPLjava/nio/channels/FileLock;->size()J
+HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->isOpen()Z
+HSPLjava/nio/DirectByteBuffer;->getFloat()F
+HSPLjava/nio/DirectByteBuffer;->getFloat(J)F
+HSPLjava/nio/DirectByteBuffer;->getLong()J
+HSPLjava/nio/DirectByteBuffer;->getLong(J)J
+HSPLjava/nio/DirectByteBuffer;->ix(I)J
+HSPLjava/nio/HeapByteBuffer;->asIntBuffer()Ljava/nio/IntBuffer;
+HSPLjava/nio/HeapByteBuffer;->asLongBuffer()Ljava/nio/LongBuffer;
+HSPLjava/nio/HeapByteBuffer;->getFloat()F
+HSPLjava/nio/HeapByteBuffer;->getIntUnchecked(I)I
+HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[III)V
+HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[JII)V
+HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[SII)V
+HSPLjava/nio/HeapByteBuffer;->ix(I)I
+HSPLjava/nio/HeapByteBuffer;->putFloat(F)Ljava/nio/ByteBuffer;
+HSPLjava/nio/HeapByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
+HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[III)V
+HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[JII)V
+HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[SII)V
+HSPLjava/nio/IntBuffer;->put([I)Ljava/nio/IntBuffer;
+HSPLjava/nio/LongBuffer;->put([J)Ljava/nio/LongBuffer;
+HSPLjava/nio/ShortBuffer;->put([S)Ljava/nio/ShortBuffer;
+HSPLjava/security/GeneralSecurityException;-><init>(Ljava/lang/Throwable;)V
+HSPLjava/security/InvalidAlgorithmParameterException;-><init>(Ljava/lang/Throwable;)V
+HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
+HSPLjava/security/KeyFactory;-><init>(Ljava/security/KeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V
+HSPLjava/security/MessageDigest;->getAlgorithm()Ljava/lang/String;
+HSPLjava/security/MessageDigest;-><init>(Ljava/lang/String;)V
+HSPLjava/security/Provider$Service;->getProvider()Ljava/security/Provider;
+HSPLjava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String;
+HSPLjava/security/spec/ECParameterSpec;->getGenerator()Ljava/security/spec/ECPoint;
+HSPLjava/security/spec/ECPoint;->getAffineX()Ljava/math/BigInteger;
+HSPLjava/security/spec/ECPoint;->getAffineY()Ljava/math/BigInteger;
+HSPLjava/security/spec/ECPublicKeySpec;->getParams()Ljava/security/spec/ECParameterSpec;
+HSPLjava/security/spec/ECPublicKeySpec;->getW()Ljava/security/spec/ECPoint;
+HSPLjava/security/spec/ECPublicKeySpec;-><init>(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
+HSPLjava/security/spec/EllipticCurve;->getA()Ljava/math/BigInteger;
+HSPLjava/security/spec/EllipticCurve;->getB()Ljava/math/BigInteger;
+HSPLjava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
+HSPLjava/text/DecimalFormat;->initPattern(Ljava/lang/String;)V
+HSPLjava/text/DecimalFormat;-><init>()V
+HSPLjava/text/DecimalFormatSymbols;->getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
+HSPLjava/text/FieldPosition;-><init>(I)V
+HSPLjava/text/FieldPosition;-><init>(Ljava/text/Format$Field;I)V
+HSPLjava/text/Format;-><init>()V
+HSPLjava/text/NumberFormat;-><init>()V
+HSPLjava/text/SimpleDateFormat;->isDigit(C)Z
+HSPLjava/text/SimpleDateFormat;->subParseNumericZone(Ljava/lang/String;IIIZLjava/text/CalendarBuilder;)I
+HSPLjava/time/Duration;->between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;
+HSPLjava/time/Duration;->compareTo(Ljava/time/Duration;)I
+HSPLjava/time/Duration;->getNano()I
+HSPLjava/time/Duration;->getSeconds()J
+HSPLjava/time/Duration;->isNegative()Z
+HSPLjava/time/Duration;->minus(Ljava/time/Duration;)Ljava/time/Duration;
+HSPLjava/time/Duration;->plus(JJ)Ljava/time/Duration;
+HSPLjava/time/Duration;->subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
+HSPLjava/time/Duration;->toString()Ljava/lang/String;
+HSPLjava/time/Instant;->compareTo(Ljava/time/Instant;)I
+HSPLjava/time/Instant;->isBefore(Ljava/time/Instant;)Z
+HSPLjava/time/Instant;->minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
+HSPLjava/time/Instant;->minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
+HSPLjava/time/Instant;->minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
+HSPLjava/time/Instant;->nanosUntil(Ljava/time/Instant;)J
+HSPLjava/time/Instant;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
+HSPLjava/time/Instant;->plusSeconds(J)Ljava/time/Instant;
+HSPLjava/time/Instant;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
+HSPLjava/util/AbstractList$Itr;->checkForComodification()V
+HSPLjava/util/AbstractList$ListItr;->hasPrevious()Z
+HSPLjava/util/AbstractList$ListItr;->previousIndex()I
+HSPLjava/util/AbstractList$ListItr;->previous()Ljava/lang/Object;
+HSPLjava/util/AbstractList;->indexOf(Ljava/lang/Object;)I
+HSPLjava/util/AbstractMap$2;-><init>(Ljava/util/AbstractMap;)V
+HSPLjava/util/AbstractMap$2;->iterator()Ljava/util/Iterator;
+HSPLjava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/util/Map$Entry;)V
+HSPLjava/util/AbstractMap;->values()Ljava/util/Collection;
+HSPLjava/util/ArrayList$Itr;-><init>(Ljava/util/ArrayList;)V
+HSPLjava/util/Arrays;->deepToString([Ljava/lang/Object;)Ljava/lang/String;
+HSPLjava/util/Arrays;->deepToString([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
+HSPLjava/util/Arrays;->fill([DD)V
+HSPLjava/util/Arrays;->fill([ZIIZ)V
+HSPLjava/util/Arrays;->sort([Ljava/lang/Object;II)V
+HSPLjava/util/Arrays;->toString([F)Ljava/lang/String;
+HSPLjava/util/BitSet;->checkInvariants()V
+HSPLjava/util/BitSet;->clear(II)V
+HSPLjava/util/BitSet;->recalculateWordsInUse()V
+HSPLjava/util/BitSet;->wordIndex(I)I
+HSPLjava/util/Calendar;->after(Ljava/lang/Object;)Z
+HSPLjava/util/Calendar;->before(Ljava/lang/Object;)Z
+HSPLjava/util/Calendar;->compareTo(J)I
+HSPLjava/util/Calendar;->compareTo(Ljava/util/Calendar;)I
+HSPLjava/util/Calendar;->getMillisOf(Ljava/util/Calendar;)J
+HSPLjava/util/Collections$EmptyList;->listIterator()Ljava/util/ListIterator;
+HSPLjava/util/Collections$EmptyList;->sort(Ljava/util/Comparator;)V
+HSPLjava/util/Collections$EmptyMap;->keySet()Ljava/util/Set;
+HSPLjava/util/Collections$SynchronizedMap;->containsValue(Ljava/lang/Object;)Z
+HSPLjava/util/Collections$SynchronizedMap;->keySet()Ljava/util/Set;
+HSPLjava/util/Collections$UnmodifiableMap;->toString()Ljava/lang/String;
+HSPLjava/util/Collections;->emptyListIterator()Ljava/util/ListIterator;
+HSPLjava/util/Collections;->frequency(Ljava/util/Collection;Ljava/lang/Object;)I
+HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator;
+HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;
+HSPLjava/util/concurrent/AbstractExecutorService;->submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;
+HSPLjava/util/concurrent/ArrayBlockingQueue;->add(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/atomic/AtomicBoolean;->lazySet(Z)V
+HSPLjava/util/concurrent/atomic/AtomicLong;->decrementAndGet()J
+HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
+HSPLjava/util/concurrent/ConcurrentHashMap$EntrySetView;->removeIf(Ljava/util/function/Predicate;)Z
+HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;III)V
+HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(Ljava/util/Map;)V
+HSPLjava/util/concurrent/ConcurrentHashMap;->putAll(Ljava/util/Map;)V
+HSPLjava/util/concurrent/ConcurrentHashMap;->removeEntryIf(Ljava/util/function/Predicate;)Z
+HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/Executors$RunnableAdapter;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
+HSPLjava/util/concurrent/LinkedBlockingQueue;->clear()V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireShared(I)V
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->getState()I
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->release(I)Z
+HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->tryAcquireSharedNanos(IJ)Z
+HSPLjava/util/concurrent/Semaphore$Sync;->getPermits()I
+HSPLjava/util/concurrent/Semaphore;->acquireUninterruptibly()V
+HSPLjava/util/concurrent/Semaphore;->availablePermits()I
+HSPLjava/util/concurrent/Semaphore;->tryAcquire(JLjava/util/concurrent/TimeUnit;)Z
+HSPLjava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;-><init>()V
+HSPLjava/util/concurrent/ThreadPoolExecutor;->getMaximumPoolSize()I
+HSPLjava/util/concurrent/ThreadPoolExecutor;->setThreadFactory(Ljava/util/concurrent/ThreadFactory;)V
+HSPLjava/util/concurrent/TimeUnit$2;->convert(JLjava/util/concurrent/TimeUnit;)J
+HSPLjava/util/concurrent/TimeUnit$2;->toSeconds(J)J
+HSPLjava/util/concurrent/TimeUnit$5;->toMicros(J)J
+HSPLjava/util/concurrent/TimeUnit$7;->toMicros(J)J
+HSPLjava/util/concurrent/TimeUnit;->x(JJJ)J
+HSPLjava/util/Date;->after(Ljava/util/Date;)Z
+HSPLjava/util/Date;->getCalendarSystem(I)Lsun/util/calendar/BaseCalendar;
+HSPLjava/util/Date;->getCalendarSystem(Lsun/util/calendar/BaseCalendar$Date;)Lsun/util/calendar/BaseCalendar;
+HSPLjava/util/Date;->getMillisOf(Ljava/util/Date;)J
+HSPLjava/util/Date;->getTimeImpl()J
+HSPLjava/util/Date;-><init>(IIIIII)V
+HSPLjava/util/Date;->normalize(Lsun/util/calendar/BaseCalendar$Date;)Lsun/util/calendar/BaseCalendar$Date;
+HSPLjava/util/Formatter$FormatSpecifier;->print(Ljava/math/BigInteger;Ljava/util/Locale;)V
+HSPLjava/util/Formatter$FormatSpecifier;->trailingSign(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
+HSPLjava/util/Formatter;->access$000(Ljava/util/Formatter;)Ljava/lang/Appendable;
+HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$EzzlhUGRoL66wVBCG-_euZgC-CA;->applyAsDouble(D)D
+HSPLjava/util/function/DoubleUnaryOperator;->lambda$andThen$1(Ljava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;D)D
+HSPLjava/util/HashMap$Node;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
+HSPLjava/util/HashMap$TreeNode;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
+HSPLjava/util/HashMap$TreeNode;->putTreeVal(Ljava/util/HashMap;[Ljava/util/HashMap$Node;ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/HashMap$TreeNode;
+HSPLjava/util/HashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
+HSPLjava/util/HashSet;-><init>(IFZ)V
+HSPLjava/util/IdentityHashMap$KeySet;->size()I
+HSPLjava/util/IdentityHashMap;->size()I
+HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V
+HSPLjava/util/LinkedHashMap$LinkedEntrySet;->spliterator()Ljava/util/Spliterator;
+HSPLjava/util/LinkedHashMap$LinkedHashMapEntry;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)V
+HSPLjava/util/LinkedHashMap$LinkedKeySet;->contains(Ljava/lang/Object;)Z
+HSPLjava/util/LinkedHashMap;-><init>(IF)V
+HSPLjava/util/LinkedHashSet;-><init>(IF)V
+HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V
+HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/PriorityQueue;->comparator()Ljava/util/Comparator;
+HSPLjava/util/PriorityQueue;->contains(Ljava/lang/Object;)Z
+HSPLjava/util/PriorityQueue;->indexOf(Ljava/lang/Object;)I
+HSPLjava/util/PriorityQueue;->initElementsFromCollection(Ljava/util/Collection;)V
+HSPLjava/util/PriorityQueue;-><init>(Ljava/util/Collection;)V
+HSPLjava/util/PriorityQueue;->siftDown(ILjava/lang/Object;)V
+HSPLjava/util/regex/Matcher;->regionEnd()I
+HSPLjava/util/regex/Matcher;->regionStart()I
+HSPLjava/util/Spliterators$IteratorSpliterator;-><init>(Ljava/util/Collection;I)V
+HSPLjava/util/Spliterators;->spliterator(Ljava/util/Collection;I)Ljava/util/Spliterator;
+HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/ReduceOps$1;-><init>(Ljava/util/stream/StreamShape;Ljava/util/function/BinaryOperator;Ljava/util/function/BiFunction;Ljava/lang/Object;)V
+HSPLjava/util/stream/ReduceOps$1;->makeSink()Ljava/util/stream/ReduceOps$1ReducingSink;
+HSPLjava/util/stream/ReduceOps$1;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
+HSPLjava/util/stream/ReduceOps$1ReducingSink;->begin(J)V
+HSPLjava/util/stream/ReduceOps$1ReducingSink;-><init>(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)V
+HSPLjava/util/stream/ReduceOps$Box;-><init>()V
+HSPLjava/util/stream/ReduceOps;->makeRef(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
+HSPLjava/util/stream/ReferencePipeline$Head;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/ReferencePipeline;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/ReferencePipeline;->reduce(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
+HSPLjava/util/stream/StreamOpFlag;->fromCharacteristics(Ljava/util/Spliterator;)I
+HSPLjava/util/stream/StreamSupport;->stream(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
+HSPLjava/util/TaskQueue;-><init>()V
+HSPLjava/util/Timer$1;-><init>(Ljava/util/Timer;)V
+HSPLjava/util/Timer;-><init>(Ljava/lang/String;Z)V
+HSPLjava/util/Timer;->scheduleAtFixedRate(Ljava/util/TimerTask;JJ)V
+HSPLjava/util/TimerThread;-><init>(Ljava/util/TaskQueue;)V
+HSPLjava/util/TreeMap$KeySet;->comparator()Ljava/util/Comparator;
+HSPLjava/util/TreeMap$KeySet;->size()I
+HSPLjava/util/TreeMap;->addAllForTreeSet(Ljava/util/SortedSet;Ljava/lang/Object;)V
+HSPLjava/util/TreeMap;->buildFromSorted(ILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)V
+HSPLjava/util/TreeMap;->computeRedLevel(I)I
+HSPLjava/util/TreeMap;->exportEntry(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/Map$Entry;
+HSPLjava/util/TreeMap;->getLastEntry()Ljava/util/TreeMap$TreeMapEntry;
+HSPLjava/util/TreeMap;->lastEntry()Ljava/util/Map$Entry;
+HSPLjava/util/TreeMap;->putAll(Ljava/util/Map;)V
+HSPLjava/util/TreeMap;->subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedMap;
+HSPLjava/util/TreeSet;-><init>(Ljava/util/SortedSet;)V
+HSPLjava/util/Vector;->ensureCapacityHelper(I)V
+HSPLjava/util/Vector;->insertElementAt(Ljava/lang/Object;I)V
+HSPLjava/util/Vector;->setElementAt(Ljava/lang/Object;I)V
+HSPLjava/util/zip/Adler32;->update([BII)V
+HSPLjava/util/zip/Adler32;->update(I)V
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasMoreElements()Z
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasNext()Z
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;-><init>(Ljava/util/zip/ZipFile;)V
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->nextElement()Ljava/lang/Object;
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->nextElement()Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipFile$ZipEntryIterator;->next()Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipFile;->access$1000(JJ)V
+HSPLjava/util/zip/ZipFile;->access$200(Ljava/util/zip/ZipFile;)V
+HSPLjava/util/zip/ZipFile;->access$300(Ljava/util/zip/ZipFile;)I
+HSPLjava/util/zip/ZipFile;->access$400(Ljava/util/zip/ZipFile;)J
+HSPLjava/util/zip/ZipFile;->access$500(JI)J
+HSPLjava/util/zip/ZipFile;->access$900(Ljava/util/zip/ZipFile;Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
+HSPLjava/util/zip/ZipFile;->entries()Ljava/util/Enumeration;
+HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;I)V
+HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
+HSPLjavax/crypto/JceSecurity;->access$000()Ljava/net/URL;
+HSPLjavax/crypto/JceSecurity;->getCodeBase(Ljava/lang/Class;)Ljava/net/URL;
+HSPLjavax/crypto/JceSecurity;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
+HSPLjavax/crypto/JceSecurity;->getVerificationResult(Ljava/security/Provider;)Ljava/lang/Exception;
+HSPLjavax/crypto/JceSecurity;->verifyProviderJar(Ljava/net/URL;)V
+HSPLjavax/crypto/KeyGenerator;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
+HSPLjavax/crypto/KeyGenerator;->init(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
+HSPLjavax/crypto/KeyGenerator;->init(Ljava/security/spec/AlgorithmParameterSpec;)V
+HSPLjavax/crypto/KeyGenerator;-><init>(Ljavax/crypto/KeyGeneratorSpi;Ljava/security/Provider;Ljava/lang/String;)V
+HSPLjavax/crypto/Mac;->reset()V
+HSPLjavax/crypto/spec/SecretKeySpec;->getAlgorithm()Ljava/lang/String;
+HSPLlibcore/icu/DateUtilsBridge;->icuTimeZone(Ljava/util/TimeZone;)Landroid/icu/util/TimeZone;
+HSPLlibcore/io/BlockGuardOs;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HSPLlibcore/io/BlockGuardOs;->isUdpSocket(Ljava/io/FileDescriptor;)Z
+HSPLlibcore/io/BlockGuardOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
+HSPLlibcore/io/ForwardingOs;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HSPLlibcore/io/ForwardingOs;->prctl(IJJJJ)I
+HSPLlibcore/io/ForwardingOs;->recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I
+HSPLlibcore/io/ForwardingOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I
+HSPLlibcore/io/ForwardingOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
+HSPLlibcore/io/ForwardingOs;->setsockoptByte(Ljava/io/FileDescriptor;III)V
+HSPLlibcore/io/ForwardingOs;->setsockoptGroupReq(Ljava/io/FileDescriptor;IILandroid/system/StructGroupReq;)V
+HSPLlibcore/io/ForwardingOs;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V
+HSPLlibcore/io/ForwardingOs;->setsockoptIpMreqn(Ljava/io/FileDescriptor;III)V
+HSPLlibcore/io/Linux;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
+HSPLlibcore/util/ZoneInfo;->access$500(JI)I
+HSPLlibcore/util/ZoneInfo;->access$600(JI)I
+HSPLlibcore/util/ZoneInfo;->checked32BitAdd(JI)I
+HSPLlibcore/util/ZoneInfo;->checked32BitSubtract(JI)I
+HSPLorg/json/JSONArray;-><init>(Ljava/util/Collection;)V
+HSPLorg/json/JSONObject;->length()I
+HSPLorg/json/JSONTokener;->skipToEndOfLine()V
+HSPLsun/misc/FloatingDecimal;->appendTo(DLjava/lang/Appendable;)V
+HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIConverter(D)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
+HSPLsun/misc/FloatingDecimal;->parseDouble(Ljava/lang/String;)D
+HSPLsun/misc/FloatingDecimal;->parseFloat(Ljava/lang/String;)F
+HSPLsun/misc/FloatingDecimal;->toJavaFormatString(D)Ljava/lang/String;
+HSPLsun/nio/ch/FileChannelImpl;->release(Lsun/nio/ch/FileLockImpl;)V
+HSPLsun/nio/ch/FileLockImpl;->release()V
+HSPLsun/nio/ch/SharedFileLockTable;->remove(Ljava/nio/channels/FileLock;)V
+HSPLsun/nio/fs/NativeBuffer$Deallocator;->run()V
+HSPLsun/nio/fs/NativeBuffer;->access$000()Lsun/misc/Unsafe;
+HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;Lsun/security/jca/GetInstance$1;)V
+HSPLsun/security/jca/GetInstance$Instance;-><init>(Ljava/security/Provider;Ljava/lang/Object;)V
+HSPLsun/security/jca/GetInstance;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/security/Provider;)Lsun/security/jca/GetInstance$Instance;
+HSPLsun/security/jca/GetInstance;->getInstance(Ljava/security/Provider$Service;Ljava/lang/Class;)Lsun/security/jca/GetInstance$Instance;
+HSPLsun/util/calendar/BaseCalendar$Date;->setNormalizedDate(III)Lsun/util/calendar/BaseCalendar$Date;
+HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V
+HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V
+HSPLjava/util/Map;->forEach(Ljava/util/function/BiConsumer;)V
+HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator;
+HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;
+HSPLandroid/os/Trace;->endAsyncSection(Ljava/lang/String;I)V
+HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/bluetooth/le/ScanFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;[B[BI[B[B)V
+HSPLjava/nio/ByteBuffer;->array()Ljava/lang/Object;
+HSPLjava/nio/NIOAccess;->getBaseArray(Ljava/nio/Buffer;)Ljava/lang/Object;
+HSPLjava/nio/NIOAccess;->getBaseArrayOffset(Ljava/nio/Buffer;)I
+HSPLandroid/graphics/drawable/RotateDrawable;->draw(Landroid/graphics/Canvas;)V
+HSPLandroid/graphics/Bitmap;->checkHardware(Ljava/lang/String;)V
+HSPLandroid/graphics/Bitmap;->copyPixelsToBuffer(Ljava/nio/Buffer;)V
+HSPLandroid/graphics/Bitmap;->getDensity()I
+HSPLandroid/accounts/AccountManager;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/accounts/AccountManager;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/accounts/IAccountManager$Stub$Proxy;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onNetwork()V
+HSPLjava/util/Arrays$ArrayList;-><init>([Ljava/lang/Object;)V
+HSPLjava/util/regex/Matcher;-><init>(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
+HSPLjava/util/Map;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index 0b25b2e..8508c2c 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -168,20 +168,13 @@
public abstract boolean isUidActive(int uid);
/**
- * Returns a list that contains the memory stats for currently running processes.
+ * Returns a list of running processes along with corresponding uids, pids and their oom score.
*
* Only processes managed by ActivityManagerService are included.
*/
public abstract List<ProcessMemoryState> getMemoryStateForProcesses();
/**
- * Returns a list that contains the memory high-water mark for currently running processes.
- *
- * Only processes managed by ActivityManagerService are included.
- */
- public abstract List<ProcessMemoryHighWaterMark> getMemoryHighWaterMarkForProcesses();
-
- /**
* Checks to see if the calling pid is allowed to handle the user. Returns adjusted user id as
* needed.
*/
diff --git a/core/java/android/app/ProcessMemoryHighWaterMark.java b/core/java/android/app/ProcessMemoryHighWaterMark.java
deleted file mode 100644
index d1cae94..0000000
--- a/core/java/android/app/ProcessMemoryHighWaterMark.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.app;
-
-import android.os.Parcel;
-import android.os.Parcelable;
-
-/**
- * The memory high-water mark value for a process.
- * {@hide}
- */
-public final class ProcessMemoryHighWaterMark implements Parcelable {
- public final int uid;
- public final String processName;
- public final long rssHighWaterMarkInBytes;
-
- public ProcessMemoryHighWaterMark(int uid, String processName, long rssHighWaterMarkInBytes) {
- this.uid = uid;
- this.processName = processName;
- this.rssHighWaterMarkInBytes = rssHighWaterMarkInBytes;
- }
-
- private ProcessMemoryHighWaterMark(Parcel in) {
- uid = in.readInt();
- processName = in.readString();
- rssHighWaterMarkInBytes = in.readLong();
- }
-
- public static final @android.annotation.NonNull Creator<ProcessMemoryHighWaterMark> CREATOR =
- new Creator<ProcessMemoryHighWaterMark>() {
- @Override
- public ProcessMemoryHighWaterMark createFromParcel(Parcel in) {
- return new ProcessMemoryHighWaterMark(in);
- }
-
- @Override
- public ProcessMemoryHighWaterMark[] newArray(int size) {
- return new ProcessMemoryHighWaterMark[size];
- }
- };
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(Parcel parcel, int flags) {
- parcel.writeInt(uid);
- parcel.writeString(processName);
- parcel.writeLong(rssHighWaterMarkInBytes);
- }
-}
diff --git a/core/java/android/app/ProcessMemoryState.java b/core/java/android/app/ProcessMemoryState.java
index e28d79c..24914a6 100644
--- a/core/java/android/app/ProcessMemoryState.java
+++ b/core/java/android/app/ProcessMemoryState.java
@@ -20,44 +20,27 @@
import android.os.Parcelable;
/**
- * The memory stats for a process.
+ * State (oom score) for processes known to activity manager.
* {@hide}
*/
public final class ProcessMemoryState implements Parcelable {
public final int uid;
+ public final int pid;
public final String processName;
public final int oomScore;
- public final long pgfault;
- public final long pgmajfault;
- public final long rssInBytes;
- public final long cacheInBytes;
- public final long swapInBytes;
- public final long startTimeNanos;
- public ProcessMemoryState(int uid, String processName, int oomScore, long pgfault,
- long pgmajfault, long rssInBytes, long cacheInBytes,
- long swapInBytes, long startTimeNanos) {
+ public ProcessMemoryState(int uid, int pid, String processName, int oomScore) {
this.uid = uid;
+ this.pid = pid;
this.processName = processName;
this.oomScore = oomScore;
- this.pgfault = pgfault;
- this.pgmajfault = pgmajfault;
- this.rssInBytes = rssInBytes;
- this.cacheInBytes = cacheInBytes;
- this.swapInBytes = swapInBytes;
- this.startTimeNanos = startTimeNanos;
}
private ProcessMemoryState(Parcel in) {
uid = in.readInt();
+ pid = in.readInt();
processName = in.readString();
oomScore = in.readInt();
- pgfault = in.readLong();
- pgmajfault = in.readLong();
- rssInBytes = in.readLong();
- cacheInBytes = in.readLong();
- swapInBytes = in.readLong();
- startTimeNanos = in.readLong();
}
public static final @android.annotation.NonNull Creator<ProcessMemoryState> CREATOR = new Creator<ProcessMemoryState>() {
@@ -80,13 +63,8 @@
@Override
public void writeToParcel(Parcel parcel, int i) {
parcel.writeInt(uid);
+ parcel.writeInt(pid);
parcel.writeString(processName);
parcel.writeInt(oomScore);
- parcel.writeLong(pgfault);
- parcel.writeLong(pgmajfault);
- parcel.writeLong(rssInBytes);
- parcel.writeLong(cacheInBytes);
- parcel.writeLong(swapInBytes);
- parcel.writeLong(startTimeNanos);
}
}
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 4b9aebd..441ff6b 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -278,6 +278,7 @@
* <li>{@link #EXTRA_PROVISIONING_LOGO_URI}, optional</li>
* <li>{@link #EXTRA_PROVISIONING_MAIN_COLOR}, optional</li>
* <li>{@link #EXTRA_PROVISIONING_DISCLAIMERS}, optional</li>
+ * <li>{@link #EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS}, optional</li>
* </ul>
*
* <p>When device owner provisioning has completed, an intent of the type
@@ -385,6 +386,8 @@
* <li>{@link #EXTRA_PROVISIONING_ORGANIZATION_NAME}, optional</li>
* <li>{@link #EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE}, optional</li>
* <li>{@link #EXTRA_PROVISIONING_USE_MOBILE_DATA}, optional </li>
+ * <li>{@link #EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS}, optional - when not used for
+ * cloud enrollment, NFC or QR provisioning</li>
* </ul>
*
* @hide
@@ -1149,8 +1152,12 @@
* A boolean extra indicating if the education screens from the provisioning flow should be
* skipped. If unspecified, defaults to {@code false}.
*
- * <p>This extra can only be set by the admin app when performing the admin-integrated
- * provisioning flow as a result of the {@link #ACTION_GET_PROVISIONING_MODE} activity.
+ * <p>This extra can be set in the following ways:
+ * <ul>
+ * <li>By the admin app when performing the admin-integrated
+ * provisioning flow as a result of the {@link #ACTION_GET_PROVISIONING_MODE} activity</li>
+ * <li>With intent action {@link #ACTION_PROVISION_MANAGED_DEVICE}</li>
+ * </ul>
*
* <p>If the education screens are skipped, it is the admin application's responsibility
* to display its own user education screens.
diff --git a/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java
index 3494a7f..eb33137 100644
--- a/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java
+++ b/core/java/android/hardware/camera2/impl/CameraConstrainedHighSpeedCaptureSessionImpl.java
@@ -25,6 +25,7 @@
import android.hardware.camera2.params.StreamConfigurationMap;
import android.hardware.camera2.utils.SurfaceUtils;
import android.os.Handler;
+import android.os.ConditionVariable;
import android.util.Range;
import android.view.Surface;
@@ -51,6 +52,7 @@
extends CameraConstrainedHighSpeedCaptureSession implements CameraCaptureSessionCore {
private final CameraCharacteristics mCharacteristics;
private final CameraCaptureSessionImpl mSessionImpl;
+ private final ConditionVariable mInitialized = new ConditionVariable();
/**
* Create a new CameraCaptureSession.
@@ -68,6 +70,7 @@
CameraCaptureSession.StateCallback wrapperCallback = new WrapperCallback(callback);
mSessionImpl = new CameraCaptureSessionImpl(id, /*input*/null, wrapperCallback,
stateExecutor, deviceImpl, deviceStateExecutor, configureSuccess);
+ mInitialized.open();
}
@Override
@@ -321,11 +324,13 @@
@Override
public void onConfigured(CameraCaptureSession session) {
+ mInitialized.block();
mCallback.onConfigured(CameraConstrainedHighSpeedCaptureSessionImpl.this);
}
@Override
public void onConfigureFailed(CameraCaptureSession session) {
+ mInitialized.block();
mCallback.onConfigureFailed(CameraConstrainedHighSpeedCaptureSessionImpl.this);
}
diff --git a/core/java/android/net/INetworkStatsService.aidl b/core/java/android/net/INetworkStatsService.aidl
index 41efc50..e5f3d26 100644
--- a/core/java/android/net/INetworkStatsService.aidl
+++ b/core/java/android/net/INetworkStatsService.aidl
@@ -66,7 +66,6 @@
/** Force update of ifaces. */
void forceUpdateIfaces(
in Network[] defaultNetworks,
- in VpnInfo[] vpnArray,
in NetworkState[] networkStates,
in String activeIface);
/** Force update of statistics. */
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index e892b65..6c7aa13 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -18,11 +18,11 @@
import static android.os.Process.CLAT_UID;
+import android.annotation.NonNull;
import android.annotation.UnsupportedAppUsage;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.SystemClock;
-import android.util.Slog;
import android.util.SparseBooleanArray;
import com.android.internal.annotations.VisibleForTesting;
@@ -36,6 +36,7 @@
import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
+import java.util.function.Predicate;
/**
* Collection of active network statistics. Can contain summary details across
@@ -993,23 +994,33 @@
if (limitUid == UID_ALL && limitTag == TAG_ALL && limitIfaces == INTERFACES_ALL) {
return;
}
+ filter(e -> (limitUid == UID_ALL || limitUid == e.uid)
+ && (limitTag == TAG_ALL || limitTag == e.tag)
+ && (limitIfaces == INTERFACES_ALL
+ || ArrayUtils.contains(limitIfaces, e.iface)));
+ }
+ /**
+ * Only keep entries with {@link #set} value less than {@link #SET_DEBUG_START}.
+ *
+ * <p>This mutates the original structure in place.
+ */
+ public void filterDebugEntries() {
+ filter(e -> e.set < SET_DEBUG_START);
+ }
+
+ private void filter(Predicate<Entry> predicate) {
Entry entry = new Entry();
int nextOutputEntry = 0;
for (int i = 0; i < size; i++) {
entry = getValues(i, entry);
- final boolean matches =
- (limitUid == UID_ALL || limitUid == entry.uid)
- && (limitTag == TAG_ALL || limitTag == entry.tag)
- && (limitIfaces == INTERFACES_ALL
- || ArrayUtils.contains(limitIfaces, entry.iface));
-
- if (matches) {
- setValues(nextOutputEntry, entry);
+ if (predicate.test(entry)) {
+ if (nextOutputEntry != i) {
+ setValues(nextOutputEntry, entry);
+ }
nextOutputEntry++;
}
}
-
size = nextOutputEntry;
}
@@ -1175,133 +1186,221 @@
/**
* VPN accounting. Move some VPN's underlying traffic to other UIDs that use tun0 iface.
*
- * This method should only be called on delta NetworkStats. Do not call this method on a
- * snapshot {@link NetworkStats} object because the tunUid and/or the underlyingIface may
- * change over time.
+ * <p>This method should only be called on delta NetworkStats. Do not call this method on a
+ * snapshot {@link NetworkStats} object because the tunUid and/or the underlyingIface may change
+ * over time.
*
- * This method performs adjustments for one active VPN package and one VPN iface at a time.
- *
- * It is possible for the VPN software to use multiple underlying networks. This method
- * only migrates traffic for the primary underlying network.
+ * <p>This method performs adjustments for one active VPN package and one VPN iface at a time.
*
* @param tunUid uid of the VPN application
* @param tunIface iface of the vpn tunnel
- * @param underlyingIface the primary underlying network iface used by the VPN application
- * @return true if it successfully adjusts the accounting for VPN, false otherwise
+ * @param underlyingIfaces underlying network ifaces used by the VPN application
*/
- public boolean migrateTun(int tunUid, String tunIface, String underlyingIface) {
- Entry tunIfaceTotal = new Entry();
- Entry underlyingIfaceTotal = new Entry();
+ public void migrateTun(int tunUid, @NonNull String tunIface,
+ @NonNull String[] underlyingIfaces) {
+ // Combined usage by all apps using VPN.
+ final Entry tunIfaceTotal = new Entry();
+ // Usage by VPN, grouped by its {@code underlyingIfaces}.
+ final Entry[] perInterfaceTotal = new Entry[underlyingIfaces.length];
+ // Usage by VPN, summed across all its {@code underlyingIfaces}.
+ final Entry underlyingIfacesTotal = new Entry();
- tunAdjustmentInit(tunUid, tunIface, underlyingIface, tunIfaceTotal, underlyingIfaceTotal);
+ for (int i = 0; i < perInterfaceTotal.length; i++) {
+ perInterfaceTotal[i] = new Entry();
+ }
- // If tunIface < underlyingIface, it leaves the overhead traffic in the VPN app.
- // If tunIface > underlyingIface, the VPN app doesn't get credit for data compression.
+ tunAdjustmentInit(tunUid, tunIface, underlyingIfaces, tunIfaceTotal, perInterfaceTotal,
+ underlyingIfacesTotal);
+
+ // If tunIface < underlyingIfacesTotal, it leaves the overhead traffic in the VPN app.
+ // If tunIface > underlyingIfacesTotal, the VPN app doesn't get credit for data compression.
// Negative stats should be avoided.
- Entry pool = tunGetPool(tunIfaceTotal, underlyingIfaceTotal);
- if (pool.isEmpty()) {
- return true;
- }
- Entry moved =
- addTrafficToApplications(tunUid, tunIface, underlyingIface, tunIfaceTotal, pool);
- deductTrafficFromVpnApp(tunUid, underlyingIface, moved);
-
- if (!moved.isEmpty()) {
- Slog.wtf(TAG, "Failed to deduct underlying network traffic from VPN package. Moved="
- + moved);
- return false;
- }
- return true;
+ final Entry[] moved =
+ addTrafficToApplications(tunUid, tunIface, underlyingIfaces, tunIfaceTotal,
+ perInterfaceTotal, underlyingIfacesTotal);
+ deductTrafficFromVpnApp(tunUid, underlyingIfaces, moved);
}
/**
* Initializes the data used by the migrateTun() method.
*
- * This is the first pass iteration which does the following work:
- * (1) Adds up all the traffic through the tunUid's underlyingIface
- * (both foreground and background).
- * (2) Adds up all the traffic through tun0 excluding traffic from the vpn app itself.
+ * <p>This is the first pass iteration which does the following work:
+ *
+ * <ul>
+ * <li>Adds up all the traffic through the tunUid's underlyingIfaces (both foreground and
+ * background).
+ * <li>Adds up all the traffic through tun0 excluding traffic from the vpn app itself.
+ * </ul>
+ *
+ * @param tunUid uid of the VPN application
+ * @param tunIface iface of the vpn tunnel
+ * @param underlyingIfaces underlying network ifaces used by the VPN application
+ * @param tunIfaceTotal output parameter; combined data usage by all apps using VPN
+ * @param perInterfaceTotal output parameter; data usage by VPN app, grouped by its {@code
+ * underlyingIfaces}
+ * @param underlyingIfacesTotal output parameter; data usage by VPN, summed across all of its
+ * {@code underlyingIfaces}
*/
- private void tunAdjustmentInit(int tunUid, String tunIface, String underlyingIface,
- Entry tunIfaceTotal, Entry underlyingIfaceTotal) {
- Entry recycle = new Entry();
+ private void tunAdjustmentInit(int tunUid, @NonNull String tunIface,
+ @NonNull String[] underlyingIfaces, @NonNull Entry tunIfaceTotal,
+ @NonNull Entry[] perInterfaceTotal, @NonNull Entry underlyingIfacesTotal) {
+ final Entry recycle = new Entry();
for (int i = 0; i < size; i++) {
getValues(i, recycle);
if (recycle.uid == UID_ALL) {
throw new IllegalStateException(
"Cannot adjust VPN accounting on an iface aggregated NetworkStats.");
- } if (recycle.set == SET_DBG_VPN_IN || recycle.set == SET_DBG_VPN_OUT) {
+ }
+ if (recycle.set == SET_DBG_VPN_IN || recycle.set == SET_DBG_VPN_OUT) {
throw new IllegalStateException(
"Cannot adjust VPN accounting on a NetworkStats containing SET_DBG_VPN_*");
}
-
- if (recycle.uid == tunUid && recycle.tag == TAG_NONE
- && Objects.equals(underlyingIface, recycle.iface)) {
- underlyingIfaceTotal.add(recycle);
+ if (recycle.tag != TAG_NONE) {
+ // TODO(b/123666283): Take all tags for tunUid into account.
+ continue;
}
- if (recycle.uid != tunUid && recycle.tag == TAG_NONE
- && Objects.equals(tunIface, recycle.iface)) {
+ if (recycle.uid == tunUid) {
+ // Add up traffic through tunUid's underlying interfaces.
+ for (int j = 0; j < underlyingIfaces.length; j++) {
+ if (Objects.equals(underlyingIfaces[j], recycle.iface)) {
+ perInterfaceTotal[j].add(recycle);
+ underlyingIfacesTotal.add(recycle);
+ break;
+ }
+ }
+ } else if (tunIface.equals(recycle.iface)) {
// Add up all tunIface traffic excluding traffic from the vpn app itself.
tunIfaceTotal.add(recycle);
}
}
}
- private static Entry tunGetPool(Entry tunIfaceTotal, Entry underlyingIfaceTotal) {
- Entry pool = new Entry();
- pool.rxBytes = Math.min(tunIfaceTotal.rxBytes, underlyingIfaceTotal.rxBytes);
- pool.rxPackets = Math.min(tunIfaceTotal.rxPackets, underlyingIfaceTotal.rxPackets);
- pool.txBytes = Math.min(tunIfaceTotal.txBytes, underlyingIfaceTotal.txBytes);
- pool.txPackets = Math.min(tunIfaceTotal.txPackets, underlyingIfaceTotal.txPackets);
- pool.operations = Math.min(tunIfaceTotal.operations, underlyingIfaceTotal.operations);
- return pool;
- }
+ /**
+ * Distributes traffic across apps that are using given {@code tunIface}, and returns the total
+ * traffic that should be moved off of {@code tunUid} grouped by {@code underlyingIfaces}.
+ *
+ * @param tunUid uid of the VPN application
+ * @param tunIface iface of the vpn tunnel
+ * @param underlyingIfaces underlying network ifaces used by the VPN application
+ * @param tunIfaceTotal combined data usage across all apps using {@code tunIface}
+ * @param perInterfaceTotal data usage by VPN app, grouped by its {@code underlyingIfaces}
+ * @param underlyingIfacesTotal data usage by VPN, summed across all of its {@code
+ * underlyingIfaces}
+ */
+ private Entry[] addTrafficToApplications(int tunUid, @NonNull String tunIface,
+ @NonNull String[] underlyingIfaces, @NonNull Entry tunIfaceTotal,
+ @NonNull Entry[] perInterfaceTotal, @NonNull Entry underlyingIfacesTotal) {
+ // Traffic that should be moved off of each underlying interface for tunUid (see
+ // deductTrafficFromVpnApp below).
+ final Entry[] moved = new Entry[underlyingIfaces.length];
+ for (int i = 0; i < underlyingIfaces.length; i++) {
+ moved[i] = new Entry();
+ }
- private Entry addTrafficToApplications(int tunUid, String tunIface, String underlyingIface,
- Entry tunIfaceTotal, Entry pool) {
- Entry moved = new Entry();
- Entry tmpEntry = new Entry();
- tmpEntry.iface = underlyingIface;
- for (int i = 0; i < size; i++) {
- // the vpn app is excluded from the redistribution but all moved traffic will be
- // deducted from the vpn app (see deductTrafficFromVpnApp below).
- if (Objects.equals(iface[i], tunIface) && uid[i] != tunUid) {
- if (tunIfaceTotal.rxBytes > 0) {
- tmpEntry.rxBytes = pool.rxBytes * rxBytes[i] / tunIfaceTotal.rxBytes;
- } else {
- tmpEntry.rxBytes = 0;
- }
- if (tunIfaceTotal.rxPackets > 0) {
- tmpEntry.rxPackets = pool.rxPackets * rxPackets[i] / tunIfaceTotal.rxPackets;
- } else {
- tmpEntry.rxPackets = 0;
- }
- if (tunIfaceTotal.txBytes > 0) {
- tmpEntry.txBytes = pool.txBytes * txBytes[i] / tunIfaceTotal.txBytes;
- } else {
- tmpEntry.txBytes = 0;
- }
- if (tunIfaceTotal.txPackets > 0) {
- tmpEntry.txPackets = pool.txPackets * txPackets[i] / tunIfaceTotal.txPackets;
- } else {
- tmpEntry.txPackets = 0;
- }
- if (tunIfaceTotal.operations > 0) {
- tmpEntry.operations =
- pool.operations * operations[i] / tunIfaceTotal.operations;
- } else {
- tmpEntry.operations = 0;
- }
- tmpEntry.uid = uid[i];
- tmpEntry.tag = tag[i];
+ final Entry tmpEntry = new Entry();
+ final int origSize = size;
+ for (int i = 0; i < origSize; i++) {
+ if (!Objects.equals(iface[i], tunIface)) {
+ // Consider only entries that go onto the VPN interface.
+ continue;
+ }
+ if (uid[i] == tunUid) {
+ // Exclude VPN app from the redistribution, as it can choose to create packet
+ // streams by writing to itself.
+ continue;
+ }
+ tmpEntry.uid = uid[i];
+ tmpEntry.tag = tag[i];
+ tmpEntry.metered = metered[i];
+ tmpEntry.roaming = roaming[i];
+ tmpEntry.defaultNetwork = defaultNetwork[i];
+
+ // In a first pass, compute this entry's total share of data across all
+ // underlyingIfaces. This is computed on the basis of the share of this entry's usage
+ // over tunIface.
+ // TODO: Consider refactoring first pass into a separate helper method.
+ long totalRxBytes = 0;
+ if (tunIfaceTotal.rxBytes > 0) {
+ // Note - The multiplication below should not overflow since NetworkStatsService
+ // processes this every time device has transmitted/received amount equivalent to
+ // global threshold alert (~ 2MB) across all interfaces.
+ final long rxBytesAcrossUnderlyingIfaces =
+ underlyingIfacesTotal.rxBytes * rxBytes[i] / tunIfaceTotal.rxBytes;
+ // app must not be blamed for more than it consumed on tunIface
+ totalRxBytes = Math.min(rxBytes[i], rxBytesAcrossUnderlyingIfaces);
+ }
+ long totalRxPackets = 0;
+ if (tunIfaceTotal.rxPackets > 0) {
+ final long rxPacketsAcrossUnderlyingIfaces =
+ underlyingIfacesTotal.rxPackets * rxPackets[i] / tunIfaceTotal.rxPackets;
+ totalRxPackets = Math.min(rxPackets[i], rxPacketsAcrossUnderlyingIfaces);
+ }
+ long totalTxBytes = 0;
+ if (tunIfaceTotal.txBytes > 0) {
+ final long txBytesAcrossUnderlyingIfaces =
+ underlyingIfacesTotal.txBytes * txBytes[i] / tunIfaceTotal.txBytes;
+ totalTxBytes = Math.min(txBytes[i], txBytesAcrossUnderlyingIfaces);
+ }
+ long totalTxPackets = 0;
+ if (tunIfaceTotal.txPackets > 0) {
+ final long txPacketsAcrossUnderlyingIfaces =
+ underlyingIfacesTotal.txPackets * txPackets[i] / tunIfaceTotal.txPackets;
+ totalTxPackets = Math.min(txPackets[i], txPacketsAcrossUnderlyingIfaces);
+ }
+ long totalOperations = 0;
+ if (tunIfaceTotal.operations > 0) {
+ final long operationsAcrossUnderlyingIfaces =
+ underlyingIfacesTotal.operations * operations[i] / tunIfaceTotal.operations;
+ totalOperations = Math.min(operations[i], operationsAcrossUnderlyingIfaces);
+ }
+ // In a second pass, distribute these values across interfaces in the proportion that
+ // each interface represents of the total traffic of the underlying interfaces.
+ for (int j = 0; j < underlyingIfaces.length; j++) {
+ tmpEntry.iface = underlyingIfaces[j];
+ tmpEntry.rxBytes = 0;
+ // Reset 'set' to correct value since it gets updated when adding debug info below.
tmpEntry.set = set[i];
- tmpEntry.metered = metered[i];
- tmpEntry.roaming = roaming[i];
- tmpEntry.defaultNetwork = defaultNetwork[i];
+ if (underlyingIfacesTotal.rxBytes > 0) {
+ tmpEntry.rxBytes =
+ totalRxBytes
+ * perInterfaceTotal[j].rxBytes
+ / underlyingIfacesTotal.rxBytes;
+ }
+ tmpEntry.rxPackets = 0;
+ if (underlyingIfacesTotal.rxPackets > 0) {
+ tmpEntry.rxPackets =
+ totalRxPackets
+ * perInterfaceTotal[j].rxPackets
+ / underlyingIfacesTotal.rxPackets;
+ }
+ tmpEntry.txBytes = 0;
+ if (underlyingIfacesTotal.txBytes > 0) {
+ tmpEntry.txBytes =
+ totalTxBytes
+ * perInterfaceTotal[j].txBytes
+ / underlyingIfacesTotal.txBytes;
+ }
+ tmpEntry.txPackets = 0;
+ if (underlyingIfacesTotal.txPackets > 0) {
+ tmpEntry.txPackets =
+ totalTxPackets
+ * perInterfaceTotal[j].txPackets
+ / underlyingIfacesTotal.txPackets;
+ }
+ tmpEntry.operations = 0;
+ if (underlyingIfacesTotal.operations > 0) {
+ tmpEntry.operations =
+ totalOperations
+ * perInterfaceTotal[j].operations
+ / underlyingIfacesTotal.operations;
+ }
+ // tmpEntry now contains the migrated data of the i-th entry for the j-th underlying
+ // interface. Add that data usage to this object.
combineValues(tmpEntry);
if (tag[i] == TAG_NONE) {
- moved.add(tmpEntry);
+ // Add the migrated data to moved so it is deducted from the VPN app later.
+ moved[j].add(tmpEntry);
// Add debug info
tmpEntry.set = SET_DBG_VPN_IN;
combineValues(tmpEntry);
@@ -1311,38 +1410,45 @@
return moved;
}
- private void deductTrafficFromVpnApp(int tunUid, String underlyingIface, Entry moved) {
- // Add debug info
- moved.uid = tunUid;
- moved.set = SET_DBG_VPN_OUT;
- moved.tag = TAG_NONE;
- moved.iface = underlyingIface;
- moved.metered = METERED_ALL;
- moved.roaming = ROAMING_ALL;
- moved.defaultNetwork = DEFAULT_NETWORK_ALL;
- combineValues(moved);
+ private void deductTrafficFromVpnApp(
+ int tunUid,
+ @NonNull String[] underlyingIfaces,
+ @NonNull Entry[] moved) {
+ for (int i = 0; i < underlyingIfaces.length; i++) {
+ moved[i].uid = tunUid;
+ // Add debug info
+ moved[i].set = SET_DBG_VPN_OUT;
+ moved[i].tag = TAG_NONE;
+ moved[i].iface = underlyingIfaces[i];
+ moved[i].metered = METERED_ALL;
+ moved[i].roaming = ROAMING_ALL;
+ moved[i].defaultNetwork = DEFAULT_NETWORK_ALL;
+ combineValues(moved[i]);
- // Caveat: if the vpn software uses tag, the total tagged traffic may be greater than
- // the TAG_NONE traffic.
- //
- // Relies on the fact that the underlying traffic only has state ROAMING_NO and METERED_NO,
- // which should be the case as it comes directly from the /proc file. We only blend in the
- // roaming data after applying these adjustments, by checking the NetworkIdentity of the
- // underlying iface.
- int idxVpnBackground = findIndex(underlyingIface, tunUid, SET_DEFAULT, TAG_NONE,
- METERED_NO, ROAMING_NO, DEFAULT_NETWORK_NO);
- if (idxVpnBackground != -1) {
- tunSubtract(idxVpnBackground, this, moved);
- }
+ // Caveat: if the vpn software uses tag, the total tagged traffic may be greater than
+ // the TAG_NONE traffic.
+ //
+ // Relies on the fact that the underlying traffic only has state ROAMING_NO and
+ // METERED_NO, which should be the case as it comes directly from the /proc file.
+ // We only blend in the roaming data after applying these adjustments, by checking the
+ // NetworkIdentity of the underlying iface.
+ final int idxVpnBackground = findIndex(underlyingIfaces[i], tunUid, SET_DEFAULT,
+ TAG_NONE, METERED_NO, ROAMING_NO, DEFAULT_NETWORK_NO);
+ if (idxVpnBackground != -1) {
+ // Note - tunSubtract also updates moved[i]; whatever traffic that's left is removed
+ // from foreground usage.
+ tunSubtract(idxVpnBackground, this, moved[i]);
+ }
- int idxVpnForeground = findIndex(underlyingIface, tunUid, SET_FOREGROUND, TAG_NONE,
- METERED_NO, ROAMING_NO, DEFAULT_NETWORK_NO);
- if (idxVpnForeground != -1) {
- tunSubtract(idxVpnForeground, this, moved);
+ final int idxVpnForeground = findIndex(underlyingIfaces[i], tunUid, SET_FOREGROUND,
+ TAG_NONE, METERED_NO, ROAMING_NO, DEFAULT_NETWORK_NO);
+ if (idxVpnForeground != -1) {
+ tunSubtract(idxVpnForeground, this, moved[i]);
+ }
}
}
- private static void tunSubtract(int i, NetworkStats left, Entry right) {
+ private static void tunSubtract(int i, @NonNull NetworkStats left, @NonNull Entry right) {
long rxBytes = Math.min(left.rxBytes[i], right.rxBytes);
left.rxBytes[i] -= rxBytes;
right.rxBytes -= rxBytes;
diff --git a/core/java/android/os/IVibratorService.aidl b/core/java/android/os/IVibratorService.aidl
index e8b3ca6..1456ff7 100644
--- a/core/java/android/os/IVibratorService.aidl
+++ b/core/java/android/os/IVibratorService.aidl
@@ -16,6 +16,7 @@
package android.os;
+import android.media.AudioAttributes;
import android.os.VibrationEffect;
/** {@hide} */
@@ -23,8 +24,8 @@
{
boolean hasVibrator();
boolean hasAmplitudeControl();
- void vibrate(int uid, String opPkg, in VibrationEffect effect, int usageHint, String reason,
- IBinder token);
+ void vibrate(int uid, String opPkg, in VibrationEffect effect, in AudioAttributes attributes,
+ String reason, IBinder token);
void cancelVibrate(IBinder token);
}
diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java
index 8938ddd..48fc2a6 100644
--- a/core/java/android/os/RecoverySystem.java
+++ b/core/java/android/os/RecoverySystem.java
@@ -30,7 +30,6 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
-import android.os.storage.IStorageManager;
import android.provider.Settings;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
@@ -41,8 +40,6 @@
import android.view.Display;
import android.view.WindowManager;
-import com.android.internal.content.PackageHelper;
-
import libcore.io.Streams;
import java.io.ByteArrayInputStream;
@@ -977,18 +974,31 @@
public static void rebootPromptAndWipeUserData(Context context, String reason)
throws IOException {
boolean checkpointing = false;
+ boolean needReboot = false;
+ IVold vold = null;
+ try {
+ vold = IVold.Stub.asInterface(ServiceManager.checkService("vold"));
+ if (vold != null) {
+ checkpointing = vold.needsCheckpoint();
+ } else {
+ Log.w(TAG, "Failed to get vold");
+ }
+ } catch (Exception e) {
+ Log.w(TAG, "Failed to check for checkpointing");
+ }
// If we are running in checkpointing mode, we should not prompt a wipe.
// Checkpointing may save us. If it doesn't, we will wind up here again.
- try {
- IStorageManager storageManager = PackageHelper.getStorageManager();
- if (storageManager.needsCheckpoint()) {
- Log.i(TAG, "Rescue Party requested wipe. Aborting update instead.");
- storageManager.abortChanges("rescueparty", false);
- return;
+ if (checkpointing) {
+ try {
+ vold.abortChanges("rescueparty", false);
+ Log.i(TAG, "Rescue Party requested wipe. Aborting update");
+ } catch (Exception e) {
+ Log.i(TAG, "Rescue Party requested wipe. Rebooting instead.");
+ PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
+ pm.reboot("rescueparty");
}
- } catch (RemoteException e) {
- Log.i(TAG, "Failed to handle with checkpointing. Continuing with wipe.");
+ return;
}
String reasonArg = null;
diff --git a/core/java/android/os/SystemVibrator.java b/core/java/android/os/SystemVibrator.java
index 4af514a..a5188e7 100644
--- a/core/java/android/os/SystemVibrator.java
+++ b/core/java/android/os/SystemVibrator.java
@@ -77,16 +77,12 @@
return;
}
try {
- mService.vibrate(uid, opPkg, effect, usageForAttributes(attributes), reason, mToken);
+ mService.vibrate(uid, opPkg, effect, attributes, reason, mToken);
} catch (RemoteException e) {
Log.w(TAG, "Failed to vibrate.", e);
}
}
- private static int usageForAttributes(AudioAttributes attributes) {
- return attributes != null ? attributes.getUsage() : AudioAttributes.USAGE_UNKNOWN;
- }
-
@Override
public void cancel() {
if (mService == null) {
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index b3aa8ff..83e636b 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -6321,13 +6321,15 @@
"lock_screen_allow_remote_input";
/**
- * Indicates which clock face to show on lock screen and AOD.
+ * Indicates which clock face to show on lock screen and AOD formatted as a serialized
+ * {@link org.json.JSONObject} with the format:
+ * {"clock": id, "_applied_timestamp": timestamp}
* @hide
*/
public static final String LOCK_SCREEN_CUSTOM_CLOCK_FACE = "lock_screen_custom_clock_face";
private static final Validator LOCK_SCREEN_CUSTOM_CLOCK_FACE_VALIDATOR =
- ANY_STRING_VALIDATOR;
+ SettingsValidators.JSON_OBJECT_VALIDATOR;
/**
* Indicates which clock face to show on lock screen and AOD while docked.
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java
index bf0ef94..2c2c295 100644
--- a/core/java/android/text/Layout.java
+++ b/core/java/android/text/Layout.java
@@ -1122,6 +1122,9 @@
if (limit > lineEnd) {
limit = lineEnd;
}
+ if (limit == start) {
+ continue;
+ }
level[limit - lineStart - 1] =
(byte) ((runs[i + 1] >>> RUN_LEVEL_SHIFT) & RUN_LEVEL_MASK);
}
@@ -1220,8 +1223,8 @@
}
/**
- * Computes in linear time the results of calling
- * #getHorizontal for all offsets on a line.
+ * Computes in linear time the results of calling #getHorizontal for all offsets on a line.
+ *
* @param line The line giving the offsets we compute information for
* @param clamped Whether to clamp the results to the width of the layout
* @param primary Whether the results should be the primary or the secondary horizontal
@@ -1257,7 +1260,7 @@
TextLine.recycle(tl);
if (clamped) {
- for (int offset = 0; offset <= wid.length; ++offset) {
+ for (int offset = 0; offset < wid.length; ++offset) {
if (wid[offset] > mWidth) {
wid[offset] = mWidth;
}
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 30bb2bb..440df89 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1131,7 +1131,13 @@
*/
public void registerRtFrameCallback(FrameDrawingCallback callback) {
if (mAttachInfo.mThreadedRenderer != null) {
- mAttachInfo.mThreadedRenderer.registerRtFrameCallback(callback);
+ mAttachInfo.mThreadedRenderer.registerRtFrameCallback(frame -> {
+ try {
+ callback.onFrameDraw(frame);
+ } catch (Exception e) {
+ Log.e(TAG, "Exception while executing onFrameDraw", e);
+ }
+ });
}
}
@@ -4620,6 +4626,7 @@
final int displayId = args.argi3;
MergedConfiguration mergedConfiguration = (MergedConfiguration) args.arg4;
final boolean displayChanged = mDisplay.getDisplayId() != displayId;
+ boolean configChanged = false;
if (!mLastReportedMergedConfiguration.equals(mergedConfiguration)) {
// If configuration changed - notify about that and, maybe,
@@ -4627,6 +4634,7 @@
performConfigurationChange(mergedConfiguration, false /* force */,
displayChanged
? displayId : INVALID_DISPLAY /* same display */);
+ configChanged = true;
} else if (displayChanged) {
// Moved to display without config change - report last applied one.
onMovedToDisplay(displayId, mLastConfigurationFromResources);
@@ -4657,7 +4665,7 @@
reportNextDraw();
}
- if (mView != null && framesChanged) {
+ if (mView != null && (framesChanged || configChanged)) {
forceLayout(mView);
}
requestLayout();
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 1f89de8..2e5a750 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -319,6 +319,12 @@
int TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER = 0x4;
/**
+ * Transition flag: Keyguard is going away with subtle animation.
+ * @hide
+ */
+ int TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION = 0x8;
+
+ /**
* @hide
*/
@IntDef(flag = true, prefix = { "TRANSIT_FLAG_" }, value = {
diff --git a/core/java/android/view/WindowManagerPolicyConstants.java b/core/java/android/view/WindowManagerPolicyConstants.java
index 46a59f0..a22f5a5 100644
--- a/core/java/android/view/WindowManagerPolicyConstants.java
+++ b/core/java/android/view/WindowManagerPolicyConstants.java
@@ -38,10 +38,11 @@
int FLAG_INTERACTIVE = 0x20000000;
int FLAG_PASS_TO_USER = 0x40000000;
- // Flags for IActivityManager.keyguardGoingAway()
+ // Flags for IActivityTaskManager.keyguardGoingAway()
int KEYGUARD_GOING_AWAY_FLAG_TO_SHADE = 1 << 0;
int KEYGUARD_GOING_AWAY_FLAG_NO_WINDOW_ANIMATIONS = 1 << 1;
int KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER = 1 << 2;
+ int KEYGUARD_GOING_AWAY_FLAG_SUBTLE_WINDOW_ANIMATIONS = 1 << 3;
// Flags used for indicating whether the internal and/or external input devices
// of some type are available.
diff --git a/core/java/android/view/contentcapture/MainContentCaptureSession.java b/core/java/android/view/contentcapture/MainContentCaptureSession.java
index c5a5f73..cee7943 100644
--- a/core/java/android/view/contentcapture/MainContentCaptureSession.java
+++ b/core/java/android/view/contentcapture/MainContentCaptureSession.java
@@ -428,14 +428,16 @@
}
final int flushFrequencyMs;
- if (reason == FLUSH_REASON_IDLE_TIMEOUT) {
- flushFrequencyMs = mManager.mOptions.idleFlushingFrequencyMs;
- } else if (reason == FLUSH_REASON_TEXT_CHANGE_TIMEOUT) {
+ if (reason == FLUSH_REASON_TEXT_CHANGE_TIMEOUT) {
flushFrequencyMs = mManager.mOptions.textChangeFlushingFrequencyMs;
} else {
- Log.e(TAG, "handleScheduleFlush(" + getDebugState(reason) + "): not called with a "
- + "timeout reason.");
- return;
+ if (reason != FLUSH_REASON_IDLE_TIMEOUT) {
+ if (sDebug) {
+ Log.d(TAG, "handleScheduleFlush(" + getDebugState(reason) + "): not a timeout "
+ + "reason because mDirectServiceInterface is not ready yet");
+ }
+ }
+ flushFrequencyMs = mManager.mOptions.idleFlushingFrequencyMs;
}
mNextFlush = System.currentTimeMillis() + flushFrequencyMs;
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 5294714..f9d27bb 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -2327,10 +2327,12 @@
private static final int MAX_SUGGESTED_APP_TARGETS = 4;
private static final int MAX_CHOOSER_TARGETS_PER_APP = 2;
- private static final int MAX_SHORTCUT_TARGETS_PER_APP = 8;
private static final int MAX_SERVICE_TARGETS = 8;
+ private final int mMaxShortcutTargetsPerApp =
+ getResources().getInteger(R.integer.config_maxShortcutTargetsPerApp);
+
private int mNumShortcutResults = 0;
// Reserve spots for incoming direct share targets by adding placeholders
@@ -2648,7 +2650,7 @@
final float baseScore = getBaseScore(origTarget, isShortcutResult);
Collections.sort(targets, mBaseTargetComparator);
- final int maxTargets = isShortcutResult ? MAX_SHORTCUT_TARGETS_PER_APP
+ final int maxTargets = isShortcutResult ? mMaxShortcutTargetsPerApp
: MAX_CHOOSER_TARGETS_PER_APP;
float lastScore = 0;
boolean shouldNotify = false;
diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
index f560701..a2c19e1 100644
--- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
+++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
@@ -187,6 +187,12 @@
* Allow touch passthrough above assist area during a session.
*/
public static final String ASSIST_TAP_PASSTHROUGH = "assist_tap_passthrough";
+
+ /**
+ * (bool) Whether to use the new BrightLineFalsingManager.
+ */
+ public static final String BRIGHTLINE_FALSING_MANAGER_ENABLED =
+ "brightline_falsing_manager_enabled";
private SystemUiDeviceConfigFlags() { }
}
diff --git a/core/java/com/android/internal/net/VpnInfo.java b/core/java/com/android/internal/net/VpnInfo.java
index b1a41287..e74af5e 100644
--- a/core/java/com/android/internal/net/VpnInfo.java
+++ b/core/java/com/android/internal/net/VpnInfo.java
@@ -19,6 +19,8 @@
import android.os.Parcel;
import android.os.Parcelable;
+import java.util.Arrays;
+
/**
* A lightweight container used to carry information of the ongoing VPN.
* Internal use only..
@@ -28,14 +30,14 @@
public class VpnInfo implements Parcelable {
public int ownerUid;
public String vpnIface;
- public String primaryUnderlyingIface;
+ public String[] underlyingIfaces;
@Override
public String toString() {
return "VpnInfo{"
+ "ownerUid=" + ownerUid
+ ", vpnIface='" + vpnIface + '\''
- + ", primaryUnderlyingIface='" + primaryUnderlyingIface + '\''
+ + ", underlyingIfaces='" + Arrays.toString(underlyingIfaces) + '\''
+ '}';
}
@@ -48,7 +50,7 @@
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(ownerUid);
dest.writeString(vpnIface);
- dest.writeString(primaryUnderlyingIface);
+ dest.writeStringArray(underlyingIfaces);
}
public static final Parcelable.Creator<VpnInfo> CREATOR = new Parcelable.Creator<VpnInfo>() {
@@ -57,7 +59,7 @@
VpnInfo info = new VpnInfo();
info.ownerUid = source.readInt();
info.vpnIface = source.readString();
- info.primaryUnderlyingIface = source.readString();
+ info.underlyingIfaces = source.readStringArray();
return info;
}
diff --git a/core/java/com/android/internal/policy/DecorContext.java b/core/java/com/android/internal/policy/DecorContext.java
index 56a40a3..da1b72f0 100644
--- a/core/java/com/android/internal/policy/DecorContext.java
+++ b/core/java/com/android/internal/policy/DecorContext.java
@@ -16,6 +16,7 @@
package com.android.internal.policy;
+import android.content.AutofillOptions;
import android.content.ContentCaptureOptions;
import android.content.Context;
import android.content.res.AssetManager;
@@ -98,6 +99,15 @@
}
@Override
+ public AutofillOptions getAutofillOptions() {
+ Context activityContext = mActivityContext.get();
+ if (activityContext != null) {
+ return activityContext.getAutofillOptions();
+ }
+ return null;
+ }
+
+ @Override
public ContentCaptureOptions getContentCaptureOptions() {
Context activityContext = mActivityContext.get();
if (activityContext != null) {
diff --git a/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java b/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java
index 1bbd87c..82593b5 100755
--- a/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java
+++ b/core/java/com/android/internal/util/function/pooled/PooledLambdaImpl.java
@@ -637,6 +637,7 @@
private static String argCountPrefix(int argCount) {
switch (argCount) {
case MASK_ARG_COUNT: return "";
+ case 0: return "";
case 1: return "";
case 2: return "Bi";
case 3: return "Tri";
@@ -646,7 +647,7 @@
case 7: return "Hept";
case 8: return "Oct";
case 9: return "Nona";
- default: throw new IllegalArgumentException("" + argCount);
+ default: return "" + argCount + "arg";
}
}
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index 4783a25..82c27f0 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -1160,6 +1160,7 @@
/*
* Grant the following capabilities to the Bluetooth user:
* - CAP_WAKE_ALARM
+ * - CAP_NET_ADMIN
* - CAP_NET_RAW
* - CAP_NET_BIND_SERVICE (for DHCP client functionality)
* - CAP_SYS_NICE (for setting RT priority for audio-related threads)
@@ -1167,6 +1168,7 @@
if (multiuser_get_app_id(uid) == AID_BLUETOOTH) {
capabilities |= (1LL << CAP_WAKE_ALARM);
+ capabilities |= (1LL << CAP_NET_ADMIN);
capabilities |= (1LL << CAP_NET_RAW);
capabilities |= (1LL << CAP_NET_BIND_SERVICE);
capabilities |= (1LL << CAP_SYS_NICE);
diff --git a/core/proto/android/app/settings_enums.proto b/core/proto/android/app/settings_enums.proto
index 4b6a6de..c023438 100644
--- a/core/proto/android/app/settings_enums.proto
+++ b/core/proto/android/app/settings_enums.proto
@@ -2053,7 +2053,7 @@
// OS: P
WIFI_SCANNING_NEEDED_DIALOG = 1373;
- // OPEN: Settings > System > Gestures > Swipe up gesture
+ // OPEN: Settings > System > Gestures > System navigation
// CATEGORY: SETTINGS
// OS: P
SETTINGS_GESTURE_SWIPE_UP = 1374;
@@ -2374,6 +2374,11 @@
// Settings > Apps and notifications > Notifications > Gentle notifications
GENTLE_NOTIFICATIONS_SCREEN = 1715;
+ // OPEN: Settings > System > Gestures > Global Actions Panel
+ // CATEGORY: SETTINGS
+ // OS: Q
+ GLOBAL_ACTIONS_PANEL_SETTINGS = 1728;
+
// OPEN: Settings > Display > Dark Theme
// CATEGORY: SETTINGS
// OS: Q
@@ -2385,8 +2390,15 @@
// OS: Q
MODULE_LICENSES_DASHBOARD = 1746;
- // OPEN: Settings > System > Gestures > Global Actions Panel
+ // OPEN: Settings > System > Gestures > System navigation > Info icon
// CATEGORY: SETTINGS
// OS: Q
- GLOBAL_ACTIONS_PANEL_SETTINGS = 1800;
+ // Note: Info icon is visible only when gesture navigation is not available and disabled
+ SETTINGS_GESTURE_NAV_NOT_AVAILABLE_DLG = 1747;
+
+ // OPEN: Settings > System > Gestures > System navigation > Gear icon
+ // CATEGORY: SETTINGS
+ // OS: Q
+ // Note: Gear icon is shown next to gesture navigation preference and opens sensitivity dialog
+ SETTINGS_GESTURE_NAV_BACK_SENSITIVITY_DLG = 1748;
}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 890ad5e..6aff8b8 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -824,6 +824,11 @@
grants your app this permission. If you don't need this permission, be sure your <a
href="{@docRoot}guide/topics/manifest/uses-sdk-element.html#target">{@code
targetSdkVersion}</a> is 4 or higher.
+ <p>Is this permission is not whitelisted for an app that targets an API level before
+ {@link android.os.Build.VERSION_CODES#Q} this permission cannot be granted to apps.</p>
+ <p>Is this permission is not whitelisted for an app that targets an API level
+ {@link android.os.Build.VERSION_CODES#Q} or later the app will be forced into isolated storage.
+ </p>
-->
<permission android:name="android.permission.READ_EXTERNAL_STORAGE"
android:permissionGroup="android.permission-group.UNDEFINED"
@@ -845,6 +850,8 @@
read/write files in your application-specific directories returned by
{@link android.content.Context#getExternalFilesDir} and
{@link android.content.Context#getExternalCacheDir}.
+ <p>Is this permission is not whitelisted for an app that targets an API level before
+ {@link android.os.Build.VERSION_CODES#Q} this permission cannot be granted to apps.</p>
-->
<permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:permissionGroup="android.permission-group.UNDEFINED"
diff --git a/core/res/res/anim/lock_screen_behind_enter_subtle.xml b/core/res/res/anim/lock_screen_behind_enter_subtle.xml
new file mode 100644
index 0000000..23b26b7
--- /dev/null
+++ b/core/res/res/anim/lock_screen_behind_enter_subtle.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2019 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
+ -->
+
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+ android:detachWallpaper="true"
+ android:shareInterpolator="false">
+
+ <alpha
+ android:fromAlpha="0.0" android:toAlpha="1.0"
+ android:fillEnabled="true" android:fillBefore="true"
+ android:interpolator="@interpolator/linear"
+ android:duration="233"/>
+ <translate android:fromYDelta="5%p" android:toYDelta="0"
+ android:fillEnabled="true" android:fillBefore="true" android:fillAfter="true"
+ android:interpolator="@interpolator/fast_out_slow_in"
+ android:duration="233" />
+</set>
\ No newline at end of file
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 7d86920..c85d89da 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"Beweeg foon na links."</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"Beweeg foon na regs."</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"Kyk asseblief meer reguit na jou toestel."</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"Kan nie jou gesig sien nie Kyk na die foon."</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"Kan nie jou gesig sien nie. Kyk na die foon."</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"Te veel beweging. Hou foon stil."</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Skryf jou gesig asseblief weer in."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Kan nie meer gesig herken nie. Probeer weer."</string>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index 83b55bb..f28660c 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -1539,7 +1539,7 @@
<string name="forward_intent_to_work" msgid="621480743856004612">"أنت تستخدم هذا التطبيق في ملفك الشخصي للعمل"</string>
<string name="input_method_binding_label" msgid="1283557179944992649">"طريقة الإرسال"</string>
<string name="sync_binding_label" msgid="3687969138375092423">"مزامنة"</string>
- <string name="accessibility_binding_label" msgid="4148120742096474641">"إمكانية الوصول"</string>
+ <string name="accessibility_binding_label" msgid="4148120742096474641">"سهولة الاستخدام"</string>
<string name="wallpaper_binding_label" msgid="1240087844304687662">"الخلفية"</string>
<string name="chooser_wallpaper" msgid="7873476199295190279">"تغيير الخلفية"</string>
<string name="notification_listener_binding_label" msgid="2014162835481906429">"برنامج تلقّي الإشعارات الصوتية"</string>
@@ -1752,8 +1752,8 @@
<string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"إزالة"</string>
<string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"هل تريد رفع مستوى الصوت فوق المستوى الموصى به؟\n\nقد يضر سماع صوت عالٍ لفترات طويلة بسمعك."</string>
- <string name="accessibility_shortcut_warning_dialog_title" msgid="8404780875025725199">"هل تريد استخدام اختصار إمكانية الوصول؟"</string>
- <string name="accessibility_shortcut_toogle_warning" msgid="7256507885737444807">"عند تشغيل الاختصار، يؤدي الضغط على زرّي مستوى الصوت لمدة 3 ثوانٍ إلى تشغيل ميزة إمكانية الوصول.\n\n ميزة إمكانية الوصول الحالية:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n يمكنك تغيير الميزة من \"الإعدادات\" > \"إمكانية الوصول\"."</string>
+ <string name="accessibility_shortcut_warning_dialog_title" msgid="8404780875025725199">"هل تريد استخدام اختصار \"سهولة الاستخدام\"؟"</string>
+ <string name="accessibility_shortcut_toogle_warning" msgid="7256507885737444807">"عند تشغيل الاختصار، يؤدي الضغط على زرّي مستوى الصوت لمدة 3 ثوانٍ إلى تفعيل ميزة \"سهولة الاستخدام\".\n\n ميزة \"سهولة الاستخدام\" الحالية:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n يمكنك تغيير الميزة من \"الإعدادات\" > \"سهولة الاستخدام\"."</string>
<string name="disable_accessibility_shortcut" msgid="627625354248453445">"إيقاف الاختصار"</string>
<string name="leave_accessibility_shortcut_on" msgid="7653111894438512680">"استخدام الاختصار"</string>
<string name="color_inversion_feature_name" msgid="4231186527799958644">"عكس الألوان"</string>
@@ -1761,12 +1761,12 @@
<string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"شغَّل اختصار إمكانية الوصول خدمة <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"أوقف اختصار إمكانية الوصول خدمة <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"اضغط مع الاستمرار على مفتاحي مستوى الصوت لمدة 3 ثوانٍ لاستخدام <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string>
- <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"يمكنك اختيار إحدى الخدمات لاستخدامها عند النقر على زر سهولة الاستخدام:"</string>
- <string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"يمكنك اختيار إحدى الخدمات لاستخدامها مع إيماءة سهولة الاستخدام (مرّر سريعًا لأعلى من أسفل الشاشة باستخدام إصبعين):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"يمكنك اختيار إحدى الخدمات لاستخدامها مع إيماءة سهولة الاستخدام (مرّر سريعًا لأعلى من أسفل الشاشة باستخدام ثلاثة أصابع):"</string>
- <string name="accessibility_button_instructional_text" msgid="7003212763213614833">"للتبديل بين الخدمات، يمكنك لمس زر سهولة الاستخدام مع الاستمرار."</string>
- <string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"للتبديل بين الخدمات، يمكنك التمرير سريعًا لأعلى باستخدام إصبعين مع الاستمرار."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"للتبديل بين الخدمات، يمكنك التمرير سريعًا لأعلى باستخدام ثلاثة أصابع مع الاستمرار."</string>
+ <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"يمكنك اختيار إحدى الخدمات لاستخدامها عند النقر على زر \"سهولة الاستخدام\":"</string>
+ <string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"يمكنك اختيار إحدى الخدمات لاستخدامها مع إيماءة \"سهولة الاستخدام\" (مرّر سريعًا إلى الأعلى من أسفل الشاشة باستخدام إصبعين):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"يمكنك اختيار إحدى الخدمات التالية لاستخدامها مع إيماءة \"سهولة الاستخدام\" (مرّر سريعًا إلى الأعلى من أسفل الشاشة باستخدام ثلاثة أصابع):"</string>
+ <string name="accessibility_button_instructional_text" msgid="7003212763213614833">"للتبديل بين الخدمات، يمكنك النقر والاستمرار على زر \"سهولة الاستخدام\"."</string>
+ <string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"للتبديل بين الخدمات، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها باستخدام إصبعين مع تثبيتهما."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"للتبديل بين الخدمات، يمكنك التمرير سريعًا من أسفل الشاشة إلى أعلاها باستخدام ثلاثة أصابع مع تثبيت الأصابع."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"التكبير"</string>
<string name="user_switched" msgid="3768006783166984410">"المستخدم الحالي <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"جارٍ التبديل إلى <xliff:g id="NAME">%1$s</xliff:g>…"</string>
@@ -2039,7 +2039,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"البحث عن تحديث"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"لديك رسائل جديدة"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"فتح تطبيق الرسائل القصيرة SMS للعرض"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"ربما تكون بعض الوظائف مُقيّدة."</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"قد تكون بعض الوظائف مُقيّدة."</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"تم قفل الملف الشخصي للعمل."</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"انقر لإلغاء قفل الملف الشخصي للعمل"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"تم الاتصال بـ <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index 2f31607..82af246 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"আনলক ক্ষেত্ৰ বিস্তাৰ কৰক।"</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"শ্লাইডৰদ্বাৰা আনলক।"</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"আৰ্হিৰদ্বাৰা আনলক।"</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"গৰাকীৰ মুখাৱয়বৰদ্বাৰা আনলক।"</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"মুখাৱয়বৰদ্বাৰা আনলক।"</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"পিনৰদ্বাৰা আনলক।"</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"ছিম পিন আনলক।"</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"ছিম পিইউকে আনলক।"</string>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index 6b62dab..57c326e 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -893,7 +893,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Разгарнуць вобласць разблакіроўкі."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Разблакiроўка слайда."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Узор разблакiроўкі."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Фэйскантроль"</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Распазнаванне твару"</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"PIN-код разблакiроўкі."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"Разблакіроўка SIM-карты з дапамогай PIN-кода."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"Разблакіроўка SIM-карты з дапамогай PUK-кода."</string>
@@ -1718,7 +1718,7 @@
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"З дапамогай жэста спецыяльных магчымасцей (правесці трыма пальцамі па экране знізу ўверх) выберыце службу для выкарыстання:"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Каб пераключыцца на другую службу, націсніце і ўтрымлівайце кнопку спецыяльных магчымасцей."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Каб пераключыцца на другую службу, правядзіце ўверх двума пальцамі, утрымліваючы іх на экране."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Каб пераключыцца на другую службу, правядзіце ўверх трыма пальцамі, утрымліваючы іх на экране."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Каб пераключыцца на іншую службу, правядзіце ўверх трыма пальцамі, утрымліваючы іх на экране."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Павелічэнне"</string>
<string name="user_switched" msgid="3768006783166984410">"Бягучы карыстальнік <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"Пераход да <xliff:g id="NAME">%1$s</xliff:g>..."</string>
@@ -1971,7 +1971,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Праверыць на наяўнасць абнаўленняў"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"У вас ёсць новыя паведамленні"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Праглядзець праз праграму для SMS"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Частка функц. можа быць абмеж."</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Функцыі могуць быць абмежаваныя"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Рабочы профіль заблакіраваны"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Кран., каб разбл. раб. профіль"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Падлучана да <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index e7e3e35..7895866c 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"আনলক এলাকা প্রসারিত করুন৷"</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"স্লাইড দিয়ে আনলক৷"</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"প্যাটার্ন দিয়ে আনলক৷"</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"মুখের সাহায্যে আনলক করুন৷"</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"মুখের সাহায্যে আনলক৷"</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"পিন দিয়ে আনলক৷"</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"সিম পিন আনলক।"</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"সিম পিইউকে আনলক।"</string>
@@ -1668,7 +1668,7 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> ব্যবহার করতে ভলিউম কী বোতাম ৩ সেকেন্ডের জন্য চেপে ধরে রাখুন"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"অ্যাক্সেসিবিলিটি বোতামে ট্যাপ করে ব্যবহার করার জন্য এই পরিষেবাটি বেছে নিন:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"অ্যাক্সেসিবিলিটি জেসচারের সাহায্যে ব্যবহার করার জন্য এই পরিষেবা বেছে নিন (দুটি আঙুল দিয়ে স্ক্রিনের নিচ থেকে উপরের দিকে সোয়াইপ করুন):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"অ্যাক্সেসিবিলিটি জেসচারের সাহায্যে ব্যবহার করার জন্য এই পরিষেবা বেছে নিন (তিনটি আঙুল দিয়ে স্ক্রিনের নিচ থেকে উপরের দিকে সোয়াইপ করুন):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"অ্যাক্সেসিবিলিটি জেসচারের সাহায্যে ব্যবহার করার জন্য এই পরিষেবা বেছে নিন (তিনটি আঙ্গুল দিয়ে স্ক্রিনের নিচ থেকে উপরের দিকে সোয়াইপ করুন):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"একটি পরিষেবা থেকে অন্য পরিষেবায় পাল্টাতে অ্যাক্সেসিবিলিটি বোতামটি টাচ করে ধরে রাখুন।"</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"একটি পরিষেবা থেকে অন্য পরিষেবায় পাল্টাতে, দুটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে রাখুন।"</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"একটি পরিষেবা থেকে অন্য পরিষেবায় পাল্টাতে, তিনটি আঙ্গুল দিয়ে উপরের দিকে সোয়াইপ করে ধরে রাখুন।"</string>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index 0adb458..04fc69b 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -259,7 +259,7 @@
<string name="notification_channel_security" msgid="7345516133431326347">"Sigurnost"</string>
<string name="notification_channel_car_mode" msgid="3553380307619874564">"Način rada u automobilu"</string>
<string name="notification_channel_account" msgid="7577959168463122027">"Status računa"</string>
- <string name="notification_channel_developer" msgid="7579606426860206060">"Poruke programera"</string>
+ <string name="notification_channel_developer" msgid="7579606426860206060">"Poruke za programere"</string>
<string name="notification_channel_updates" msgid="4794517569035110397">"Ažuriranja"</string>
<string name="notification_channel_network_status" msgid="5025648583129035447">"Status mreže"</string>
<string name="notification_channel_network_alerts" msgid="2895141221414156525">"Mrežna upozorenja"</string>
@@ -269,7 +269,7 @@
<string name="notification_channel_alerts" msgid="4496839309318519037">"Upozorenja"</string>
<string name="notification_channel_retail_mode" msgid="6088920674914038779">"Prodajna demonstracija"</string>
<string name="notification_channel_usb" msgid="9006850475328924681">"USB veza"</string>
- <string name="notification_channel_heavy_weight_app" msgid="6218742927792852607">"Pokrenuta je aplikacija"</string>
+ <string name="notification_channel_heavy_weight_app" msgid="6218742927792852607">"Pokrenuta aplikacija"</string>
<string name="notification_channel_foreground_service" msgid="3931987440602669158">"Aplikacije koje troše bateriju"</string>
<string name="foreground_service_app_in_background" msgid="1060198778219731292">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> troši bateriju"</string>
<string name="foreground_service_apps_in_background" msgid="7175032677643332242">"Broj aplikacija koje troše bateriju: <xliff:g id="NUMBER">%1$d</xliff:g>"</string>
@@ -321,7 +321,7 @@
<string name="capability_desc_canRequestTouchExploration" msgid="7543249041581408313">"Stavke koje dodirnete bit će izgovorene naglas, a ekran možete istraživati koristeći pokrete."</string>
<string name="capability_title_canRequestFilterKeyEvents" msgid="2103440391902412174">"Prati tekst koji unosite"</string>
<string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"Obuhvata lične podatke kao što su brojevi kreditnih kartica i lozinke."</string>
- <string name="capability_title_canControlMagnification" msgid="3593493281059424855">"Kontrolira uvećanje prikaza na ekranu"</string>
+ <string name="capability_title_canControlMagnification" msgid="3593493281059424855">"Kontrolira uvećavanje prikaza na ekranu"</string>
<string name="capability_desc_canControlMagnification" msgid="4791858203568383773">"Kontrolira stepen uvećanja prikaza na ekranu i podešavanje položaja."</string>
<string name="capability_title_canPerformGestures" msgid="7418984730362576862">"Praviti pokrete"</string>
<string name="capability_desc_canPerformGestures" msgid="8296373021636981249">"Može dodirivati, prevlačiti, hvatati prstima i praviti druge pokrete."</string>
@@ -1697,7 +1697,7 @@
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Da prebacujete između usluga, dodirnite i zadržite dugme za pristupačnost."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Da prebacujete između usluga, s dva prsta prevucite prema gore i zadržite."</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Da prebacujete između usluga, s tri prsta prevucite prema gore i zadržite."</string>
- <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Uvećanje"</string>
+ <string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Uvećavanje"</string>
<string name="user_switched" msgid="3768006783166984410">"Trenutni korisnik <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"Prebacivanje na korisnika <xliff:g id="NAME">%1$s</xliff:g>..."</string>
<string name="user_logging_out_message" msgid="8939524935808875155">"Odjava korisnika <xliff:g id="NAME">%1$s</xliff:g>…"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index cc48170..20597cc 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Cerca actualitzacions"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Tens missatges nous"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Obre l\'aplicació d\'SMS per veure\'ls"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Algunes funcions poden limitar-se"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Algunes funcions poden ser limitades"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Perfil professional bloquejat"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Toca per desbloquejar el perfil"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"S\'ha connectat a <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 516d4ca..547967d 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -572,16 +572,16 @@
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Registrer dit ansigt igen."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Ansigtet kan ikke længere genkendes. Prøv igen."</string>
<string name="face_acquired_too_similar" msgid="1508776858407646460">"Det minder for meget om et andet. Skift stilling."</string>
- <string name="face_acquired_pan_too_extreme" msgid="4581629343077288178">"Sørg for, at hovedet ikke er drejet for meget."</string>
- <string name="face_acquired_tilt_too_extreme" msgid="4019954263012496468">"Sørg for, at hovedet ikke er bøjet for meget."</string>
- <string name="face_acquired_roll_too_extreme" msgid="6312973147689664409">"Sørg for, at dit hoved ikke er drejet for meget."</string>
+ <string name="face_acquired_pan_too_extreme" msgid="4581629343077288178">"Du skal ikke dreje hovedet så meget."</string>
+ <string name="face_acquired_tilt_too_extreme" msgid="4019954263012496468">"Du skal ikke dreje hovedet så meget."</string>
+ <string name="face_acquired_roll_too_extreme" msgid="6312973147689664409">"Du skal ikke dreje hovedet så meget."</string>
<string name="face_acquired_obscured" msgid="5357207702967893283">"Hvis noget skjuler dit ansigt, skal du fjerne det."</string>
<string name="face_acquired_sensor_dirty" msgid="7905138627046865579">"Rengør toppen af din skærm, inkl. den sorte bjælke"</string>
<string-array name="face_acquired_vendor">
</string-array>
<string name="face_error_hw_not_available" msgid="396883585636963908">"Ansigt ikke bekræftet. Hardware ikke tilgængelig."</string>
<string name="face_error_timeout" msgid="981512090365729465">"Prøv ansigtslås igen."</string>
- <string name="face_error_no_space" msgid="2712120617457553825">"Der kan ikke gemmes flere nye ansigter. Slet et gammelt."</string>
+ <string name="face_error_no_space" msgid="2712120617457553825">"Der kan ikke gemmes nye ansigtsdata. Slet et gammelt først."</string>
<string name="face_error_canceled" msgid="283945501061931023">"Ansigtshandlingen blev annulleret."</string>
<string name="face_error_user_canceled" msgid="5317030072349668946">"Ansigtslås blev annulleret af brugeren."</string>
<string name="face_error_lockout" msgid="3407426963155388504">"Du har prøvet for mange gange. Prøv igen senere."</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index c955302..b6b2ae8 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -320,8 +320,8 @@
<string name="capability_desc_canRequestFilterKeyEvents" msgid="7463135292204152818">"Einschließlich personenbezogener Daten wie Kreditkartennummern und Passwörter."</string>
<string name="capability_title_canControlMagnification" msgid="3593493281059424855">"Displayvergrößerung festlegen"</string>
<string name="capability_desc_canControlMagnification" msgid="4791858203568383773">"Legt die Zoom-Stufe und -Position auf dem Display fest."</string>
- <string name="capability_title_canPerformGestures" msgid="7418984730362576862">"Bewegungen möglich"</string>
- <string name="capability_desc_canPerformGestures" msgid="8296373021636981249">"Tippen, Wischen, Zusammenziehen und andere Bewegungen möglich."</string>
+ <string name="capability_title_canPerformGestures" msgid="7418984730362576862">"Gesten möglich"</string>
+ <string name="capability_desc_canPerformGestures" msgid="8296373021636981249">"Tippen, Wischen, Zusammenziehen und andere Gesten möglich."</string>
<string name="capability_title_canCaptureFingerprintGestures" msgid="6309568287512278670">"Bewegungen auf dem Fingerabdrucksensor"</string>
<string name="capability_desc_canCaptureFingerprintGestures" msgid="4386487962402228670">"Erfasst Bewegungen auf dem Fingerabdrucksensor des Geräts."</string>
<string name="permlab_statusBar" msgid="7417192629601890791">"Statusleiste deaktivieren oder ändern"</string>
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"Beweg das Smartphone nach links."</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"Beweg das Smartphone nach rechts."</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"Bitte sieh direkt auf dein Gerät."</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"Gesicht wurde nicht erkannt. Blicke aufs Telefon."</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"Gesicht wurde nicht gefunden. Blicke aufs Telefon."</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"Zu viel Unruhe. Halte das Smartphone ruhig."</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Bitte registriere dein Gesicht noch einmal."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Gesicht wird nicht mehr erkannt. Erneut versuchen."</string>
@@ -1667,7 +1667,7 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"Halten Sie beide Lautstärketasten drei Sekunden lang gedrückt, um <xliff:g id="SERVICE_NAME">%1$s</xliff:g> zu verwenden"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Wähle den Dienst aus, der verwendet werden soll, wenn du auf die Schaltfläche für die Bedienungshilfen tippst:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Wähle den Dienst aus, der mit der Bewegung für die Bedienungshilfen verwendet werden soll (mit zwei Fingern vom unteren Bildschirmrand nach oben wischen):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Wähle den Dienst aus, der mit der Bewegung für die Bedienungshilfen verwendet werden soll (mit drei Fingern vom unteren Bildschirmrand nach oben wischen):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Wähle den Dienst aus, der mit der Geste für die Bedienungshilfen verwendet werden soll (mit drei Fingern vom unteren Bildschirmrand nach oben wischen):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Wenn du zwischen den Diensten wechseln möchtest, halte die Schaltfläche für die Bedienungshilfen gedrückt."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Wenn du zwischen den Diensten wechseln möchtest, wische mit zwei Fingern nach oben und halte sie gedrückt."</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Wenn du zwischen den Diensten wechseln möchtest, wische mit drei Fingern nach oben und halte sie gedrückt."</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index 157acd9..daa2055 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -1667,7 +1667,7 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"Mantén presionadas ambas teclas de volumen durante tres segundos para usar <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Elige un servicio para usar cuando presiones el botón de accesibilidad:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Elige un servicio para usar cuando realices el gesto de accesibilidad (deslizar dos dedos hacia arriba desde la parte inferior de la pantalla):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Elige un servicio para usar cuando realices el gesto de accesibilidad (deslizar tres dedos hacia arriba desde la parte inferior de la pantalla):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Elige el servicio que se usará cuando realices el gesto de accesibilidad (deslizar tres dedos hacia arriba desde la parte inferior de la pantalla):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Para cambiar de servicio, mantén presionado el botón de accesibilidad."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Para cambiar de servicio, desliza dos dedos hacia arriba y mantén presionado."</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Para cambiar de servicio, desliza tres dedos hacia arriba y mantén presionado."</string>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index 38fc996..ef404a2 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"Mugitu telefonoa ezkerretara."</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"Mugitu telefonoa eskuinetara."</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"Begiratu zuzenago gailuari."</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"Ez da agertzen aurpegia. Begiratu telefonoari."</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"Ez da hautematen aurpegia. Begiratu telefonoari."</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"Mugimendu gehiegi dago. Eutsi tinko telefonoari."</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Erregistratu berriro aurpegia."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Ez dugu ezagutzen aurpegi hori. Saiatu berriro."</string>
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Zabaldu desblokeatzeko eremua."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Hatza lerratuta desblokeatzea."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Ereduaren bidez desblokeatzea."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Aurpegiaren bidez desblokeatzea."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Aurpegiaren bidez desblokeatzeko aukera."</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"PIN kodearen bidez desblokeatzea."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"SIM txartela desblokeatzeko PIN kodea."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"SIM txartela desblokeatzeko PUK kodea."</string>
@@ -1667,8 +1667,8 @@
<string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Erabilerraztasun-lasterbideak <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desaktibatu du"</string>
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> erabiltzeko, eduki sakatuta bolumen-tekla biak hiru segundoz"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Aukeratu zer zerbitzu erabili nahi duzun Erabilerraztasuna botoia sakatzean:"</string>
- <string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Aukeratu zer zerbitzu erabili nahi duzun erabilerraztasun-keinua egitean (hau da, bi hatz pantailaren behealdetik gora pasatuz gero):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Aukeratu zer zerbitzu erabili nahi duzun erabilerraztasun-keinua egitean (hau da, hiru hatz pantailaren behealdetik gora pasatuz gero):"</string>
+ <string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Aukeratu zer zerbitzu erabili nahi duzun erabilerraztasun-keinua egitean (hau da, bi hatz pantailaren behealdetik gora pasatzean):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Aukeratu zer zerbitzu erabili nahi duzun erabilerraztasun-keinua egitean (hau da, hiru hatz pantailaren behealdetik gora pasatzean):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Zerbitzu batetik bestera aldatzeko, eduki sakatuta Erabilerraztasuna botoia."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Zerbitzu batetik bestera aldatzeko, pasatu bi hatz pantailaren behealdetik gora eta eduki sakatuta une batez."</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Zerbitzu batetik bestera aldatzeko, pasatu hiru hatz pantailaren behealdetik gora eta eduki sakatuta une batez."</string>
@@ -1844,7 +1844,7 @@
</plurals>
<string name="zen_mode_until" msgid="7336308492289875088">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> arte"</string>
<string name="zen_mode_alarm" msgid="9128205721301330797">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> arte (hurrengo alarma)"</string>
- <string name="zen_mode_forever" msgid="931849471004038757">"Desaktibatu arte"</string>
+ <string name="zen_mode_forever" msgid="931849471004038757">"Zuk desaktibatu arte"</string>
<string name="zen_mode_forever_dnd" msgid="3792132696572189081">"\"Ez molestatu\" desaktibatzen duzun arte"</string>
<string name="zen_mode_rule_name_combination" msgid="191109939968076477">"<xliff:g id="FIRST">%1$s</xliff:g> / <xliff:g id="REST">%2$s</xliff:g>"</string>
<string name="toolbar_collapse_description" msgid="2821479483960330739">"Tolestu"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index e95780a..7ae3f7f 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -550,11 +550,11 @@
<string-array name="fingerprint_error_vendor">
</string-array>
<string name="fingerprint_icon_content_description" msgid="2340202869968465936">"نماد اثر انگشت"</string>
- <string name="permlab_manageFace" msgid="7262837876352591553">"مدیریت سختافزار face unlock"</string>
+ <string name="permlab_manageFace" msgid="7262837876352591553">"مدیریت سختافزار «بازگشایی با چهره»"</string>
<string name="permdesc_manageFace" msgid="8919637120670185330">"به برنامه امکان میدهد روشهایی را برای افزودن و حذف الگوهای چهره جهت استفاده فرابخواند."</string>
- <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"استفاده از سختافزار face unlock"</string>
- <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"به برنامه امکان میدهد از سختافزار face unlock برای احراز هویت استفاده کند"</string>
- <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Face unlock"</string>
+ <string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"استفاده از سختافزار «بازگشایی با چهره»"</string>
+ <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"به برنامه امکان میدهد از سختافزار «بازگشایی با چهره» برای احراز هویت استفاده کند"</string>
+ <string name="face_recalibrate_notification_name" msgid="1913676850645544352">"بازگشایی با چهره"</string>
<string name="face_recalibrate_notification_title" msgid="4087620069451499365">"ثبت مجدد چهره"</string>
<string name="face_recalibrate_notification_content" msgid="5530308842361499835">"برای بهبود تشخیص، لطفاً چهرهتان را دوباره ثبت کنید"</string>
<string name="face_acquired_insufficient" msgid="2767330364802375742">"دادههای دقیق چهره ضبط نشد. دوباره امتحان کنید."</string>
@@ -580,15 +580,15 @@
<string-array name="face_acquired_vendor">
</string-array>
<string name="face_error_hw_not_available" msgid="396883585636963908">"چهره تأیید نشد. سختافزار در دسترس نیست."</string>
- <string name="face_error_timeout" msgid="981512090365729465">"face unlock را دوباره امتحان کنید."</string>
+ <string name="face_error_timeout" msgid="981512090365729465">"«بازگشایی با چهره» را دوباره امتحان کنید."</string>
<string name="face_error_no_space" msgid="2712120617457553825">"داده چهره جدید ذخیره نشد. اول داده چهره قدیمی را حذف کنید."</string>
<string name="face_error_canceled" msgid="283945501061931023">"عملیات شناسایی چهره لغو شد."</string>
- <string name="face_error_user_canceled" msgid="5317030072349668946">"کاربر Face unlock را لغو کرد."</string>
+ <string name="face_error_user_canceled" msgid="5317030072349668946">"کاربر «بازگشایی با چهره» را لغو کرد."</string>
<string name="face_error_lockout" msgid="3407426963155388504">"تعداد زیادی تلاش ناموفق. بعداً دوباره امتحان کنید."</string>
- <string name="face_error_lockout_permanent" msgid="4723594314443097159">"تعداد تلاشها بیشازحد مجاز است. Face unlock غیرفعال است."</string>
+ <string name="face_error_lockout_permanent" msgid="4723594314443097159">"تعداد تلاشها بیشازحد مجاز است. «بازگشایی با چهره» غیرفعال است."</string>
<string name="face_error_unable_to_process" msgid="4940944939691171539">"چهره تأیید نشد. دوباره امتحان کنید."</string>
- <string name="face_error_not_enrolled" msgid="4016937174832839540">"face unlock را راهاندازی نکردید."</string>
- <string name="face_error_hw_not_present" msgid="8302690289757559738">"Face unlock در این دستگاه پشتیبانی نمیشود."</string>
+ <string name="face_error_not_enrolled" msgid="4016937174832839540">"«بازگشایی با چهره» را راهاندازی نکردهاید."</string>
+ <string name="face_error_hw_not_present" msgid="8302690289757559738">"«بازگشایی با چهره» در این دستگاه پشتیبانی نمیشود."</string>
<string name="face_name_template" msgid="7004562145809595384">"چهره <xliff:g id="FACEID">%d</xliff:g>"</string>
<string-array name="face_error_vendor">
</string-array>
@@ -817,7 +817,7 @@
<string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"دوباره امتحان کنید"</string>
<string name="lockscreen_password_wrong" msgid="5737815393253165301">"دوباره امتحان کنید"</string>
<string name="lockscreen_storage_locked" msgid="9167551160010625200">"باز کردن قفل تمام قابلیتها و دادهها"</string>
- <string name="faceunlock_multiple_failures" msgid="754137583022792429">"دفعات تلاش برای Face Unlock از حداکثر مجاز بیشتر شد"</string>
+ <string name="faceunlock_multiple_failures" msgid="754137583022792429">"دفعات تلاش برای «بازگشایی با چهره» از حداکثر مجاز بیشتر شد"</string>
<string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"سیم کارت موجود نیست"</string>
<string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"سیم کارت درون رایانهٔ لوحی نیست."</string>
<string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"سیمکارتی در تلویزیون وجود ندارد."</string>
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"گسترده کردن منطقه بازگشایی شده."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"باز کردن قفل با کشیدن انگشت روی صفحه."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"باز کردن قفل با الگو."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"باز کردن قفل با چهره."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"بازگشایی با چهره."</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"باز کردن قفل با پین."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"قفل پین سیمکارت باز شد."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"قفل Puk سیمکارت باز شد."</string>
@@ -1665,7 +1665,7 @@
<string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"«میانبر دسترسپذیری» <xliff:g id="SERVICE_NAME">%1$s</xliff:g> را روشن کرد"</string>
<string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"«میانبر دسترسپذیری» <xliff:g id="SERVICE_NAME">%1$s</xliff:g> را خاموش کرد"</string>
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"برای استفاده از <xliff:g id="SERVICE_NAME">%1$s</xliff:g>، هر دو کلید صدا را فشار دهید و سه ثانیه نگه دارید"</string>
- <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"سرویسی را انتخاب کنید که هنگام ضربه زدن روی دکمه دسترسپذیری استفاده میشود:"</string>
+ <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"سرویسی را انتخاب کنید که میخواهید هنگام ضربه زدن روی دکمه دسترسپذیری استفاده شود:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"سرویسی را برای استفاده با اشاره دسترسپذیری انتخاب کنید (با دو انگشت صفحه را از پایین تند به بالا بکشید):"</string>
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"سرویسی را برای استفاده با اشاره دسترسپذیری انتخاب کنید (با سه انگشت صفحه را از پایین تند به بالا بکشید):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"برای جابهجایی بین سرویسها، دکمه دسترسپذیری را لمس کنید و نگهدارید."</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 0a92fd9..57cff5c 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -1670,7 +1670,7 @@
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Choisissez un service à utiliser lorsque vous utilisez le geste d\'accessibilité (balayer trois doigts du bas de l\'écran vers le haut) :"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Pour basculer entre les services, maintenez le doigt sur le bouton d\'accessibilité."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Pour basculer entre les services, balayez deux doigts vers le haut et maintenez-les sur l\'écran."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Pour basculer entre les services, balayez trois doigts vers le haut et maintenez-les sur l\'écran."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Pour changer de service, balayez trois doigts vers le haut et maintenez-les sur l\'écran."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Zoom"</string>
<string name="user_switched" msgid="3768006783166984410">"Utilisateur actuel : <xliff:g id="NAME">%1$s</xliff:g>"</string>
<string name="user_switching_message" msgid="2871009331809089783">"Changement d\'utilisateur (<xliff:g id="NAME">%1$s</xliff:g>) en cours…"</string>
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Vérifier la présence de mises à jour"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Vous avez de nouveaux messages"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Ouvrez l\'application de messagerie texte pour l\'afficher"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Certaines fonctionnal. sont limitées"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Des fonctionnalités sont limitées"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Profil professionnel verrouillé"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Touch. pr déver. profil profess."</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Connecté à <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index f44c44a..9c19a33 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -1667,7 +1667,7 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"Appuyez de manière prolongée sur les deux touches de volume pendant trois secondes pour utiliser <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Choisissez un service à utiliser lorsque vous appuyez sur le bouton Accessibilité :"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Choisissez un service à utiliser avec le geste d\'accessibilité (balayez l\'écran de bas en haut avec deux doigts) :"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Choisissez un service à utiliser avec le geste d\'accessibilité (balayez l\'écran de bas en haut avec trois doigts) :"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Choisissez un service à utiliser avec le geste d\'accessibilité (balayer l\'écran de bas en haut avec trois doigts) :"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Pour changer de service, appuyez de manière prolongée sur le bouton Accessibilité."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Pour changer de service, balayez l\'écran vers le haut avec deux doigts et appuyez de manière prolongée."</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Pour changer de service, balayez l\'écran vers le haut avec trois doigts et appuyez de manière prolongée."</string>
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Rechercher une mise à jour"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Vous avez de nouveaux messages"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Ouvrir l\'application de SMS pour afficher le message"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Fonctionnalités peuvent être limitées"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Des fonctions peuvent être limitées"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Profil professionnel verrouillé"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Appuyez pour déverrouiller profil pro"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Connecté à <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index 86b50aec..e4d9a93 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"Move o teléfono cara á esquerda."</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"Move o teléfono cara á dereita."</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"Mira o dispositivo de forma máis directa."</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"Non se pode ver a túa cara. Mira o teléfono."</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"Non se ve a túa cara. Mira para o teléfono"</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"Demasiado movemento. Non movas o teléfono."</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Volve rexistrar a túa cara."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Xa non se pode recoñecer a cara. Téntao de novo."</string>
@@ -1671,7 +1671,7 @@
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Escolle o servizo que queres usar co xesto de accesibilidade (pasa tres dedos cara arriba desde a parte inferior da pantalla):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Para cambiar de servizo, mantén premido o botón de accesibilidade."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Para cambiar de servizo, pasa dous dedos cara arriba e mantén premida a pantalla."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Para cambiar de servizo, pasa tres dedos cara arriba e mantén premida a pantalla."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Para cambiar de servizo, pasa tres dedos cara arriba pola pantalla e mantén premido."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliación"</string>
<string name="user_switched" msgid="3768006783166984410">"Usuario actual <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"Cambiando a <xliff:g id="NAME">%1$s</xliff:g>…"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 14edcd9..0cecff4 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -439,7 +439,7 @@
<string name="permlab_accessImsCallService" msgid="3574943847181793918">"IMS कॉल सेवा ऐक्सेस करें"</string>
<string name="permdesc_accessImsCallService" msgid="8992884015198298775">"आपके हस्तक्षेप के बिना कॉल करने के लिए, ऐप को IMS सेवा का उपयोग करने देती है."</string>
<string name="permlab_readPhoneState" msgid="9178228524507610486">"फ़ोन की स्थिति और पहचान पढ़ें"</string>
- <string name="permdesc_readPhoneState" msgid="1639212771826125528">"ऐप्स को डिवाइस की फ़ोन सुविधाओं तक पहुंचने देता है. यह अनुमति ऐप्स को फ़ोन नंबर और डिवाइस आईडी, कॉल सक्रिय है या नहीं, और कॉल द्वारा कनेक्ट किया गया दूरस्थ नंबर निर्धारित करने देती है."</string>
+ <string name="permdesc_readPhoneState" msgid="1639212771826125528">"ऐप्स को डिवाइस की फ़ोन सुविधाओं तक पहुंचने देता है. यह अनुमति ऐप्स को फ़ोन नंबर और डिवाइस आईडी, कॉल सक्रिय है या नहीं, और कॉल द्वारा कनेक्ट किया गया दूरस्थ नंबर तय करने देती है."</string>
<string name="permlab_manageOwnCalls" msgid="1503034913274622244">"सिस्टम के माध्यम से कॉल रूट करें"</string>
<string name="permdesc_manageOwnCalls" msgid="6552974537554717418">"कॉल करने के अनुभव को बेहतर बनाने के लिए ऐप्लिकेशन को सिस्टम के माध्यम से उसके कॉल रूट करने देती है."</string>
<string name="permlab_callCompanionApp" msgid="3599252979411970473">"सिस्टम के ज़रिए कॉल देखना और नियंत्रित करना."</string>
@@ -991,8 +991,8 @@
<string name="minutes" msgid="5646001005827034509">"मिनट"</string>
<string name="second" msgid="3184235808021478">"सेकंड"</string>
<string name="seconds" msgid="3161515347216589235">"सेकंड"</string>
- <string name="week" msgid="5617961537173061583">"सप्ताह"</string>
- <string name="weeks" msgid="6509623834583944518">"सप्ताह"</string>
+ <string name="week" msgid="5617961537173061583">"हफ़्ता"</string>
+ <string name="weeks" msgid="6509623834583944518">"हफ़्ता"</string>
<string name="year" msgid="4001118221013892076">"वर्ष"</string>
<string name="years" msgid="6881577717993213522">"वर्ष"</string>
<string name="now_string_shortest" msgid="8912796667087856402">"अभी"</string>
@@ -1849,7 +1849,7 @@
<string name="toolbar_collapse_description" msgid="2821479483960330739">"छोटा करें"</string>
<string name="zen_mode_feature_name" msgid="5254089399895895004">"परेशान ना करें"</string>
<string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"बंद रहने का समय"</string>
- <string name="zen_mode_default_weeknights_name" msgid="3081318299464998143">"सप्ताह की रात"</string>
+ <string name="zen_mode_default_weeknights_name" msgid="3081318299464998143">"हफ़्ते की रात"</string>
<string name="zen_mode_default_weekends_name" msgid="2786495801019345244">"सप्ताहांत"</string>
<string name="zen_mode_default_events_name" msgid="8158334939013085363">"इवेंट"</string>
<string name="zen_mode_default_every_night_name" msgid="3012363838882944175">"सोते समय"</string>
@@ -1982,7 +1982,7 @@
<string name="harmful_app_warning_title" msgid="8982527462829423432">"नुकसान पहुंचाने वाले ऐप का पता चला"</string>
<string name="slices_permission_request" msgid="8484943441501672932">"<xliff:g id="APP_0">%1$s</xliff:g>, <xliff:g id="APP_2">%2$s</xliff:g> के हिस्से (स्लाइस) दिखाना चाहता है"</string>
<string name="screenshot_edit" msgid="7867478911006447565">"बदलाव करें"</string>
- <string name="volume_dialog_ringer_guidance_vibrate" msgid="8902050240801159042">"कॉल अाैर सूचनाअाें के लिए डिवाइस वाइब्रेट हाेगा"</string>
+ <string name="volume_dialog_ringer_guidance_vibrate" msgid="8902050240801159042">"कॉल और सूचनाओं के लिए डिवाइस वाइब्रेट हाेगा"</string>
<string name="volume_dialog_ringer_guidance_silent" msgid="2128975224280276122">"कॉल अाैर सूचनाओं के लिए डिवाइस म्यूट रहेगा"</string>
<string name="notification_channel_system_changes" msgid="5072715579030948646">"सिस्टम में हुए बदलाव"</string>
<string name="notification_channel_do_not_disturb" msgid="6766940333105743037">"परेशान न करें"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 1e8ad31..59be018 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -262,7 +262,7 @@
<string name="notification_channel_network_alerts" msgid="2895141221414156525">"Hálózati értesítések"</string>
<string name="notification_channel_network_available" msgid="4531717914138179517">"Van elérhető hálózat"</string>
<string name="notification_channel_vpn" msgid="8330103431055860618">"VPN-állapot"</string>
- <string name="notification_channel_device_admin" msgid="8353118887482520565">"Rendszergazda általi értesítések"</string>
+ <string name="notification_channel_device_admin" msgid="8353118887482520565">"Értesítések a rendszergazdától"</string>
<string name="notification_channel_alerts" msgid="4496839309318519037">"Értesítések"</string>
<string name="notification_channel_retail_mode" msgid="6088920674914038779">"Kiskereskedelmi bemutató"</string>
<string name="notification_channel_usb" msgid="9006850475328924681">"USB-kapcsolat"</string>
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index 914c999..b63ca77 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -256,7 +256,7 @@
<string name="notification_channel_security" msgid="7345516133431326347">"Անվտանգություն"</string>
<string name="notification_channel_car_mode" msgid="3553380307619874564">"Մեքենայի ռեժիմ"</string>
<string name="notification_channel_account" msgid="7577959168463122027">"Հաշվի կարգավիճակ"</string>
- <string name="notification_channel_developer" msgid="7579606426860206060">"Մշակողի հաղորդագրություններ"</string>
+ <string name="notification_channel_developer" msgid="7579606426860206060">"Հաղորդագրություններ ծրագրավորողների համար"</string>
<string name="notification_channel_updates" msgid="4794517569035110397">"Թարմացումներ"</string>
<string name="notification_channel_network_status" msgid="5025648583129035447">"Ցանցի կարգավիճակ"</string>
<string name="notification_channel_network_alerts" msgid="2895141221414156525">"Ցանցային զգուշացումներ"</string>
@@ -1665,12 +1665,12 @@
<string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Մատչելիության դյուրանցումն միացրել է <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ծառայությունը"</string>
<string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Մատչելիության դյուրանցումն անջատել է <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ծառայությունը"</string>
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"«<xliff:g id="SERVICE_NAME">%1$s</xliff:g>» ծառայությունն օգտագործելու համար սեղմեք և 3 վայրկյան պահեք ձայնի ուժգնության երկու կոճակները"</string>
- <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Ընտրեք գործառույթ, որը կգործարկվի «Հատուկ գործառույթներ» կոճակին հպելու դեպքում՝"</string>
- <string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Ընտրեք գործառույթ, որը կգործարկվի հատուկ գործառույթների ժեստն անելու դեպքում (երկու մատը էկրանի ներքևից սահեցրեք վերև)՝"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Ընտրեք գործառույթ, որը կգործարկվի հատուկ գործառույթների ժեստն անելու դեպքում (երեք մատը էկրանի ներքևից սահեցրեք վերև)՝"</string>
- <string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Մեկ գործառույթից մյուսն անցնելու համար հպեք «Հատուկ գործառույթներ» կոճակին և պահեք:"</string>
- <string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Մեկ գործառույթից մյուսն անցնելու համար երկու մատը սահեցրեք վերև և պահեք:"</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Մեկ գործառույթից մյուսն անցնելու համար երեք մատը սահեցրեք վերև և պահեք:"</string>
+ <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Ընտրեք ծառայությունը, որը կգործարկվի «Հատուկ գործառույթներ» կոճակին հպելու դեպքում՝"</string>
+ <string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Ընտրեք ծառայությունը, որը կգործարկվի հատուկ գործառույթների ժեստն անելու դեպքում (երկու մատը էկրանի ներքևից սահեցրեք վերև)՝"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Ընտրեք ծառայությունը, որը կգործարկվի հատուկ գործառույթների ժեստն անելու դեպքում (երեք մատը էկրանի ներքևից սահեցրեք վերև)՝"</string>
+ <string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Մեկ ծառայությունից մյուսին անցնելու համար հպեք «Հատուկ գործառույթներ» կոճակին և պահեք:"</string>
+ <string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Մեկ ծառայությունից մյուսին անցնելու համար երկու մատը սահեցրեք վերև և պահեք:"</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Մեկ ծառայությունից մյուսին անցնելու համար երեք մատը սահեցրեք վերև և պահեք:"</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Խոշորացում"</string>
<string name="user_switched" msgid="3768006783166984410">"Ներկայիս օգտատերը <xliff:g id="NAME">%1$s</xliff:g>:"</string>
<string name="user_switching_message" msgid="2871009331809089783">"Փոխարկվում է <xliff:g id="NAME">%1$s</xliff:g>-ին..."</string>
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Ստուգել նոր տարբերակի առկայությունը"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Դուք ունեք նոր հաղորդագրություններ"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Դիտելու համար բացել SMS հավելվածը"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Որոշ գործառույթներ կարող են չգործել"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Որոշ գործառույթներ կարող են չաշխատել"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Աշխատանքային պրոֆիլը կողպված է"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Հպեք՝ այն ապակողպելու համար"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Միացված է <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>-ին"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 8aaff496..8436f7d 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -1665,7 +1665,7 @@
<string name="accessibility_shortcut_enabling_service" msgid="7771852911861522636">"Pintasan Aksesibilitas mengaktifkan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_shortcut_disabling_service" msgid="2747243438223109821">"Pintasan Aksesibilitas menonaktifkan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"Tekan dan tahan kedua tombol volume selama tiga detik untuk menggunakan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
- <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Pilih layanan yang akan digunakan saat menge-tap tombol aksesibilitas:"</string>
+ <string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Pilih layanan yang akan digunakan saat mengetuk tombol aksesibilitas:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Pilih layanan yang akan digunakan dengan gestur aksesibilitas (geser ke atas dari bawah layar dengan dua jari):"</string>
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Pilih layanan yang akan digunakan dengan gestur aksesibilitas (geser ke atas dari bawah layar dengan tiga jari):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Sentuh & tahan tombol aksesibilitas untuk beralih layanan."</string>
@@ -1806,7 +1806,7 @@
<string name="confirm_battery_saver" msgid="639106420541753635">"Oke"</string>
<string name="battery_saver_description_with_learn_more" msgid="2108984221113106294">"Penghemat Baterai menonaktifkan atau membatasi aktivitas di latar belakang, beberapa efek visual & fitur lain yang menggunakan banyak daya untuk memperpanjang masa pakai baterai. "<annotation id="url">"Pelajari Lebih Lanjut"</annotation></string>
<string name="battery_saver_description" msgid="6413346684861241431">"Penghemat Baterai menonaktifkan atau membatasi aktivitas di latar belakang, beberapa efek visual & fitur lain yang menggunakan banyak daya untuk memperpanjang masa pakai baterai."</string>
- <string name="data_saver_description" msgid="6015391409098303235">"Untuk membantu mengurangi penggunaan kuota, Penghemat Kuota Internet mencegah beberapa aplikasi mengirim atau menerima data di latar belakang. Aplikasi yang sedang digunakan dapat mengakses data, tetapi frekuensinya agak lebih jarang. Misalnya saja, gambar hanya akan ditampilkan setelah di-tap."</string>
+ <string name="data_saver_description" msgid="6015391409098303235">"Untuk membantu mengurangi penggunaan kuota, Penghemat Kuota Internet mencegah beberapa aplikasi mengirim atau menerima data di latar belakang. Aplikasi yang sedang digunakan dapat mengakses data, tetapi frekuensinya agak lebih jarang. Misalnya saja, gambar hanya akan ditampilkan setelah diketuk."</string>
<string name="data_saver_enable_title" msgid="4674073932722787417">"Aktifkan Penghemat Kuota?"</string>
<string name="data_saver_enable_button" msgid="7147735965247211818">"Aktifkan"</string>
<plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Periksa apakah ada update"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Ada pesan baru"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Buka aplikasi SMS untuk melihat"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Beberapa fungsi mungkin terbatas"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Beberapa fitur tidak dapat digunakan"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Profil kerja terkunci"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Tap untuk membuka kunci profil kerja"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Tersambung ke <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 7fcd844..c0fbf62 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Verifica la presenza di aggiornamenti"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Hai nuovi messaggi"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Apri l\'app SMS per la visualizzazione"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Funzionalità potenzialmente limitate"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Alcune funzionalità sono limitate"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Profilo di lavoro bloccato"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Tocca per sbloc. prof. di lav."</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Connesso a <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index 9c84017..d94324b 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"ផ្លាស់ទីទូរសព្ទទៅខាងឆ្វេង។"</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"ផ្លាស់ទីទូរសព្ទទៅខាងស្ដាំ។"</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"សូមមើលឱ្យចំឧបករណ៍របស់អ្នកជាងមុន។"</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"មើលមិនឃើញមុខងាររបស់អ្នកទេ។ សូមសម្លឹងមើលទូរសព្ទ។"</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"មើលមិនឃើញមុខរបស់អ្នកទេ។ សូមសម្លឹងមើលទូរសព្ទ។"</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"មានចលនាខ្លាំងពេក។ សូមកាន់ទូរសព្ទឱ្យនឹង។"</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"សូមស្កេនបញ្ចូលមុខរបស់អ្នកម្ដងទៀត។"</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"មិនអាចសម្គាល់មុខបានទៀតទេ។ សូមព្យាយាមម្ដងទៀត។"</string>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index 6fd9a29..951f9a1 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"ಅನ್ಲಾಕ್ ಪ್ರದೇಶವನ್ನು ವಿಸ್ತರಿಸು."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"ಸ್ಲೈಡ್ ಅನ್ಲಾಕ್."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"ಪ್ಯಾಟರ್ನ್ ಅನ್ಲಾಕ್."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"ಮುಖದ ಅನ್ಲಾಕ್."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"ಫೇಸ್ ಅನ್ಲಾಕ್."</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"ಪಿನ್ ಅನ್ಲಾಕ್."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"ಸಿಮ್ ಪಿನ್ ಅನ್ಲಾಕ್ ಮಾಡಿ."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"ಸಿಮ್ PUK ಅನ್ಲಾಕ್ ಮಾಡಿ."</string>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index d5aa733..f20dfab 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -255,7 +255,7 @@
<string name="notification_channel_physical_keyboard" msgid="7297661826966861459">"Аппараттык баскычтоп"</string>
<string name="notification_channel_security" msgid="7345516133431326347">"Коопсуздук"</string>
<string name="notification_channel_car_mode" msgid="3553380307619874564">"Унаа режими"</string>
- <string name="notification_channel_account" msgid="7577959168463122027">"Каттоо эсебинин абалы"</string>
+ <string name="notification_channel_account" msgid="7577959168463122027">"Аккаунттун абалы"</string>
<string name="notification_channel_developer" msgid="7579606426860206060">"Иштеп чыгуучунун билдирүүлөрү"</string>
<string name="notification_channel_updates" msgid="4794517569035110397">"Жаңыртуулар"</string>
<string name="notification_channel_network_status" msgid="5025648583129035447">"Тармактын абалы"</string>
@@ -1669,10 +1669,10 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> кызматын колдонуу үчүн үнүн чоңойтуп/кичирейтүү баскычтарын үч секунд коё бербей басып туруңуз"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Атайын мүмкүнчүлүктөр баскычын таптаганыңызда иштей турган кызматты тандаңыз:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Атайын мүмкүнчүлүктөр жаңсоосу үчүн кызматты тандаңыз (эки манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүңүз):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Атайын мүмкүнчүлүктөр жаңсоосу үчүн кызматты тандаңыз (үч манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүңүз):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Атайын мүмкүнчүлүктөр жаңсоосу аркылуу иштетиле турган кызматты тандаңыз (үч манжаңыз менен экрандын ылдый жагынан өйдө карай сүрүңүз):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Кызматтарды которуштуруу үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Кызматтарды которуштуруу үчүн эки манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Кызматтарды которуштуруу үчүн үч манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Башка кызматка которулуу үчүн үч манжаңыз менен экранды өйдө сүрүп, кармап туруңуз."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Чоңойтуу"</string>
<string name="user_switched" msgid="3768006783166984410">"Учурдагы колдонуучу <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"<xliff:g id="NAME">%1$s</xliff:g> дегенге которулууда…"</string>
@@ -1905,7 +1905,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Жаңыртууну издөө"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Сизге жаңы билдирүүлөр келди"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Көрүү үчүн SMS колдонмосун ачыңыз"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Айрым функциялар чектелиши мүмкүн"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Айрым функциялар иштебеши мүмкүн"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Жумуш профили кулпуланган"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Таптап жумуш профилин ачыңыз"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"<xliff:g id="PRODUCT_NAME">%1$s</xliff:g> менен туташты"</string>
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index c3e7575..ec9d102 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -581,7 +581,7 @@
</string-array>
<string name="face_error_hw_not_available" msgid="396883585636963908">"Ликот не може да се потврди. Хардвер - недостапен."</string>
<string name="face_error_timeout" msgid="981512090365729465">"Пробајте „Отклучување со лик“ повторно."</string>
- <string name="face_error_no_space" msgid="2712120617457553825">"Не зачувува податоци за нов лик. Прво избришете стар."</string>
+ <string name="face_error_no_space" msgid="2712120617457553825">"Не се зачуваа податоците за нов лик. Избришете го стариот."</string>
<string name="face_error_canceled" msgid="283945501061931023">"Операцијата со лице се откажа."</string>
<string name="face_error_user_canceled" msgid="5317030072349668946">"„Отклучувањето со лик“ е откажано од корисникот."</string>
<string name="face_error_lockout" msgid="3407426963155388504">"Премногу обиди. Обидете се повторно подоцна."</string>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index ae6b92e..a32b7d8 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Түгжээгүй хэсгийг өргөсгөх."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Тайлах гулсуулалт."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Тайлах хээ."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Нүүрээр тайлах"</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Царайгаар тайлах"</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Тайлах пин."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"Sim-н пин кодыг тайлна уу."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"Sim-н Puk кодыг тайлна уу."</string>
@@ -1667,7 +1667,7 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>-г ашиглахын тулд дууны түвшнийг ихэсгэх, багасгах түлхүүрийг 3 секундийн турш зэрэг дарна уу"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Хандалтын товчлуурыг товшихдоо ашиглах үйлчилгээг сонгоно уу:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Хандалтын зангаатай ашиглах үйлчилгээг сонгоно уу (хоёр хуруугаараа дэлгэцийн доороос дээш шударна уу):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Хүртээмжийн зангаатай ашиглах үйлчилгээг сонгоно уу (гурван хуруугаараа дэлгэцийн доороос дээш шударна уу):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Хандалтын зангаатай ашиглах үйлчилгээг сонгоно уу (гурван хуруугаараа дэлгэцийн доороос дээш шударна уу):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Үйлчилгээнүүд хооронд сэлгэхийн тулд хандалтын товчлуурт хүрээд удаан дарна уу."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Үйлчилгээнүүд хооронд сэлгэхийн тулд хоёр хуруугаараа дээш шудраад удаан дарна уу."</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Үйлчилгээнүүд хооронд сэлгэхийн тулд гурван хуруугаараа дээш шудраад удаан дарна уу."</string>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index 259e497..ec8cb23 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -219,7 +219,7 @@
<string name="reboot_safemode_title" msgid="7054509914500140361">"सुरक्षित मोडमध्ये रीबूट करा"</string>
<string name="reboot_safemode_confirm" msgid="55293944502784668">"तुम्ही सुरक्षित मोडमध्ये रीबूट करू इच्छिता? हे तुम्ही इंस्टॉल केलेले सर्व तृतीय पक्ष अॅप्लिकेशन अक्षम करेल. तुम्ही पुन्हा रीबूट करता तेव्हा ते पुनर्संचयित केले जातील."</string>
<string name="recent_tasks_title" msgid="3691764623638127888">"अलीकडील"</string>
- <string name="no_recent_tasks" msgid="8794906658732193473">"अलीकडील कोणतेही अॅप्स नाहीत."</string>
+ <string name="no_recent_tasks" msgid="8794906658732193473">"अलीकडील कोणतेही अॅप्स नाहीत."</string>
<string name="global_actions" product="tablet" msgid="408477140088053665">"टॅबलेट पर्याय"</string>
<string name="global_actions" product="tv" msgid="7240386462508182976">"टीव्ही पर्याय"</string>
<string name="global_actions" product="default" msgid="2406416831541615258">"फोन पर्याय"</string>
@@ -278,21 +278,21 @@
<string name="managed_profile_label" msgid="8947929265267690522">"कार्य प्रोफाइलवर स्विच करा"</string>
<string name="permgrouplab_contacts" msgid="3657758145679177612">"संपर्क"</string>
<string name="permgroupdesc_contacts" msgid="6951499528303668046">"आपल्या संपर्कांवर प्रवेश"</string>
- <string name="permgrouprequest_contacts" msgid="6032805601881764300">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे संपर्क अॅक्सेस करू द्यायचे?"</string>
+ <string name="permgrouprequest_contacts" msgid="6032805601881764300">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे संपर्क अॅक्सेस करू द्यायचे?"</string>
<string name="permgrouplab_location" msgid="7275582855722310164">"स्थान"</string>
<string name="permgroupdesc_location" msgid="1346617465127855033">"या डिव्हाइसच्या स्थानावर प्रवेश"</string>
<string name="permgrouprequest_location" msgid="3788275734953323491">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला या डिव्हाइसचे स्थान अॅक्सेस करू द्यायचे?"</string>
- <string name="permgrouprequestdetail_location" msgid="1347189607421252902">"तुम्ही अॅप वापरत असताना अॅपला फक्त स्थानाचा अॅक्सेस असेल"</string>
+ <string name="permgrouprequestdetail_location" msgid="1347189607421252902">"तुम्ही अॅप वापरत असताना अॅपला फक्त स्थानाचा अॅक्सेस असेल"</string>
<string name="permgroupbackgroundrequest_location" msgid="5039063878675613235">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला <b>प्रत्येक वेळी</b> या डिव्हाइसच्या स्थानाचा अॅक्सेस द्यायचा?"</string>
<string name="permgroupbackgroundrequestdetail_location" msgid="4597006851453417387">"अॅप सध्या फक्त तुम्ही अॅप वापरत असतानाच स्थान अॅक्सेस करू शकते"</string>
<string name="permgrouplab_calendar" msgid="5863508437783683902">"कॅलेंडर"</string>
<string name="permgroupdesc_calendar" msgid="3889615280211184106">"आपल्या कॅलेंडरवर प्रवेश"</string>
- <string name="permgrouprequest_calendar" msgid="289900767793189421">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे कॅलेंडर अॅक्सेस करू द्यायचे?"</string>
+ <string name="permgrouprequest_calendar" msgid="289900767793189421">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे कॅलेंडर अॅक्सेस करू द्यायचे?"</string>
<string name="permgrouplab_sms" msgid="228308803364967808">"SMS"</string>
<string name="permgroupdesc_sms" msgid="4656988620100940350">"SMS मेसेज पाठवणे आणि पाहणे हे"</string>
<string name="permgrouprequest_sms" msgid="7168124215838204719">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला एसएमएस पाठवू आणि पाहू द्यायचे?"</string>
<string name="permgrouplab_storage" msgid="1971118770546336966">"स्टोरेज"</string>
- <string name="permgroupdesc_storage" msgid="637758554581589203">"तुमच्या डिव्हाइस वरील फोटो, मीडिया आणि फायलींमध्ये अॅक्सेस"</string>
+ <string name="permgroupdesc_storage" msgid="637758554581589203">"तुमच्या डिव्हाइस वरील फोटो, मीडिया आणि फायलींमध्ये अॅक्सेस"</string>
<string name="permgrouprequest_storage" msgid="7885942926944299560">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या डिव्हाइसवरील फोटो, मीडिया आणि फायली अॅक्सेस करू द्यायचे?"</string>
<string name="permgrouplab_microphone" msgid="171539900250043464">"मायक्रोफोन"</string>
<string name="permgroupdesc_microphone" msgid="4988812113943554584">"ऑडिओ रेकॉर्ड"</string>
@@ -305,13 +305,13 @@
<string name="permgrouprequest_camera" msgid="1299833592069671756">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला फोटो घेऊ आणि व्हिडिओ रेकॉर्ड करू द्यायचे?"</string>
<string name="permgrouplab_calllog" msgid="8798646184930388160">"कॉल लॉग"</string>
<string name="permgroupdesc_calllog" msgid="3006237336748283775">"फोन कॉल लॉग वाचा आणि लिहा"</string>
- <string name="permgrouprequest_calllog" msgid="8487355309583773267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे फोन कॉल लॉग अॅक्सेस करण्याची अनुमती द्यायची का?"</string>
+ <string name="permgrouprequest_calllog" msgid="8487355309583773267">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमचे फोन कॉल लॉग अॅक्सेस करण्याची अनुमती द्यायची का?"</string>
<string name="permgrouplab_phone" msgid="5229115638567440675">"फोन"</string>
<string name="permgroupdesc_phone" msgid="6234224354060641055">"फोन कॉल आणि व्यवस्थापित"</string>
<string name="permgrouprequest_phone" msgid="9166979577750581037">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला फोन कॉल करू आणि ते व्यवस्थापित करू द्यायचे?"</string>
<string name="permgrouplab_sensors" msgid="4838614103153567532">"शरीर सेन्सर"</string>
- <string name="permgroupdesc_sensors" msgid="7147968539346634043">"आपल्या महत्त्वाच्या मापनांविषयी सेंसर डेटा अॅक्सेस करा"</string>
- <string name="permgrouprequest_sensors" msgid="6349806962814556786">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या महत्त्वाच्या लक्षणांविषयीचा सेन्सर डेटा अॅक्सेस करू द्यायचे?"</string>
+ <string name="permgroupdesc_sensors" msgid="7147968539346634043">"आपल्या महत्त्वाच्या मापनांविषयी सेंसर डेटा अॅक्सेस करा"</string>
+ <string name="permgrouprequest_sensors" msgid="6349806962814556786">"<b><xliff:g id="APP_NAME">%1$s</xliff:g></b> ला तुमच्या महत्त्वाच्या लक्षणांविषयीचा सेन्सर डेटा अॅक्सेस करू द्यायचे?"</string>
<string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"विंडोमधील आशय पुन्हा मिळवा"</string>
<string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"तुम्ही वापरत असलेल्या विंडोमधील आशय तपासा."</string>
<string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"स्पर्श करून अन्वेषण चालू करा"</string>
@@ -354,15 +354,15 @@
<string name="permdesc_readSms" product="default" msgid="6826832415656437652">"हा अॅप तुमच्या फोनवर स्टोअर केलेले सर्व SMS (मजकूर) मेसेज वाचू शकतो."</string>
<string name="permlab_receiveWapPush" msgid="5991398711936590410">"मजकूर मेसेज मिळवा (WAP)"</string>
<string name="permdesc_receiveWapPush" msgid="748232190220583385">"WAP मेसेज प्राप्त करण्यास आणि त्यावर प्रक्रिया करण्यासाठी अॅप ला अनुमती देते. ही परवानगी तुम्हाला पाठविलेले मेसेज तुम्हाला न दर्शविता त्यांचे परीक्षण करण्याची आणि ते हटविण्याची क्षमता समाविष्ट करते."</string>
- <string name="permlab_getTasks" msgid="6466095396623933906">"चालणारे अॅप्स पुनर्प्राप्त करा"</string>
+ <string name="permlab_getTasks" msgid="6466095396623933906">"चालणारे अॅप्स पुनर्प्राप्त करा"</string>
<string name="permdesc_getTasks" msgid="7454215995847658102">"सध्या आणि अलीकडे चालणार्या कार्यांविषयी माहिती पुनर्प्राप्त करण्यासाठी अॅप ला अनुमती देते. हे डिव्हाइसवर कोणते अॅप्लिकेशन वापरले जात आहेत त्याविषयी माहिती शोधण्यासाठी अॅप ला अनुमती देऊ शकतात."</string>
<string name="permlab_manageProfileAndDeviceOwners" msgid="7918181259098220004">"प्रोफाईल आणि डिव्हाइस मालक व्यवस्थापित करा"</string>
<string name="permdesc_manageProfileAndDeviceOwners" msgid="106894851498657169">"प्रोफाईल मालक आणि डिव्हाइस मालक सेट करण्याची अॅप्सना अनुमती द्या."</string>
- <string name="permlab_reorderTasks" msgid="2018575526934422779">"चालणारे अॅप्स पुनर्क्रमित करा"</string>
+ <string name="permlab_reorderTasks" msgid="2018575526934422779">"चालणारे अॅप्स पुनर्क्रमित करा"</string>
<string name="permdesc_reorderTasks" msgid="7734217754877439351">"समोर आणि पार्श्वभूमीवर कार्ये हलविण्यासाठी अॅप ला अनुमती देते. अॅप हे आपल्या इनपुटशिवाय करू शकतो."</string>
<string name="permlab_enableCarMode" msgid="5684504058192921098">"कार मोड सुरू करा"</string>
<string name="permdesc_enableCarMode" msgid="4853187425751419467">"कार मोड सक्षम करण्यासाठी अॅप ला अनुमती देते."</string>
- <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"अन्य अॅप्स बंद करा"</string>
+ <string name="permlab_killBackgroundProcesses" msgid="3914026687420177202">"अन्य अॅप्स बंद करा"</string>
<string name="permdesc_killBackgroundProcesses" msgid="4593353235959733119">"अन्य अॅप्सच्या पार्श्वभूमी प्रक्रिया समाप्त करण्यासाठी अॅप ला अनुमती देते. यामुळे अन्य अॅप्स चालणे थांबू शकते."</string>
<string name="permlab_systemAlertWindow" msgid="7238805243128138690">"हा अॅप इतर अॅप्सच्या शीर्षस्थानी दिसू शकतो."</string>
<string name="permdesc_systemAlertWindow" msgid="2393776099672266188">"हे अॅप इतर अॅप्सच्या शीर्षस्थानी किंवा स्क्रीनच्या इतर भागांवर दिसू शकतो. हे सामान्य अॅप वापरात व्यत्यय आणू शकते किंवा इतर अॅप्सची डिस्प्ले पद्धत बदलू शकते."</string>
@@ -390,7 +390,7 @@
<string name="permdesc_broadcastSticky" product="default" msgid="2825803764232445091">"रोचक प्रसारणे पाठविण्यासाठी अॅप ला अनुमती देते, जे प्रसारण समाप्त झाल्यानंतर देखील तसेच राहते. अत्याधिक वापरामुळे बरीच मेमरी वापरली जाऊन तो फोनला धीमा किंवा अस्थिर करू शकतो."</string>
<string name="permlab_readContacts" msgid="8348481131899886131">"तुमचे संपर्क वाचा"</string>
<string name="permdesc_readContacts" product="tablet" msgid="5294866856941149639">"तुम्ही कॉल केलेल्या, ईमेल केलेल्या किंवा विशिष्ट लोकांशी अन्य मार्गांनी संवाद प्रस्थापित केलेल्या लोकांच्या फ्रिक्वेन्सीसह, आपल्या टॅब्लेटवर स्टोअर केलेल्या आपल्या संपर्कांविषयीचा डेटा वाचण्यासाठी अॅप ला अनुमती देते. ही परवानगी तुमचा संपर्क डेटा सेव्ह करण्याची अॅप्स ला अनुमती देते आणि दुर्भावनापूर्ण अॅप्स आपल्या माहितीशिवाय संपर्क डेटा शेअर करू शकतात."</string>
- <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"तुम्ही विशिष्ट लोकांना इतर मार्गांनी कॉल केलेल्या, ईमेल केलेल्या किंवा संप्रेषित केलेल्या फ्रिक्वेन्सीसह, आपल्या टीव्हीवर स्टोअर केलेल्या आपल्या संपर्कांविषयीचा डेटा वाचण्यासाठी अॅप्सला अनुमती देतात. ही परवागनी अॅप्सला तुमचा संपर्क डेटा सेव्ह करण्यासाठी अनुमती देते आणि दुर्भावनापूर्ण अॅप्स तुम्हाला न कळविता संपर्क डेटा शेअर करू शकतात."</string>
+ <string name="permdesc_readContacts" product="tv" msgid="1839238344654834087">"तुम्ही विशिष्ट लोकांना इतर मार्गांनी कॉल केलेल्या, ईमेल केलेल्या किंवा संप्रेषित केलेल्या फ्रिक्वेन्सीसह, आपल्या टीव्हीवर स्टोअर केलेल्या आपल्या संपर्कांविषयीचा डेटा वाचण्यासाठी अॅप्सला अनुमती देतात. ही परवागनी अॅप्सला तुमचा संपर्क डेटा सेव्ह करण्यासाठी अनुमती देते आणि दुर्भावनापूर्ण अॅप्स तुम्हाला न कळविता संपर्क डेटा शेअर करू शकतात."</string>
<string name="permdesc_readContacts" product="default" msgid="8440654152457300662">"तुम्ही कॉल केलेल्या, ईमेल केलेल्या किंवा विशिष्ट लोकांशी अन्य मार्गांनी संवाद प्रस्थापित केलेल्या लोकांच्या फ्रिक्वेन्सीसह, आपल्या फोनवर स्टोअर केलेल्या आपल्या संपर्कांविषयीचा डेटा वाचण्यासाठी अॅप ला अनुमती देते. ही परवानगी तुमचा संपर्क डेटा सेव्ह करण्याची अॅप्स ला अनुमती देते आणि दुर्भावनापूर्ण अॅप्स आपल्या माहितीशिवाय संपर्क डेटा शेअर करू शकतात."</string>
<string name="permlab_writeContacts" msgid="5107492086416793544">"तुमचे संपर्क सुधारित करा"</string>
<string name="permdesc_writeContacts" product="tablet" msgid="897243932521953602">"तुम्ही विशिष्ट संपर्कांशी अन्य मार्गांनी कॉल केलेल्या, ईमेल केलेल्या किंवा संवाद प्रस्थापित केलेल्या फ्रिक्वेन्सीसह, आपल्या टॅब्लेटवर स्टोअर केलेल्या आपल्या संपर्कांविषयीचा डेटा सुधारित करण्यासाठी अॅप ला अनुमती देते. ही परवानगी संपर्क डेटा हटविण्यासाठी अॅप ला अनुमती देते."</string>
@@ -400,9 +400,9 @@
<string name="permdesc_readCallLog" msgid="3204122446463552146">"हा अॅप तुमचा कॉल इतिहास वाचू शकता."</string>
<string name="permlab_writeCallLog" msgid="8552045664743499354">"कॉल लॉग लिहा"</string>
<string name="permdesc_writeCallLog" product="tablet" msgid="6661806062274119245">"येणार्या आणि केल्या जाणार्या कॉलविषयीच्या डेटासह, आपल्या टॅब्लेटचा कॉल लॉग सुधारित करण्यासाठी अॅप ला अनुमती देते. दुर्भावनापूर्ण अॅप्स तुमचा कॉल लॉग मिटवण्यासाठी किंवा सुधारित करण्यासाठी याचा वापर करू शकतात."</string>
- <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"येणार्या आणि केल्या जाणार्या कॉलविषयीच्या डेटासह, आपल्या टीव्हीचा कॉल लॉग सुधारित करण्यासाठी अॅपला अनुमती देते. दुर्भावनापूर्ण अॅप्स तुमचा कॉल लॉग मिटवण्यासाठी किंवा सुधारित करण्यासाठी याचा वापर करू शकतात."</string>
+ <string name="permdesc_writeCallLog" product="tv" msgid="4225034892248398019">"येणार्या आणि केल्या जाणार्या कॉलविषयीच्या डेटासह, आपल्या टीव्हीचा कॉल लॉग सुधारित करण्यासाठी अॅपला अनुमती देते. दुर्भावनापूर्ण अॅप्स तुमचा कॉल लॉग मिटवण्यासाठी किंवा सुधारित करण्यासाठी याचा वापर करू शकतात."</string>
<string name="permdesc_writeCallLog" product="default" msgid="683941736352787842">"येणार्या आणि केल्या जाणार्या कॉलविषयीच्या डेटासह, आपल्या फोनचा कॉल लॉग सुधारित करण्यासाठी अॅप ला अनुमती देते. दुर्भावनापूर्ण अॅप्स तुमचा कॉल लॉग मिटवण्यासाठी किंवा सुधारित करण्यासाठी याचा वापर करू शकतात."</string>
- <string name="permlab_bodySensors" msgid="4683341291818520277">"शरीर सेंसर (हृदय गती मॉनिटरसारखे) अॅक्सेस करा"</string>
+ <string name="permlab_bodySensors" msgid="4683341291818520277">"शरीर सेंसर (हृदय गती मॉनिटरसारखे) अॅक्सेस करा"</string>
<string name="permdesc_bodySensors" product="default" msgid="4380015021754180431">"हृदय गती सारख्या, आपल्या शारीरिक स्थितीचे नियंत्रण करणार्या सेन्सरवरून डेटामध्ये प्रवेश करण्यासाठी अॅपला अनुमती देते."</string>
<string name="permlab_readCalendar" msgid="6716116972752441641">"कॅलेंडर इव्हेंट आणि तपशील वाचा"</string>
<string name="permdesc_readCalendar" product="tablet" msgid="4993979255403945892">"हा अॅप आपल्या टॅब्लेटवर स्टोअर केलेले सर्व कॅलेंडर इव्हेंट वाचू आणि शेअर करू शकतो किंवा तुमचा कॅलेंडर डेटा सेव्ह करू शकतो."</string>
@@ -412,7 +412,7 @@
<string name="permdesc_writeCalendar" product="tablet" msgid="1675270619903625982">"हा अॅप आपल्या टॅब्लेटवर कॅलेंडर इव्हेंट जोडू, काढू किंवा बदलू शकतो. हा अॅप कॅलेंडर मालकांकडून येत आहेत असे वाटणारे मेसेज पाठवू किंवा त्यांच्या मालकांना सूचित केल्याशिवाय इव्हेंट बदलू शकतो."</string>
<string name="permdesc_writeCalendar" product="tv" msgid="9017809326268135866">"हा अॅप आपल्या टीव्हीवर कॅलेंडर इव्हेंट जोडू, काढू किंवा बदलू शकतो. हा अॅप कॅलेंडर मालकांकडून येत आहेत असे वाटणारे मेसेज पाठवू किंवा त्यांच्या मालकांना सूचित केल्याशिवाय इव्हेंट बदलू शकतो."</string>
<string name="permdesc_writeCalendar" product="default" msgid="7592791790516943173">"हा अॅप आपल्या फोनवर कॅलेंडर इव्हेंट जोडू, काढू किंवा बदलू शकतो. हा अॅप कॅलेंडर मालकांकडून येत आहेत असे वाटणारे मेसेज पाठवू किंवा त्यांच्या मालकांना सूचित केल्याशिवाय इव्हेंट बदलू शकतो."</string>
- <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"अतिरिक्त स्थान प्रदाता आदेश अॅक्सेस करा"</string>
+ <string name="permlab_accessLocationExtraCommands" msgid="2836308076720553837">"अतिरिक्त स्थान प्रदाता आदेश अॅक्सेस करा"</string>
<string name="permdesc_accessLocationExtraCommands" msgid="6078307221056649927">"अॅपला अतिरिक्त स्थान प्रदाता आदेशावर प्रवेश करण्याची अनुमती देते. हे कदाचित अॅपला GPS किंवा इतर स्थान स्रोत च्या ऑपरेशनमध्ये हस्तक्षेप करण्याची अनुमती देऊ शकते."</string>
<string name="permlab_accessFineLocation" msgid="6265109654698562427">"फक्त फोरग्राउंडमध्ये अचूकपणे अॅक्सेस करा"</string>
<string name="permdesc_accessFineLocation" msgid="3520508381065331098">"हे अॅप फक्त फोरग्राउंडमध्ये असतानाच तुमचे अचूक स्थान मिळवू शकते. या स्थान सेवा सुरू करणे आणि त्या वापरण्यासाठी अॅपसाठी तुमच्या फोनवर उपलब्ध करणे आवश्यक आहे, यामुळे बॅटरी वापर वाढू शकतो."</string>
@@ -420,8 +420,8 @@
<string name="permdesc_accessCoarseLocation" product="tablet" msgid="8594719010575779120">"हे अॅप फक्त फोरग्राउंडमध्ये असतानाच, सेल टॉवर आणि वाय-फाय नेटवर्क सारख्या नेटवर्क स्रोतवर आधारित तुमचे स्थान मिळवू शकते. त्या वापरण्याकरता अॅपसाठी, या स्थान सेवा सुरू करणे आणि त्या तुमच्या टॅबलेटवर उपलब्ध करणे आवश्यक आहे."</string>
<string name="permdesc_accessCoarseLocation" product="tv" msgid="3027871910200890806">"हे अॅप फक्त फोरग्राउंडमध्ये असतानाच, सेल टॉवर आणि वाय-फाय नेटवर्क सारख्या नेटवर्क स्रोतवर आधारित तुमचे स्थान मिळवू शकते. त्या वापरण्याकरता अॅपसाठी, या स्थान सेवा सुरू करणे आणि त्या तुमच्या टीव्हीवर उपलब्ध करणे आवश्यक आहे."</string>
<string name="permdesc_accessCoarseLocation" product="default" msgid="854896049371048754">"हे अॅप फक्त फोरग्राउंडमध्ये असतानाच, सेल टॉवर आणि वाय-फाय नेटवर्क सारख्या नेटवर्क स्रोतवर आधारित तुमचे स्थान मिळवू शकते. ते वापरण्याकरता अॅपसाठी, या स्थान सेवा सुरू करणे आणि त्या तुमच्या फोनवर उपलब्ध करणे आवश्यक आहे."</string>
- <string name="permlab_accessBackgroundLocation" msgid="3965397804300661062">"बॅकग्राउंडमध्ये स्थान अॅक्सेस करू शकतो"</string>
- <string name="permdesc_accessBackgroundLocation" msgid="1096394429579210251">"याला अंदाजे किंवा अचूक स्थान अॅक्सेस करण्यास अतिरिक्त मंजूरी दिल्यास, बॅकग्राउंडमध्ये चालतांना अॅप स्थान अॅक्सेस करू शकतो."</string>
+ <string name="permlab_accessBackgroundLocation" msgid="3965397804300661062">"बॅकग्राउंडमध्ये स्थान अॅक्सेस करू शकतो"</string>
+ <string name="permdesc_accessBackgroundLocation" msgid="1096394429579210251">"याला अंदाजे किंवा अचूक स्थान अॅक्सेस करण्यास अतिरिक्त मंजूरी दिल्यास, बॅकग्राउंडमध्ये चालतांना अॅप स्थान अॅक्सेस करू शकतो."</string>
<string name="permlab_modifyAudioSettings" msgid="6095859937069146086">"आपल्या ऑडिओ सेटिंग्ज बदला"</string>
<string name="permdesc_modifyAudioSettings" msgid="3522565366806248517">"व्हॉल्यूम आणि आउटपुटसाठी कोणता स्पीकर वापरला आहे यासारख्या समग्र ऑडिओ सेटिंग्ज सुधारित करण्यासाठी अॅप ला अनुमती देते."</string>
<string name="permlab_recordAudio" msgid="3876049771427466323">"ऑडिओ रेकॉर्ड"</string>
@@ -436,10 +436,10 @@
<string name="permdesc_vibrate" msgid="6284989245902300945">"अॅप ला व्हायब्रेटर नियंत्रित करण्यासाठी अनुमती देते."</string>
<string name="permlab_callPhone" msgid="3925836347681847954">"फोन नंबरवर प्रत्यक्ष कॉल करा"</string>
<string name="permdesc_callPhone" msgid="3740797576113760827">"आपल्या हस्तक्षेपाशिवाय फोन नंबरवर कॉल करण्यासाठी अॅप ला अनुमती देते. यामुळे अनपेक्षित शुल्क किंवा कॉल लागू शकतात. लक्षात ठेवा की हे आणीबाणीच्या नंबरवर कॉल करण्यासाठी अॅप ला अनुमती देत नाही. दुर्भावनापूर्ण अॅप्स नी आपल्या पुष्टिकरणाशिवाय कॉल केल्यामुळे तुमचे पैसे खर्च होऊ शकतात."</string>
- <string name="permlab_accessImsCallService" msgid="3574943847181793918">"IMS कॉल सेवा अॅक्सेस करा"</string>
+ <string name="permlab_accessImsCallService" msgid="3574943847181793918">"IMS कॉल सेवा अॅक्सेस करा"</string>
<string name="permdesc_accessImsCallService" msgid="8992884015198298775">"आपल्या हस्तक्षेपाशिवाय अॅपला कॉल करण्यासाठी IMS सेवा वापरण्याची अनुमती देते."</string>
<string name="permlab_readPhoneState" msgid="9178228524507610486">"फोन स्थिती आणि ओळख वाचा"</string>
- <string name="permdesc_readPhoneState" msgid="1639212771826125528">"डिव्हाइस च्या फोन वैशिष्ट्यांवर अॅक्सेस करण्यास अॅपला अनुमती देते. ही परवानगी कॉल अॅक्टिव्हेट असला किंवा नसला तरीही, फोन नंबर आणि डिव्हाइस आयडी आणि कॉलद्वारे कनेक्ट केलेला रिमोट नंबर निर्धारित करण्यासाठी अॅपला अनुमती देते."</string>
+ <string name="permdesc_readPhoneState" msgid="1639212771826125528">"डिव्हाइस च्या फोन वैशिष्ट्यांवर अॅक्सेस करण्यास अॅपला अनुमती देते. ही परवानगी कॉल अॅक्टिव्हेट असला किंवा नसला तरीही, फोन नंबर आणि डिव्हाइस आयडी आणि कॉलद्वारे कनेक्ट केलेला रिमोट नंबर निर्धारित करण्यासाठी अॅपला अनुमती देते."</string>
<string name="permlab_manageOwnCalls" msgid="1503034913274622244">"प्रणालीच्या माध्यमातून कॉल रूट करा"</string>
<string name="permdesc_manageOwnCalls" msgid="6552974537554717418">"कॉल करण्याचा अनुभव सुधारण्यासाठी अॅपला त्याचे कॉल प्रणालीच्या माध्यमातून रूट करू देते."</string>
<string name="permlab_callCompanionApp" msgid="3599252979411970473">"सिस्टम वापरून कॉल पाहा आणि नियंत्रण ठेवा."</string>
@@ -481,12 +481,12 @@
<string name="permlab_accessWifiState" msgid="5202012949247040011">"वाय-फाय कनेक्शन पहा"</string>
<string name="permdesc_accessWifiState" msgid="5002798077387803726">"वाय-फाय सक्षम केले आहे किंवा नाही आणि कनेक्ट केलेल्या वाय-फाय डीव्हाइसचे नाव यासारख्या, वाय-फाय नेटवर्किंग विषयीची माहिती पाहण्यासाठी अॅप ला अनुमती देते."</string>
<string name="permlab_changeWifiState" msgid="6550641188749128035">"वाय-फाय वरून कनेक्ट करा आणि डिस्कनेक्ट करा"</string>
- <string name="permdesc_changeWifiState" msgid="7137950297386127533">"वाय-फाय अॅक्सेस बिंदूंवर कनेक्ट करण्यासाठी आणि त्यावरून डिस्कनेक्ट करण्यासाठी आणि वाय-फाय नेटवर्कसाठी डिव्हाइस कॉंफिगरेशनमध्ये बदल करण्यासाठी अॅपला अनुमती देते."</string>
+ <string name="permdesc_changeWifiState" msgid="7137950297386127533">"वाय-फाय अॅक्सेस बिंदूंवर कनेक्ट करण्यासाठी आणि त्यावरून डिस्कनेक्ट करण्यासाठी आणि वाय-फाय नेटवर्कसाठी डिव्हाइस कॉंफिगरेशनमध्ये बदल करण्यासाठी अॅपला अनुमती देते."</string>
<string name="permlab_changeWifiMulticastState" msgid="1368253871483254784">"वाय-फाय मल्टिकास्ट रिसेप्शनला अनुमती द्या"</string>
<string name="permdesc_changeWifiMulticastState" product="tablet" msgid="7969774021256336548">"मल्टिकास्ट पत्ते वापरून फक्त तुमच्या टॅब्लेटवर नाही, तर वाय-फाय नेटवर्कवरील सर्व डीव्हाइसवर पाठविलेले पॅकेट प्राप्त करण्यासाठी अॅप ला अनुमती देते. हे मल्टिकास्टखेरिज इतर मोडसाठी अधिक पॉवर वापरते."</string>
<string name="permdesc_changeWifiMulticastState" product="tv" msgid="9031975661145014160">"केवळ तुमचा टीव्ही न वापरता, एकाधिक पत्ते वापरून एका वाय-फाय नेटवकवरील सर्व डीव्हाइसवर पाठविलेली पॅकेट प्राप्त करण्यासाठी अॅपला अनुमती देते."</string>
<string name="permdesc_changeWifiMulticastState" product="default" msgid="6851949706025349926">"मल्टिकास्ट पत्ते वापरून फक्त तुमच्या फोनवर नाही, तर वाय-फाय नेटवर्कवरील सर्व डीव्हाइसवर पाठविलेले पॅकेट प्राप्त करण्यासाठी अॅप ला अनुमती देते. हे मल्टिकास्टखेरिज इतर मोडसाठी अधिक पॉवर वापरते."</string>
- <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"ब्लूटूथ सेटिंग्ज अॅक्सेस करा"</string>
+ <string name="permlab_bluetoothAdmin" msgid="6006967373935926659">"ब्लूटूथ सेटिंग्ज अॅक्सेस करा"</string>
<string name="permdesc_bluetoothAdmin" product="tablet" msgid="6921177471748882137">"स्थानिक ब्लूटूथ टॅबलेट कॉंफिगर करण्याकरिता आणि दूरस्थ डिव्हाइस शोधण्यासाठी आणि त्यासह जोडण्यासाठी अॅप ला अनुमती देते."</string>
<string name="permdesc_bluetoothAdmin" product="tv" msgid="3373125682645601429">"स्थानिक ब्लूटूथ टीव्ही कॉंफिगर करण्यासाठी आणि दूरस्थ डीव्हाइससह शोधण्यासाठी आणि जोडण्यासाठी अॅपला अनुमती देते."</string>
<string name="permdesc_bluetoothAdmin" product="default" msgid="8931682159331542137">"स्थानिक ब्लूटूथ फोन कॉंफिगर करण्याकरिता आणि दूरस्थ डिव्हाइस शोधण्यासाठी आणि त्यासह जोडण्यासाठी अॅप ला अनुमती देते."</string>
@@ -622,7 +622,7 @@
<string name="permlab_manageNetworkPolicy" msgid="2562053592339859990">"नेटवर्क धोरण व्यवस्थापित करा"</string>
<string name="permdesc_manageNetworkPolicy" msgid="7537586771559370668">"नेटवर्क धोरणे व्यवस्थापित करण्यासाठी आणि अॅप-विशिष्ट नियम परिभाषित करण्यासाठी अॅप ला अनुमती देते."</string>
<string name="permlab_modifyNetworkAccounting" msgid="5088217309088729650">"नेटवर्क वापर हिशोब सुधारित करा"</string>
- <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"अॅप्स वर नेटवर्क वापराचा हिशोब कसा घेतला जातो हे सुधारित करण्यासाठी अॅप्स ला अनुमती देते. सामान्य अॅप्सद्वारे वापरण्यासाठी नाही."</string>
+ <string name="permdesc_modifyNetworkAccounting" msgid="5443412866746198123">"अॅप्स वर नेटवर्क वापराचा हिशोब कसा घेतला जातो हे सुधारित करण्यासाठी अॅप्स ला अनुमती देते. सामान्य अॅप्सद्वारे वापरण्यासाठी नाही."</string>
<string name="permlab_accessNotifications" msgid="7673416487873432268">"प्रवेश सूचना"</string>
<string name="permdesc_accessNotifications" msgid="458457742683431387">"अनुप्रयोगाला इतर अॅप्सद्वारे पोस्ट केलेल्यांसह पुनर्प्राप्त करण्याची, तपासण्याची आणि सूचना साफ करण्याची अनुमती देते."</string>
<string name="permlab_bindNotificationListenerService" msgid="7057764742211656654">"सूचना ऐकणार्या सेवेशी प्रतिबद्ध"</string>
@@ -637,17 +637,17 @@
<string name="permdesc_accessNetworkConditions" msgid="6899102075825272211">"अनु्प्रयोगाला नेटवर्क स्थितींवरील निरीक्षणे ऐकण्यासाठी अनुमती देते. सामान्य अॅप्ससाठी कधीही आवश्यक नसावे."</string>
<string name="permlab_setInputCalibration" msgid="4902620118878467615">"इनपुट डिव्हाइस कॅलिब्रेशन बदला"</string>
<string name="permdesc_setInputCalibration" msgid="4527511047549456929">"स्पर्श स्क्रीनची कॅलिब्रेशन प्राचले सुधारित करण्यासाठी अॅप ला अनुमती देते. सामान्य अॅप्स साठी कधीही आवश्यक नसते."</string>
- <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM प्रमाणपत्रे अॅक्सेस करा"</string>
+ <string name="permlab_accessDrmCertificates" msgid="7436886640723203615">"DRM प्रमाणपत्रे अॅक्सेस करा"</string>
<string name="permdesc_accessDrmCertificates" msgid="8073288354426159089">"DRM प्रमाणपत्रांची तरतूद करण्यासाठी आणि वापरण्यासाठी अनुप्रयोगास अनुमती देते. सामान्य अॅप्सकरिता कधीही आवश्यकता नसते."</string>
<string name="permlab_handoverStatus" msgid="7820353257219300883">"Android बीम स्थानांतरण स्थिती प्राप्त करा"</string>
<string name="permdesc_handoverStatus" msgid="4788144087245714948">"वर्तमान Android बीम स्थानांतरणांविषयी माहिती प्राप्त करण्यासाठी या अनुप्रयोगास अनुमती देते"</string>
<string name="permlab_removeDrmCertificates" msgid="7044888287209892751">"DRM प्रमाणपत्रे काढा"</string>
- <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM प्रमाणपत्रे काढण्यासाठी अनुप्रयोगास अनुमती देते. सामान्य अॅप्स साठी कधीही आवश्यकता नसते."</string>
+ <string name="permdesc_removeDrmCertificates" msgid="7272999075113400993">"DRM प्रमाणपत्रे काढण्यासाठी अनुप्रयोगास अनुमती देते. सामान्य अॅप्स साठी कधीही आवश्यकता नसते."</string>
<string name="permlab_bindCarrierMessagingService" msgid="1490229371796969158">"एका वाहक मेसेजिंग सेवेसाठी प्रतिबद्ध"</string>
<string name="permdesc_bindCarrierMessagingService" msgid="2762882888502113944">"वाहक मेसेजिंग सेवेचा शीर्ष-स्तर इंटरफेस बाइंड करण्यासाठी होल्डरला अनुमती देतो. सामान्य अॅप्सकरिता हे कधीही आवश्यक नसते."</string>
<string name="permlab_bindCarrierServices" msgid="3233108656245526783">"वाहक सेवांवर प्रतिबद्ध करा"</string>
<string name="permdesc_bindCarrierServices" msgid="1391552602551084192">"वाहक सेवांवर प्रतिबद्ध करण्यासाठी होल्डरला अनुमती देते. सामान्य अॅप्ससाठी कधीही आवश्यकता नसावी."</string>
- <string name="permlab_access_notification_policy" msgid="4247510821662059671">"व्यत्यय आणू नका अॅक्सेस करा"</string>
+ <string name="permlab_access_notification_policy" msgid="4247510821662059671">"व्यत्यय आणू नका अॅक्सेस करा"</string>
<string name="permdesc_access_notification_policy" msgid="3296832375218749580">"व्यत्यय आणू नका कॉन्फिगरेशन वाचण्यासाठी आणि लिहिण्यासाठी अॅपला अनुमती देते."</string>
<string name="permlab_startViewPermissionUsage" msgid="5484728591597709944">"व्ह्यू परवानगी वापर सुरू करा"</string>
<string name="permdesc_startViewPermissionUsage" msgid="4808345878203594428">"धारकास अॅपसाठी परवानगी वापरणे सुरू करण्याची अनुमती देते. सामान्य अॅप्ससाठी कधीही आवश्यकता नसते."</string>
@@ -1153,7 +1153,7 @@
<string name="clearDefaultHintMsg" msgid="3252584689512077257">"डाउनलोड केलेल्या सिस्टम सेटिंग्ज > Apps > मधील डीफॉल्ट साफ करा."</string>
<string name="chooseActivity" msgid="7486876147751803333">"क्रिया निवडा"</string>
<string name="chooseUsbActivity" msgid="6894748416073583509">"USB डिव्हाइससाठी अॅप निवडा"</string>
- <string name="noApplications" msgid="2991814273936504689">"कोणतेही अॅप्स ही क्रिया करू शकत नाहीत."</string>
+ <string name="noApplications" msgid="2991814273936504689">"कोणतेही अॅप्स ही क्रिया करू शकत नाहीत."</string>
<string name="aerr_application" msgid="250320989337856518">"<xliff:g id="APPLICATION">%1$s</xliff:g> थांबला आहे"</string>
<string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g> थांबली आहे"</string>
<string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g> थांबतो"</string>
@@ -1198,7 +1198,7 @@
<string name="app_upgrading_toast" msgid="3008139776215597053">"<xliff:g id="APPLICATION">%1$s</xliff:g> श्रेणीसुधारित करत आहे…"</string>
<string name="android_upgrading_apk" msgid="7904042682111526169">"<xliff:g id="NUMBER_1">%2$d</xliff:g> पैकी <xliff:g id="NUMBER_0">%1$d</xliff:g> अॅप ऑप्टिमाइझ करत आहे."</string>
<string name="android_preparing_apk" msgid="8162599310274079154">"<xliff:g id="APPNAME">%1$s</xliff:g> तयार करत आहे."</string>
- <string name="android_upgrading_starting_apps" msgid="451464516346926713">"अॅप्स प्रारंभ करत आहे."</string>
+ <string name="android_upgrading_starting_apps" msgid="451464516346926713">"अॅप्स प्रारंभ करत आहे."</string>
<string name="android_upgrading_complete" msgid="1405954754112999229">"बूट समाप्त होत आहे."</string>
<string name="heavy_weight_notification" msgid="9087063985776626166">"रन होणारे <xliff:g id="APP">%1$s</xliff:g>"</string>
<string name="heavy_weight_notification_detail" msgid="2304833848484424985">"गेमवर परत जाण्यासाठी टॅप करा"</string>
@@ -1265,7 +1265,7 @@
<string name="network_available_sign_in" msgid="1848877297365446605">"नेटवर्कवर साइन इन करा"</string>
<!-- no translation found for network_available_sign_in_detailed (8000081941447976118) -->
<skip />
- <string name="wifi_no_internet" msgid="5198100389964214865">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ला इंटरनेट अॅक्सेस नाही"</string>
+ <string name="wifi_no_internet" msgid="5198100389964214865">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ला इंटरनेट अॅक्सेस नाही"</string>
<string name="wifi_no_internet_detailed" msgid="8083079241212301741">"पर्यायांसाठी टॅप करा"</string>
<string name="captive_portal_logged_in_detailed" msgid="8489345381637456021">"कनेक्ट केले"</string>
<string name="network_partial_connectivity" msgid="7774883385494762741">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> ला मर्यादित कनेक्टिव्हिटी आहे"</string>
@@ -1274,7 +1274,7 @@
<string name="wifi_softap_config_change_summary" msgid="7601233252456548891">"तुमचा हॉटस्पॉट बँड बदलला आहे."</string>
<string name="wifi_softap_config_change_detailed" msgid="8022936822860678033">"हे डिव्हाइस तुमच्या फक्त ५GHz साठी प्राधान्याला सपोर्ट करत नाही. त्याऐवजी, हे डिव्हाइस ५GHz बँड उपलब्ध असताना वापरेल."</string>
<string name="network_switch_metered" msgid="4671730921726992671">"<xliff:g id="NETWORK_TYPE">%1$s</xliff:g> वर स्विच केले"</string>
- <string name="network_switch_metered_detail" msgid="775163331794506615">"<xliff:g id="PREVIOUS_NETWORK">%2$s</xliff:g> कडे इंटरनेटचा अॅक्सेस नसताना डिव्हाइस <xliff:g id="NEW_NETWORK">%1$s</xliff:g> वापरते. शुल्क लागू शकते."</string>
+ <string name="network_switch_metered_detail" msgid="775163331794506615">"<xliff:g id="PREVIOUS_NETWORK">%2$s</xliff:g> कडे इंटरनेटचा अॅक्सेस नसताना डिव्हाइस <xliff:g id="NEW_NETWORK">%1$s</xliff:g> वापरते. शुल्क लागू शकते."</string>
<string name="network_switch_metered_toast" msgid="5779283181685974304">"<xliff:g id="PREVIOUS_NETWORK">%1$s</xliff:g> वरून <xliff:g id="NEW_NETWORK">%2$s</xliff:g> वर स्विच केले"</string>
<string-array name="network_switch_type_name">
<item msgid="3979506840912951943">"मोबाइल डेटा"</item>
@@ -1317,14 +1317,14 @@
<string name="sms_short_code_confirm_allow" msgid="4458878637111023413">"पाठवा"</string>
<string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"रद्द करा"</string>
<string name="sms_short_code_remember_choice" msgid="5289538592272218136">"माझी वड लक्षात ठेवा"</string>
- <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"तुम्ही हे नंतर सेटिंग्ज आणि अॅप्स मध्ये बदलू शकता"</string>
+ <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"तुम्ही हे नंतर सेटिंग्ज आणि अॅप्स मध्ये बदलू शकता"</string>
<string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"नेहमी अनुमती द्या"</string>
<string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"कधीही अनुमती देऊ नका"</string>
<string name="sim_removed_title" msgid="6227712319223226185">"सिम कार्ड काढले"</string>
<string name="sim_removed_message" msgid="2333164559970958645">"तुम्ही एक वैध सिम कार्ड घालून प्रारंभ करेपर्यंत मोबाईल नेटवर्क अनुपलब्ध असेल."</string>
<string name="sim_done_button" msgid="827949989369963775">"पूर्ण झाले"</string>
<string name="sim_added_title" msgid="3719670512889674693">"सिम कार्ड जोडले"</string>
- <string name="sim_added_message" msgid="6599945301141050216">"मोबाईल नेटवर्कवर अॅक्सेस करण्यासाठी तुमचे डिव्हाइस रीस्टार्ट करा."</string>
+ <string name="sim_added_message" msgid="6599945301141050216">"मोबाईल नेटवर्कवर अॅक्सेस करण्यासाठी तुमचे डिव्हाइस रीस्टार्ट करा."</string>
<string name="sim_restart_button" msgid="4722407842815232347">"रीस्टार्ट"</string>
<string name="install_carrier_app_notification_title" msgid="9056007111024059888">"मोबाइल सेवा अॅक्टिव्हेट करा"</string>
<string name="install_carrier_app_notification_text" msgid="3346681446158696001">"तुमचे नवीन सिम अॅक्टिव्हेट करण्यासाठी वाहकाचे अॅप डाउनलोड करा"</string>
@@ -1364,7 +1364,7 @@
<string name="taking_remote_bugreport_notification_title" msgid="6742483073875060934">"बग रीपोर्ट घेत आहे..."</string>
<string name="share_remote_bugreport_notification_title" msgid="4987095013583691873">"बग अहवाल शेअर करायचा?"</string>
<string name="sharing_remote_bugreport_notification_title" msgid="7572089031496651372">"बग रीपोर्ट शेअर करत आहे..."</string>
- <string name="share_remote_bugreport_notification_message_finished" msgid="6029609949340992866">"आपल्या प्रशासकाने या डिव्हाइसचे समस्या निवारण करण्यात मदत करण्यासाठी दोष अहवालाची विनंती केली. अॅप्स आणि डेटा शेअर केले जाऊ शकतात."</string>
+ <string name="share_remote_bugreport_notification_message_finished" msgid="6029609949340992866">"आपल्या प्रशासकाने या डिव्हाइसचे समस्या निवारण करण्यात मदत करण्यासाठी दोष अहवालाची विनंती केली. अॅप्स आणि डेटा शेअर केले जाऊ शकतात."</string>
<string name="share_remote_bugreport_action" msgid="6249476773913384948">"शेअर करा"</string>
<string name="decline_remote_bugreport_action" msgid="6230987241608770062">"नकार द्या"</string>
<string name="select_input_method" msgid="4653387336791222978">"इनपुट पद्धत निवडा"</string>
@@ -1441,7 +1441,7 @@
<string name="ime_action_default" msgid="2840921885558045721">"कार्यान्वित करा"</string>
<string name="dial_number_using" msgid="5789176425167573586">\n"<xliff:g id="NUMBER">%s</xliff:g> वापरून नंबर डायल करा"</string>
<string name="create_contact_using" msgid="4947405226788104538">\n"<xliff:g id="NUMBER">%s</xliff:g> वापरून संपर्क तयार करा"</string>
- <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"खालील एक किंवा अधिक अॅप्स आपल्या खात्यावर, आता आणि भविष्यात प्रवेश करण्याच्या परवानगीची विनंती करतात."</string>
+ <string name="grant_credentials_permission_message_header" msgid="2106103817937859662">"खालील एक किंवा अधिक अॅप्स आपल्या खात्यावर, आता आणि भविष्यात प्रवेश करण्याच्या परवानगीची विनंती करतात."</string>
<string name="grant_credentials_permission_message_footer" msgid="3125211343379376561">"तुम्ही या विनंतीस अनुमती देऊ इच्छिता?"</string>
<string name="grant_permissions_header_text" msgid="6874497408201826708">"प्रवेश विनंती"</string>
<string name="allow" msgid="7225948811296386551">"अनुमती द्या"</string>
@@ -1807,7 +1807,7 @@
<string name="confirm_battery_saver" msgid="639106420541753635">"ओके"</string>
<string name="battery_saver_description_with_learn_more" msgid="2108984221113106294">"बॅटरी सेव्हर हे वैशिष्ट्य बॅटरीचे आयुष्य वाढवण्यासाठी बॅकग्राउंड अॅक्टिव्हिटी, काही व्हिज्युअल इफेक्ट आणि इतर हाय-पॉवर वैशिष्ट्ये बंद किंवा मर्यादित करते. "<annotation id="url">"अधिक जाणून घ्या"</annotation></string>
<string name="battery_saver_description" msgid="6413346684861241431">"बॅटरी लाइफ वाढवण्यासाठी बॅटरी सेव्हर बॅकग्राउंड अॅक्टिव्हिटी, काही व्हिज्युअल इफेक्ट आणि इतर हाय-पॉवर वैशिष्ट्ये बंद किंवा मर्यादित करतो."</string>
- <string name="data_saver_description" msgid="6015391409098303235">"डेटा सर्व्हर डेटाचा वापर कमी करण्यात मदत करण्यासाठी काही अॅप्सना पार्श्वभूमीमध्ये डेटा पाठवण्यास किंवा मिळवण्यास प्रतिबंध करतो. तुम्ही सध्या वापरत असलेले अॅप डेटा अॅक्सेस करू शकते, पण तसे खूप कमी वेळा होते. याचाच अर्थ असा की, तुम्ही इमेजवर टॅप करेपर्यंत त्या डिस्प्ले होणार नाहीत असा असू शकतो."</string>
+ <string name="data_saver_description" msgid="6015391409098303235">"डेटा सर्व्हर डेटाचा वापर कमी करण्यात मदत करण्यासाठी काही अॅप्सना पार्श्वभूमीमध्ये डेटा पाठवण्यास किंवा मिळवण्यास प्रतिबंध करतो. तुम्ही सध्या वापरत असलेले अॅप डेटा अॅक्सेस करू शकते, पण तसे खूप कमी वेळा होते. याचाच अर्थ असा की, तुम्ही इमेजवर टॅप करेपर्यंत त्या डिस्प्ले होणार नाहीत असा असू शकतो."</string>
<string name="data_saver_enable_title" msgid="4674073932722787417">"डेटा सेव्हर चालू करायचा?"</string>
<string name="data_saver_enable_button" msgid="7147735965247211818">"चालू करा"</string>
<plurals name="zen_mode_duration_minutes_summary" formatted="false" msgid="4367877408072000848">
@@ -2031,5 +2031,5 @@
<item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> फाइल</item>
</plurals>
<string name="chooser_no_direct_share_targets" msgid="997970693708458895">"थेट शेअर करणे उपलब्ध नाही"</string>
- <string name="chooser_all_apps_button_label" msgid="3631524352936289457">"अॅप्स सूची"</string>
+ <string name="chooser_all_apps_button_label" msgid="3631524352936289457">"अॅप्स सूची"</string>
</resources>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index b6944d4..330e62b 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -199,7 +199,7 @@
<string name="silent_mode" msgid="7167703389802618663">"အသံတိတ်စနစ်"</string>
<string name="turn_on_radio" msgid="3912793092339962371">"wirelessအားဖွင့်မည်"</string>
<string name="turn_off_radio" msgid="8198784949987062346">"wirelessအားပိတ်မည်"</string>
- <string name="screen_lock" msgid="799094655496098153">"ဖုန်းမျက်နှာပြင်အား သော့ချရန်"</string>
+ <string name="screen_lock" msgid="799094655496098153">"ဖန်သားပြင် လော့ခ်ချခြင်း"</string>
<string name="power_off" msgid="4266614107412865048">"စက်ပိတ်ပါ"</string>
<string name="silent_mode_silent" msgid="319298163018473078">"ဖုန်းမြည်သံပိတ်ထားသည်"</string>
<string name="silent_mode_vibrate" msgid="7072043388581551395">"တုန်ခါခြင်း ဖုန်းမြည်သံ"</string>
@@ -223,7 +223,7 @@
<string name="global_actions" product="tablet" msgid="408477140088053665">"Tabletဆိုင်ရာရွေးချယ်မှုများ"</string>
<string name="global_actions" product="tv" msgid="7240386462508182976">"တီဗွီ ရွေးချယ်စရာများ"</string>
<string name="global_actions" product="default" msgid="2406416831541615258">"ဖုန်းဆိုင်ရာရွေးချယ်မှုများ"</string>
- <string name="global_action_lock" msgid="2844945191792119712">"ဖုန်းမျက်နှာပြင်အား သော့ချရန်"</string>
+ <string name="global_action_lock" msgid="2844945191792119712">"ဖန်သားပြင် လော့ခ်ချခြင်း"</string>
<string name="global_action_power_off" msgid="4471879440839879722">"ပါဝါပိတ်ရန်"</string>
<string name="global_action_emergency" msgid="7112311161137421166">"အရေးပေါ်"</string>
<string name="global_action_bug_report" msgid="7934010578922304799">"အမှားရှာဖွေပြင်ဆင်မှုမှတ်တမ်း"</string>
@@ -1671,7 +1671,7 @@
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"အများသုံးစွဲနိုင်မှုလက်ဟန်ဖြင့် အသုံးပြုရန် ဝန်ဆောင်မှုတစ်ခုကို ရွေးပါ (မျက်နှာပြင်အောက်ခြေမှနေ၍ လက်သုံးချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပါ)-"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"ဝန်ဆောင်မှုများအကြား ပြောင်းရန် အများသုံးစွဲနိုင်မှုခလုတ်ကို ဖိထားပါ။"</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"ဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်နှစ်ချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"ဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်သုံးချေင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"ဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက်သုံးချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ချဲ့ခြင်း"</string>
<string name="user_switched" msgid="3768006783166984410">"လက်ရှိအသုံးပြုနေသူ <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"<xliff:g id="NAME">%1$s</xliff:g>သို့ ပြောင်းနေ…"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index b06fbd0..936137d 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Vis opplåsingsfeltet."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Opplåsning ved å dra med fingeren."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Mønsteropplåsning."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Ansiktsopplåsning."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Ansiktslås"</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"PIN-opplåsning."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"PIN-opplåsing for SIM-kort."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"PUK-opplåsing for SIM-kort."</string>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 2fdb3d8..0cce609 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Controleren op update"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Je hebt nieuwe berichten"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Open je sms-app om ze te bekijken"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Functionaliteit kan zijn beperkt"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Functionaliteit kan beperkt zijn"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Werkprofiel vergrendeld"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Ontgrendel werkprofiel met tik"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"Verbonden met <xliff:g id="PRODUCT_NAME">%1$s</xliff:g>"</string>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index 6bbcc5e..848c1a5 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -1668,7 +1668,7 @@
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"ଆପଣ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଟାପ୍ କରିବା ସମୟରେ ଏକ ସେବା ବ୍ୟବହାର କରିବା ପାଇଁ ବାଛନ୍ତୁ:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରିବା ପାଇଁ ଏକ ସେବା ବାଛନ୍ତୁ (ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନ୍ର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ):"</string>
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରିବା ପାଇଁ ଏକ ସେବା ବାଛନ୍ତୁ (ତିନିଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନ୍ର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ):"</string>
- <string name="accessibility_button_instructional_text" msgid="7003212763213614833">"ସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ସ୍ପର୍ଶ ଓ ଧରି ରଖନ୍ତୁ।"</string>
+ <string name="accessibility_button_instructional_text" msgid="7003212763213614833">"ସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ସ୍ପର୍ଶ କରନ୍ତୁ ଓ ଧରି ରଖନ୍ତୁ।"</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"ସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏବଂ ଧରି ରଖନ୍ତୁ।"</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"ସେବାଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ତିନିଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ ଏବଂ ଧରି ରଖନ୍ତୁ।"</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"ମ୍ୟାଗ୍ନିଫିକେସନ୍"</string>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index 9040e82..f4cc82c 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -1668,7 +1668,7 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"<xliff:g id="SERVICE_NAME">%1$s</xliff:g> ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ 3 ਸਕਿੰਟਾਂ ਲਈ ਦਬਾਈ ਰੱਖੋ"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ \'ਤੇ ਟੈਪ ਕਰਕੇ ਵਰਤਣ ਲਈ ਕੋਈ ਸੇਵਾ ਚੁਣੋ:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤ ਨਾਲ ਵਰਤਣ ਲਈ ਕੋਈ ਸੇਵਾ ਚੁਣੋ (ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤ ਨਾਲ ਵਰਤਣ ਲਈ ਕੋਈ ਸੇਵਾ ਚੁਣੋ (ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤ ਨਾਲ ਵਰਤਣ ਲਈ ਕੋਈ ਸੇਵਾ ਚੁਣੋ (ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"ਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ \'ਤੇ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।"</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"ਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
<string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"ਸੇਵਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index 41aed2c..c2e2ba6 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -1715,10 +1715,10 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"Naciśnij i przytrzymaj oba przyciski głośności przez trzy sekundy, by użyć usługi <xliff:g id="SERVICE_NAME">%1$s</xliff:g>"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Wybierz usługę używaną po kliknięciu przycisku ułatwień dostępu:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Wybierz usługę używaną w przypadku gestu ułatwień dostępu (przesunięcie dwoma palcami z dołu ekranu w górę):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Wybierz usługę używaną w przypadku gestu ułatwień dostępu (przesunięcie trzema palcami z dołu ekranu w górę):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Wybierz usługę, której chcesz używać w połączeniu z gestami ułatwień dostępu (przesuń trzema palcami z dołu ekranu w górę):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Aby przełączać usługi, naciśnij i przytrzymaj przycisk ułatwień dostępu."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Aby przełączać usługi, przesuń dwoma palcami w górę i przytrzymaj."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Aby przełączać usługi, przesuń trzema palcami w górę i przytrzymaj."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Aby przełączyć usługi, przesuń trzema palcami w górę i przytrzymaj."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Powiększenie"</string>
<string name="user_switched" msgid="3768006783166984410">"Bieżący użytkownik: <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"Przełączam na użytkownika <xliff:g id="NAME">%1$s</xliff:g>…"</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 266e747..2d9c195 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -1670,7 +1670,7 @@
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Escolha um serviço a ser usado com o gesto de acessibilidade (deslizar de baixo para cima na tela com três dedos):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Para alternar entre serviços, toque no botão de acessibilidade e mantenha-o pressionado."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Para alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Para alternar entre serviços, deslize de baixo para cima na tela com três dedos e mantenha-a pressionada."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Para alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliação"</string>
<string name="user_switched" msgid="3768006783166984410">"Usuário atual <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"Alternando para <xliff:g id="NAME">%1$s</xliff:g>…"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index 6b62824..e4415c8 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"Mova o telemóvel para a esquerda."</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"Mova o telemóvel para a direita."</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"Olhe mais diretamente para o dispositivo."</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"Não é possível ver o seu rosto. Olhe p/ telemóvel."</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"Não consigo ver o rosto. Olhe para o telemóvel."</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"Demasiado movimento. Mantenha o telemóvel firme."</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Volte a inscrever o rosto."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Impossível reconhecer o rosto. Tente novamente."</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 266e747..2d9c195 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -1670,7 +1670,7 @@
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Escolha um serviço a ser usado com o gesto de acessibilidade (deslizar de baixo para cima na tela com três dedos):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Para alternar entre serviços, toque no botão de acessibilidade e mantenha-o pressionado."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Para alternar entre serviços, deslize de baixo para cima na tela com dois dedos sem soltar."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Para alternar entre serviços, deslize de baixo para cima na tela com três dedos e mantenha-a pressionada."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Para alternar entre serviços, deslize de baixo para cima na tela com três dedos sem soltar."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Ampliação"</string>
<string name="user_switched" msgid="3768006783166984410">"Usuário atual <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"Alternando para <xliff:g id="NAME">%1$s</xliff:g>…"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index d555d2a..6961d1f 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -593,7 +593,7 @@
<string name="face_error_lockout" msgid="3407426963155388504">"Слишком много попыток. Повторите позже."</string>
<string name="face_error_lockout_permanent" msgid="4723594314443097159">"Слишком много попыток. Функция \"Фейсконтроль\" отключена."</string>
<string name="face_error_unable_to_process" msgid="4940944939691171539">"Не удалось распознать лицо. Повторите попытку."</string>
- <string name="face_error_not_enrolled" msgid="4016937174832839540">"Вы не настроили функцию \"Фейсконтроль\"."</string>
+ <string name="face_error_not_enrolled" msgid="4016937174832839540">"Вы не настроили фейсконтроль."</string>
<string name="face_error_hw_not_present" msgid="8302690289757559738">"Это устройство не поддерживает функцию \"Фейсконтроль\"."</string>
<string name="face_name_template" msgid="7004562145809595384">"Лицо <xliff:g id="FACEID">%d</xliff:g>"</string>
<string-array name="face_error_vendor">
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 0db6ac1..bb24e54 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -1715,10 +1715,10 @@
<string name="accessibility_shortcut_spoken_feedback" msgid="8376923232350078434">"Ak chcete používať službu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, pridržte tri sekundy oba klávesy hlasitosti"</string>
<string name="accessibility_button_prompt_text" msgid="1176658502969738564">"Vyberte službu, ktorú chcete používať po klepnutí na tlačidlo dostupnosti:"</string>
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"Vyberte službu, ktorú chcete používať s daným gestom dostupnosti (potiahnutím dvoma prstami z dolnej časti obrazovky smerom nahor):"</string>
- <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Vyberte službu, ktorú chcete používať s daným gestom dostupnosti (potiahnutím troma prstami z dolnej časti obrazovky smerom nahor):"</string>
+ <string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"Vyberte službu aktivovanú daným gestom dostupnosti (potiahnutie troma prstami z dolnej časti obrazovky nahor):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"Služby prepnete pridržaním tlačidla dostupnosti."</string>
<string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"Služby prepnete potiahnutím dvoma prstami smerom nahor a pridržaním."</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Služby prepnete potiahnutím troma prstami smerom nahor a pridržaním."</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"Služby prepnete potiahnutím troma prstami nahor a pridržaním."</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"Priblíženie"</string>
<string name="user_switched" msgid="3768006783166984410">"Aktuálny používateľ je <xliff:g id="NAME">%1$s</xliff:g>."</string>
<string name="user_switching_message" msgid="2871009331809089783">"Prepína sa na účet <xliff:g id="NAME">%1$s</xliff:g>…"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 5fea0c0..ff6049b 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -887,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Expandera upplåsningsytan."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Lås upp genom att dra."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Lås upp med grafiskt lösenord."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Lås upp med Ansiktslås."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Ansiktslås."</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Lås upp med PIN-kod."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"Lås upp med SIM-kortets pinkod."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"Lås upp med SIM-kortets PUK-kod."</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index 1f21e3c..5b43536 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -553,7 +553,7 @@
<string name="permlab_manageFace" msgid="7262837876352591553">"dhibiti maunzi ya kufungua kwa uso"</string>
<string name="permdesc_manageFace" msgid="8919637120670185330">"Huruhusu programu iombe njia za kuongeza na kufuta violezo vya uso vitakavyotumiwa."</string>
<string name="permlab_useFaceAuthentication" msgid="2565716575739037572">"tumia maunzi ya kufungua kwa uso"</string>
- <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Huruhusu programu itumie maunzi ya kufungua kwa uso kwa ajili ya uthibitishaji"</string>
+ <string name="permdesc_useFaceAuthentication" msgid="4712947955047607722">"Huruhusu programu itumie maunzi ya kufungua kwa uso ili kuthibitisha"</string>
<string name="face_recalibrate_notification_name" msgid="1913676850645544352">"Kufungua kwa uso"</string>
<string name="face_recalibrate_notification_title" msgid="4087620069451499365">"Sajili uso wako tena"</string>
<string name="face_recalibrate_notification_content" msgid="5530308842361499835">"Ili kuimarisha utambuzi, tafadhali sajili uso wako tena"</string>
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"Sogeza simu upande wa kushoto."</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"Sogeza simu upande wa kulia."</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"Tafadhali angalia kifaa chako moja kwa moja."</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"Imeshindwa kuona uso wako. Angalia simu."</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"Uso wako hauonekani. Angalia simu."</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"Inatikisika sana. Ishike simu iwe thabiti."</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Tafadhali sajili uso wako tena."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Haiwezi tena kutambua uso. Jaribu tena."</string>
@@ -585,7 +585,7 @@
<string name="face_error_canceled" msgid="283945501061931023">"Utendaji wa kitambulisho umeghairiwa."</string>
<string name="face_error_user_canceled" msgid="5317030072349668946">"Kufungua kwa uso kumeghairiwa na mtumiaji."</string>
<string name="face_error_lockout" msgid="3407426963155388504">"Umejaribu mara nyingi mno. Jaribu tena baadaye."</string>
- <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Umejaribu mara nyingi mno. Umezima kipengele cha kufungua kwa uso."</string>
+ <string name="face_error_lockout_permanent" msgid="4723594314443097159">"Umejaribu mara nyingi mno. Kipengele cha kufungua kwa uso kimezimwa."</string>
<string name="face_error_unable_to_process" msgid="4940944939691171539">"Imeshindwa kuthibitisha uso. Jaribu tena."</string>
<string name="face_error_not_enrolled" msgid="4016937174832839540">"Hujaweka mipangilio ya kufungua kwa uso."</string>
<string name="face_error_hw_not_present" msgid="8302690289757559738">"Kufungua kwa uso hakutumiki kwenye kifaa hiki."</string>
@@ -817,7 +817,7 @@
<string name="lockscreen_pattern_wrong" msgid="4317955014948108794">"Jaribu tena"</string>
<string name="lockscreen_password_wrong" msgid="5737815393253165301">"Jaribu tena"</string>
<string name="lockscreen_storage_locked" msgid="9167551160010625200">"Fungua kifaa ili upate data na vipengele vyote"</string>
- <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Majaribio ya Juu ya Kufungua Uso yamezidishwa"</string>
+ <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Umepitisha idadi ya juu ya mara ambazo unaweza kujaribu Kufungua kwa Uso"</string>
<string name="lockscreen_missing_sim_message_short" msgid="5099439277819215399">"Hakuna SIM kadi"</string>
<string name="lockscreen_missing_sim_message" product="tablet" msgid="151659196095791474">"Hakuna SIM kadi katika kompyuta ndogo."</string>
<string name="lockscreen_missing_sim_message" product="tv" msgid="1943633865476989599">"Hakuna SIM kadi katika runinga."</string>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index 28a529e..b58c9ca 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -576,8 +576,7 @@
<string name="face_acquired_tilt_too_extreme" msgid="4019954263012496468">"தலையை லேசாகத் திருப்பவும்."</string>
<string name="face_acquired_roll_too_extreme" msgid="6312973147689664409">"உங்கள் தலையைச் சற்றுத் திருப்பவும்."</string>
<string name="face_acquired_obscured" msgid="5357207702967893283">"உங்கள் முகத்தை மறைக்கும் அனைத்தையும் நீக்குக."</string>
- <!-- no translation found for face_acquired_sensor_dirty (7905138627046865579) -->
- <skip />
+ <string name="face_acquired_sensor_dirty" msgid="7905138627046865579">"திரையையும் அதிலுள்ள கருப்புப் பட்டியையும் சுத்தம் செய்யவும்"</string>
<string-array name="face_acquired_vendor">
</string-array>
<string name="face_error_hw_not_available" msgid="396883585636963908">"முகத்தைச் சரிபார்க்க இயலவில்லை. வன்பொருள் இல்லை."</string>
@@ -888,7 +887,7 @@
<string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"திறப்பதற்கான பகுதியை விவரிக்கவும்."</string>
<string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"ஸ்லைடு மூலம் திறத்தல்."</string>
<string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"வடிவம் மூலம் திறத்தல்."</string>
- <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"முகத்தால் திறத்தல்."</string>
+ <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"முகம் காட்டித் திறத்தல்."</string>
<string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Pin மூலம் திறத்தல்."</string>
<string name="keyguard_accessibility_sim_pin_unlock" msgid="9149698847116962307">"சிம்மைத் திறக்கும் பின்."</string>
<string name="keyguard_accessibility_sim_puk_unlock" msgid="9106899279724723341">"சிம்மைத் திறக்கும் Puk."</string>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index 807dedd..285ce47 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -1584,7 +1584,7 @@
<string name="launchBrowserDefault" msgid="2057951947297614725">"బ్రౌజర్ను ప్రారంభించాలా?"</string>
<string name="SetupCallDefault" msgid="5834948469253758575">"కాల్ను ఆమోదించాలా?"</string>
<string name="activity_resolver_use_always" msgid="8017770747801494933">"ఎల్లప్పుడూ"</string>
- <string name="activity_resolver_use_once" msgid="2404644797149173758">"ఒకసారి"</string>
+ <string name="activity_resolver_use_once" msgid="2404644797149173758">"ఒకసారి మాత్రమే"</string>
<string name="activity_resolver_app_settings" msgid="8965806928986509855">"సెట్టింగ్లు"</string>
<string name="activity_resolver_work_profiles_support" msgid="185598180676883455">"%1$s కార్యాలయ ప్రొఫైల్కు మద్దతు ఇవ్వదు"</string>
<string name="default_audio_route_name" product="tablet" msgid="4617053898167127471">"టాబ్లెట్"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 0274773..4b2ff31 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"เลื่อนโทรศัพท์ไปทางซ้าย"</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"เลื่อนโทรศัพท์ไปทางขวา"</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"โปรดมองตรงมาที่อุปกรณ์"</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"ไม่เห็นหน้า มองที่โทรศัพท์"</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"ไม่เห็นหน้าเลย ลองมองที่โทรศัพท์"</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"มีการเคลื่อนไหวมากเกินไป ถือโทรศัพท์นิ่งๆ"</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"โปรดลงทะเบียนใบหน้าอีกครั้ง"</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"จำใบหน้าไม่ได้แล้ว ลองอีกครั้ง"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index df99450..40889dd8 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -1903,7 +1903,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Güncellemeleri denetle"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Yeni mesajlarınız var"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Görüntülemek için SMS uygulamasını açın"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Bazı işlevler sınırlı olabilir"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Bazı işlevler sınırlanabilir"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"İş profili kilitlendi"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"İş profilinin kilidini açmak için dokunun"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"<xliff:g id="PRODUCT_NAME">%1$s</xliff:g> cihazına bağlandı"</string>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index c04f54f..c1402f1 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -1670,8 +1670,8 @@
<string name="accessibility_gesture_prompt_text" msgid="8259145549733019401">"ایکسیسبیلٹی اشارہ کے ساتھ استعمال کرنے کے لیے ایک سروس چنیں (دو انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں):"</string>
<string name="accessibility_gesture_3finger_prompt_text" msgid="1041435574275047665">"ایکسیسبیلٹی اشارہ کے ساتھ استعمال کرنے کے لیے ایک سروس چنیں (تین انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں):"</string>
<string name="accessibility_button_instructional_text" msgid="7003212763213614833">"سروسز کے مابین سوئچ کرنے کے لیے، ایکسیسبیلٹی بٹن کو ٹچ کرکے ہولڈ کریں۔"</string>
- <string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"سروسز کے مابین سوئچ کرنے کے لیے، دو انگلیوں سے سوائپ کرکے ہولڈ کریں۔"</string>
- <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"سروسز کے مابین سوئچ کرنے کے لیے، تین انگلیوں سے سوائپ کرکے ہولڈ کریں۔"</string>
+ <string name="accessibility_gesture_instructional_text" msgid="5261788874937410950">"سروسز کے مابین سوئچ کرنے کے لیے، دو انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
+ <string name="accessibility_gesture_3finger_instructional_text" msgid="4969448938984394550">"سروسز کے مابین سوئچ کرنے کے لیے، تین انگلیوں سے اوپر سوائپ کرکے ہولڈ کریں۔"</string>
<string name="accessibility_magnification_chooser_text" msgid="1227146738764986237">"میگنیفکیشن"</string>
<string name="user_switched" msgid="3768006783166984410">"موجودہ صارف <xliff:g id="NAME">%1$s</xliff:g>۔"</string>
<string name="user_switching_message" msgid="2871009331809089783">"<xliff:g id="NAME">%1$s</xliff:g> پر سوئچ کیا جا رہا ہے…"</string>
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index 6b22dad..1d35729 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -1904,7 +1904,7 @@
<string name="deprecated_target_sdk_app_store" msgid="5032340500368495077">"Yangilanish borligini tekshirish"</string>
<string name="new_sms_notification_title" msgid="8442817549127555977">"Sizga yangi SMS keldi"</string>
<string name="new_sms_notification_content" msgid="7002938807812083463">"Ko‘rish uchun SMS ilovasini oching"</string>
- <string name="profile_encrypted_title" msgid="4260432497586829134">"Ayrim funksiyalar cheklanishi mumkin"</string>
+ <string name="profile_encrypted_title" msgid="4260432497586829134">"Ayrim funksiyalar ishlamasligi mumkin"</string>
<string name="profile_encrypted_detail" msgid="3700965619978314974">"Ishchi profil yopiq"</string>
<string name="profile_encrypted_message" msgid="6964994232310195874">"Qulfini ochish uchun bosing"</string>
<string name="usb_mtp_launch_notification_title" msgid="8359219638312208932">"<xliff:g id="PRODUCT_NAME">%1$s</xliff:g> qurilmasiga ulandi"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index f68b421..91ea5a5 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -567,7 +567,7 @@
<string name="face_acquired_too_right" msgid="3667075962661863218">"Đưa điện thoại sang bên trái."</string>
<string name="face_acquired_too_left" msgid="3148242963894703424">"Đưa điện thoại sang bên phải."</string>
<string name="face_acquired_poor_gaze" msgid="5606479370806754905">"Vui lòng nhìn thẳng vào thiết bị."</string>
- <string name="face_acquired_not_detected" msgid="4885504661626728809">"Không thấy khuôn mặt bạn. Hãy nhìn vào điện thoại."</string>
+ <string name="face_acquired_not_detected" msgid="4885504661626728809">"Hệ thống không phát hiện được khuôn mặt bạn. Hãy nhìn vào điện thoại."</string>
<string name="face_acquired_too_much_motion" msgid="3149332171102108851">"Thiết bị di chuyển quá nhiều. Giữ yên thiết bị."</string>
<string name="face_acquired_recalibrate" msgid="8077949502893707539">"Vui lòng đăng ký lại khuôn mặt của bạn."</string>
<string name="face_acquired_too_different" msgid="7663983770123789694">"Không nhận ra khuôn mặt. Hãy thử lại."</string>
@@ -1656,7 +1656,7 @@
<string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" — "</string>
<string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"Xóa"</string>
<string name="safe_media_volume_warning" product="default" msgid="2276318909314492312">"Bạn tăng âm lượng lên quá mức khuyên dùng?\n\nViệc nghe ở mức âm lượng cao trong thời gian dài có thể gây tổn thương thính giác của bạn."</string>
- <string name="accessibility_shortcut_warning_dialog_title" msgid="8404780875025725199">"Sử dụng phím tắt trợ năng?"</string>
+ <string name="accessibility_shortcut_warning_dialog_title" msgid="8404780875025725199">"Sử dụng phím tắt Hỗ trợ tiếp cận?"</string>
<string name="accessibility_shortcut_toogle_warning" msgid="7256507885737444807">"Khi phím tắt được bật, nhấn cả hai nút âm lượng trong 3 giây sẽ bắt đầu một tính năng trợ năng.\n\n Tính năng trợ năng hiện tại:\n <xliff:g id="SERVICE_NAME">%1$s</xliff:g>\n\n Bạn có thể thay đổi tính năng trong Cài đặt > Trợ năng."</string>
<string name="disable_accessibility_shortcut" msgid="627625354248453445">"Tắt phím tắt"</string>
<string name="leave_accessibility_shortcut_on" msgid="7653111894438512680">"Sử dụng phím tắt"</string>
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 8dfb969..77fca8f 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -326,6 +326,8 @@
grantable in its full form to apps that meet special criteria
per platform policy. Otherwise, a weaker form of the permission
would be granted. The weak grant depends on the permission.
+ <p>What weak grant means is described in the documentation of
+ the permissions.
-->
<flag name="softRestricted" value="0x8" />
<!-- This permission is restricted immutably which means that its
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 1e7f516..95e9b2d 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -4168,4 +4168,6 @@
one bar higher than they actually are -->
<bool name="config_inflateSignalStrength">false</bool>
+ <!-- Sharesheet: define a max number of targets per application for new shortcuts-based direct share introduced in Q -->
+ <integer name="config_maxShortcutTargetsPerApp">3</integer>
</resources>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 218540c..6c1cd3c 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2269,6 +2269,7 @@
<java-symbol type="anim" name="lock_screen_behind_enter" />
<java-symbol type="anim" name="lock_screen_behind_enter_wallpaper" />
<java-symbol type="anim" name="lock_screen_behind_enter_fade_in" />
+ <java-symbol type="anim" name="lock_screen_behind_enter_subtle" />
<java-symbol type="anim" name="lock_screen_wallpaper_exit" />
<java-symbol type="anim" name="launch_task_behind_source" />
<java-symbol type="anim" name="wallpaper_open_exit" />
@@ -2808,6 +2809,7 @@
<java-symbol type="layout" name="chooser_grid_preview_file" />
<java-symbol type="id" name="chooser_row_text_option" />
<java-symbol type="dimen" name="chooser_row_text_option_translate" />
+ <java-symbol type="integer" name="config_maxShortcutTargetsPerApp" />
<java-symbol type="layout" name="resolve_grid_item" />
<java-symbol type="id" name="day_picker_view_pager" />
<java-symbol type="layout" name="day_picker_content_material" />
diff --git a/core/tests/benchmarks/src/android/net/NetworkStatsBenchmark.java b/core/tests/benchmarks/src/android/net/NetworkStatsBenchmark.java
index 1b65603..707d7b3 100644
--- a/core/tests/benchmarks/src/android/net/NetworkStatsBenchmark.java
+++ b/core/tests/benchmarks/src/android/net/NetworkStatsBenchmark.java
@@ -19,13 +19,22 @@
import com.google.caliper.BeforeExperiment;
import com.google.caliper.Param;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
public class NetworkStatsBenchmark {
- private static final String UNDERLYING_IFACE = "wlan0";
+ private static final String[] UNDERLYING_IFACES = {"wlan0", "rmnet0"};
private static final String TUN_IFACE = "tun0";
private static final int TUN_UID = 999999999;
@Param({"100", "1000"})
private int mSize;
+ /**
+ * Should not be more than the length of {@link #UNDERLYING_IFACES}.
+ */
+ @Param({"1", "2"})
+ private int mNumUnderlyingIfaces;
private NetworkStats mNetworkStats;
@BeforeExperiment
@@ -33,8 +42,10 @@
mNetworkStats = new NetworkStats(0, mSize + 2);
int uid = 0;
NetworkStats.Entry recycle = new NetworkStats.Entry();
+ final List<String> allIfaces = getAllIfacesForBenchmark(); // also contains TUN_IFACE.
+ final int totalIfaces = allIfaces.size();
for (int i = 0; i < mSize; i++) {
- recycle.iface = (i < mSize / 2) ? TUN_IFACE : UNDERLYING_IFACE;
+ recycle.iface = allIfaces.get(i % totalIfaces);
recycle.uid = uid;
recycle.set = i % 2;
recycle.tag = NetworkStats.TAG_NONE;
@@ -48,22 +59,39 @@
uid++;
}
}
- recycle.iface = UNDERLYING_IFACE;
- recycle.uid = TUN_UID;
- recycle.set = NetworkStats.SET_FOREGROUND;
- recycle.tag = NetworkStats.TAG_NONE;
- recycle.rxBytes = 90000 * mSize;
- recycle.rxPackets = 40 * mSize;
- recycle.txBytes = 180000 * mSize;
- recycle.txPackets = 1200 * mSize;
- recycle.operations = 0;
- mNetworkStats.addValues(recycle);
+
+ for (int i = 0; i < mNumUnderlyingIfaces; i++) {
+ recycle.iface = UNDERLYING_IFACES[i];
+ recycle.uid = TUN_UID;
+ recycle.set = NetworkStats.SET_FOREGROUND;
+ recycle.tag = NetworkStats.TAG_NONE;
+ recycle.rxBytes = 90000 * mSize;
+ recycle.rxPackets = 40 * mSize;
+ recycle.txBytes = 180000 * mSize;
+ recycle.txPackets = 1200 * mSize;
+ recycle.operations = 0;
+ mNetworkStats.addValues(recycle);
+ }
+ }
+
+ private String[] getVpnUnderlyingIfaces() {
+ return Arrays.copyOf(UNDERLYING_IFACES, mNumUnderlyingIfaces);
+ }
+
+ /**
+ * Same as {@link #getVpnUnderlyingIfaces}, but also contains {@link #TUN_IFACE}.
+ */
+ private List<String> getAllIfacesForBenchmark() {
+ List<String> ifaces = new ArrayList<>();
+ ifaces.add(TUN_IFACE);
+ ifaces.addAll(Arrays.asList(getVpnUnderlyingIfaces()));
+ return ifaces;
}
public void timeMigrateTun(int reps) {
for (int i = 0; i < reps; i++) {
NetworkStats stats = mNetworkStats.clone();
- stats.migrateTun(TUN_UID, TUN_IFACE, UNDERLYING_IFACE);
+ stats.migrateTun(TUN_UID, TUN_IFACE, getVpnUnderlyingIfaces());
}
}
diff --git a/core/tests/coretests/src/android/text/LayoutTest.java b/core/tests/coretests/src/android/text/LayoutTest.java
index 990161a..93a6b15 100644
--- a/core/tests/coretests/src/android/text/LayoutTest.java
+++ b/core/tests/coretests/src/android/text/LayoutTest.java
@@ -743,6 +743,9 @@
assertPrimaryIsTrailingPrevious(
RTL + LRI + RTL + LTR + PDI + RTL,
new boolean[]{false, false, true, false, false, false, false});
+ assertPrimaryIsTrailingPrevious(
+ "",
+ new boolean[]{false});
}
}
diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml
index 985eeee..ff4e100 100644
--- a/data/etc/privapp-permissions-platform.xml
+++ b/data/etc/privapp-permissions-platform.xml
@@ -119,8 +119,6 @@
<permission name="android.permission.APPROVE_INCIDENT_REPORTS"/>
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME" />
- <!-- This permission will be removed in R. -->
- <permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
</privapp-permissions>
<privapp-permissions package="com.android.phone">
diff --git a/data/keyboards/Vendor_045e_Product_02e3.kl b/data/keyboards/Vendor_045e_Product_02e3.kl
new file mode 100644
index 0000000..0a6e7d7
--- /dev/null
+++ b/data/keyboards/Vendor_045e_Product_02e3.kl
@@ -0,0 +1,56 @@
+# Copyright (C) 2019 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.
+
+#
+# Microsoft X-Box One Elite Pad - Model 1698 - USB
+#
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+key 0x130 BUTTON_A
+key 0x131 BUTTON_B
+key 0x133 BUTTON_X
+key 0x134 BUTTON_Y
+
+key 0x136 BUTTON_L1
+key 0x137 BUTTON_R1
+
+# Triggers.
+axis 0x02 LTRIGGER
+axis 0x05 RTRIGGER
+
+# Left stick
+axis 0x00 X
+axis 0x01 Y
+# Right stick
+axis 0x03 Z
+axis 0x04 RZ
+
+key 0x13d BUTTON_THUMBL
+key 0x13e BUTTON_THUMBR
+
+# Hat.
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+
+# Two overlapping rectangles
+key 0x13a BUTTON_SELECT
+# Hamburger - 3 parallel lines
+key 0x13b BUTTON_START
+
+# Xbox key
+key 0x13c BUTTON_MODE
diff --git a/data/keyboards/Vendor_0e6f_Product_02a4.kl b/data/keyboards/Vendor_0e6f_Product_02a4.kl
new file mode 100644
index 0000000..9ffae33
--- /dev/null
+++ b/data/keyboards/Vendor_0e6f_Product_02a4.kl
@@ -0,0 +1,54 @@
+# Copyright (C) 2019 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.
+
+#
+# PDP Wired Controller for Xbox One - Stealth Series
+#
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+key 304 BUTTON_A
+key 305 BUTTON_B
+key 307 BUTTON_X
+key 308 BUTTON_Y
+
+key 310 BUTTON_L1
+key 311 BUTTON_R1
+
+# Triggers.
+axis 0x02 LTRIGGER
+axis 0x05 RTRIGGER
+
+# Left and right stick.
+axis 0x00 X
+axis 0x01 Y
+axis 0x03 Z
+axis 0x04 RZ
+
+key 317 BUTTON_THUMBL
+key 318 BUTTON_THUMBR
+
+# Hat.
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Two overlapping rectangles
+key 314 BUTTON_SELECT
+# Hamburger - 3 parallel lines
+key 315 BUTTON_START
+
+# Xbox key
+key 316 BUTTON_MODE
diff --git a/graphics/java/android/graphics/drawable/ColorStateListDrawable.java b/graphics/java/android/graphics/drawable/ColorStateListDrawable.java
index 35021a6..20cd825 100644
--- a/graphics/java/android/graphics/drawable/ColorStateListDrawable.java
+++ b/graphics/java/android/graphics/drawable/ColorStateListDrawable.java
@@ -25,6 +25,7 @@
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.PixelFormat;
+import android.graphics.Rect;
import android.util.MathUtils;
/**
@@ -136,6 +137,12 @@
}
@Override
+ protected void onBoundsChange(Rect bounds) {
+ super.onBoundsChange(bounds);
+ mColorDrawable.setBounds(bounds);
+ }
+
+ @Override
protected boolean onStateChange(int[] state) {
if (mState.mColor != null) {
int color = mState.mColor.getColorForState(state, mState.mColor.getDefaultColor());
diff --git a/graphics/java/android/graphics/drawable/LayerDrawable.java b/graphics/java/android/graphics/drawable/LayerDrawable.java
index f3a1b0e..760d554 100644
--- a/graphics/java/android/graphics/drawable/LayerDrawable.java
+++ b/graphics/java/android/graphics/drawable/LayerDrawable.java
@@ -139,9 +139,12 @@
final ChildDrawable[] r = new ChildDrawable[length];
for (int i = 0; i < length; i++) {
r[i] = new ChildDrawable(mLayerState.mDensity);
- r[i].mDrawable = layers[i];
- layers[i].setCallback(this);
- mLayerState.mChildrenChangingConfigurations |= layers[i].getChangingConfigurations();
+ Drawable child = layers[i];
+ r[i].mDrawable = child;
+ if (child != null) {
+ child.setCallback(this);
+ mLayerState.mChildrenChangingConfigurations |= child.getChangingConfigurations();
+ }
}
mLayerState.mNumChildren = length;
mLayerState.mChildren = r;
@@ -416,7 +419,8 @@
final ChildDrawable[] layers = mLayerState.mChildren;
final int N = mLayerState.mNumChildren;
for (int i = 0; i < N; i++) {
- if (layers[i].mDrawable.isProjected()) {
+ Drawable childDrawable = layers[i].mDrawable;
+ if (childDrawable != null && childDrawable.isProjected()) {
return true;
}
}
diff --git a/media/apex/java/android/media/Media2Utils.java b/media/apex/java/android/media/Media2Utils.java
index 5fd6191..a87e967 100644
--- a/media/apex/java/android/media/Media2Utils.java
+++ b/media/apex/java/android/media/Media2Utils.java
@@ -75,5 +75,4 @@
Log.v(TAG, "storeCookies: cookieHandler: " + cookieHandler + " Cookies: " + cookies);
}
-
}
diff --git a/media/apex/java/android/media/MediaController2.java b/media/apex/java/android/media/MediaController2.java
index 9848f1a..63a4510 100644
--- a/media/apex/java/android/media/MediaController2.java
+++ b/media/apex/java/android/media/MediaController2.java
@@ -100,7 +100,7 @@
* @param callback controller callback to receive changes in.
*/
MediaController2(@NonNull Context context, @NonNull Session2Token token,
- @Nullable Bundle connectionHints, @NonNull Executor executor,
+ @NonNull Bundle connectionHints, @NonNull Executor executor,
@NonNull ControllerCallback callback) {
if (context == null) {
throw new IllegalArgumentException("context shouldn't be null");
@@ -259,7 +259,16 @@
Session2CommandGroup allowedCommands =
connectionResult.getParcelable(KEY_ALLOWED_COMMANDS);
boolean playbackActive = connectionResult.getBoolean(KEY_PLAYBACK_ACTIVE);
+
Bundle tokenExtras = connectionResult.getBundle(KEY_TOKEN_EXTRAS);
+ if (tokenExtras == null) {
+ Log.w(TAG, "extras shouldn't be null.");
+ tokenExtras = Bundle.EMPTY;
+ } else if (MediaSession2.hasCustomParcelable(tokenExtras)) {
+ Log.w(TAG, "extras contain custom parcelable. Ignoring.");
+ tokenExtras = Bundle.EMPTY;
+ }
+
if (DEBUG) {
Log.d(TAG, "notifyConnected sessionBinder=" + sessionBinder
+ ", allowedCommands=" + allowedCommands);
@@ -343,7 +352,7 @@
}
}
- private Bundle createConnectionRequest(@Nullable Bundle connectionHints) {
+ private Bundle createConnectionRequest(@NonNull Bundle connectionHints) {
Bundle connectionRequest = new Bundle();
connectionRequest.putString(KEY_PACKAGE_NAME, mContext.getPackageName());
connectionRequest.putInt(KEY_PID, Process.myPid());
@@ -351,7 +360,7 @@
return connectionRequest;
}
- private boolean requestConnectToSession(@Nullable Bundle connectionHints) {
+ private boolean requestConnectToSession(@NonNull Bundle connectionHints) {
Session2Link sessionBinder = mSessionToken.getSessionLink();
Bundle connectionRequest = createConnectionRequest(connectionHints);
try {
@@ -430,6 +439,9 @@
* <p>
* {@code connectionHints} is a session-specific argument to send to the session when
* connecting. The contents of this bundle may affect the connection result.
+ * <p>
+ * An {@link IllegalArgumentException} will be thrown if the bundle contains any
+ * non-framework Parcelable objects.
*
* @param connectionHints a bundle which contains the connection hints
* @return The Builder to allow chaining
@@ -439,6 +451,10 @@
if (connectionHints == null) {
throw new IllegalArgumentException("connectionHints shouldn't be null");
}
+ if (MediaSession2.hasCustomParcelable(connectionHints)) {
+ throw new IllegalArgumentException("connectionHints shouldn't contain any custom "
+ + "parcelables");
+ }
mConnectionHints = new Bundle(connectionHints);
return this;
}
@@ -477,6 +493,9 @@
if (mCallback == null) {
mCallback = new ControllerCallback() {};
}
+ if (mConnectionHints == null) {
+ mConnectionHints = Bundle.EMPTY;
+ }
return new MediaController2(
mContext, mToken, mConnectionHints, mCallbackExecutor, mCallback);
}
diff --git a/media/apex/java/android/media/MediaSession2.java b/media/apex/java/android/media/MediaSession2.java
index 0819118..b3edf3f 100644
--- a/media/apex/java/android/media/MediaSession2.java
+++ b/media/apex/java/android/media/MediaSession2.java
@@ -34,8 +34,10 @@
import android.content.Intent;
import android.media.session.MediaSessionManager;
import android.media.session.MediaSessionManager.RemoteUserInfo;
+import android.os.BadParcelableException;
import android.os.Bundle;
import android.os.Handler;
+import android.os.Parcel;
import android.os.Process;
import android.os.ResultReceiver;
import android.util.ArrayMap;
@@ -97,7 +99,7 @@
MediaSession2(@NonNull Context context, @NonNull String id, PendingIntent sessionActivity,
@NonNull Executor callbackExecutor, @NonNull SessionCallback callback,
- Bundle tokenExtras) {
+ @NonNull Bundle tokenExtras) {
synchronized (MediaSession2.class) {
if (SESSION_ID_LIST.contains(id)) {
throw new IllegalStateException("Session ID must be unique. ID=" + id);
@@ -276,6 +278,35 @@
return controllers;
}
+ /**
+ * Returns whether the given bundle includes non-framework Parcelables.
+ */
+ static boolean hasCustomParcelable(@Nullable Bundle bundle) {
+ if (bundle == null) {
+ return false;
+ }
+
+ // Try writing the bundle to parcel, and read it with framework classloader.
+ Parcel parcel = null;
+ try {
+ parcel = Parcel.obtain();
+ parcel.writeBundle(bundle);
+ parcel.setDataPosition(0);
+ Bundle out = parcel.readBundle(null);
+
+ // Calling Bundle#size() will trigger Bundle#unparcel().
+ out.size();
+ } catch (BadParcelableException e) {
+ Log.d(TAG, "Custom parcelable in bundle.", e);
+ return true;
+ } finally {
+ if (parcel != null) {
+ parcel.recycle();
+ }
+ }
+ return false;
+ }
+
boolean isClosed() {
synchronized (mLock) {
return mClosed;
@@ -309,11 +340,21 @@
String callingPkg = connectionRequest.getString(KEY_PACKAGE_NAME);
RemoteUserInfo remoteUserInfo = new RemoteUserInfo(callingPkg, callingPid, callingUid);
+
+ Bundle connectionHints = connectionRequest.getBundle(KEY_CONNECTION_HINTS);
+ if (connectionHints == null) {
+ Log.w(TAG, "connectionHints shouldn't be null.");
+ connectionHints = Bundle.EMPTY;
+ } else if (hasCustomParcelable(connectionHints)) {
+ Log.w(TAG, "connectionHints contain custom parcelable. Ignoring.");
+ connectionHints = Bundle.EMPTY;
+ }
+
final ControllerInfo controllerInfo = new ControllerInfo(
remoteUserInfo,
mSessionManager.isTrustedForMediaControl(remoteUserInfo),
controller,
- connectionRequest.getBundle(KEY_CONNECTION_HINTS));
+ connectionHints);
mCallbackExecutor.execute(() -> {
boolean connected = false;
try {
@@ -516,7 +557,8 @@
/**
* Set extras for the session token. If null or not set, {@link Session2Token#getExtras()}
- * will return {@link Bundle#EMPTY}.
+ * will return an empty {@link Bundle}. An {@link IllegalArgumentException} will be thrown
+ * if the bundle contains any non-framework Parcelable objects.
*
* @return The Builder to allow chaining
* @see Session2Token#getExtras()
@@ -526,7 +568,11 @@
if (extras == null) {
throw new NullPointerException("extras shouldn't be null");
}
- mExtras = extras;
+ if (hasCustomParcelable(extras)) {
+ throw new IllegalArgumentException(
+ "extras shouldn't contain any custom parcelables");
+ }
+ mExtras = new Bundle(extras);
return this;
}
@@ -548,6 +594,9 @@
if (mId == null) {
mId = "";
}
+ if (mExtras == null) {
+ mExtras = Bundle.EMPTY;
+ }
MediaSession2 session2 = new MediaSession2(mContext, mId, mSessionActivity,
mCallbackExecutor, mCallback, mExtras);
@@ -596,7 +645,7 @@
* connection result.
*/
ControllerInfo(@NonNull RemoteUserInfo remoteUserInfo, boolean trusted,
- @Nullable Controller2Link controllerBinder, @Nullable Bundle connectionHints) {
+ @Nullable Controller2Link controllerBinder, @NonNull Bundle connectionHints) {
mRemoteUserInfo = remoteUserInfo;
mIsTrusted = trusted;
mControllerBinder = controllerBinder;
@@ -629,11 +678,11 @@
}
/**
- * @return connection hints sent from controller, or {@link Bundle#EMPTY} if none.
+ * @return connection hints sent from controller.
*/
@NonNull
public Bundle getConnectionHints() {
- return mConnectionHints == null ? Bundle.EMPTY : new Bundle(mConnectionHints);
+ return new Bundle(mConnectionHints);
}
/**
diff --git a/media/apex/java/android/media/MediaSession2Service.java b/media/apex/java/android/media/MediaSession2Service.java
index b8bf384..ee584e5 100644
--- a/media/apex/java/android/media/MediaSession2Service.java
+++ b/media/apex/java/android/media/MediaSession2Service.java
@@ -378,12 +378,22 @@
callingPkg,
pid == 0 ? connectionRequest.getInt(KEY_PID) : pid,
uid);
+
+ Bundle connectionHints = connectionRequest.getBundle(KEY_CONNECTION_HINTS);
+ if (connectionHints == null) {
+ Log.w(TAG, "connectionHints shouldn't be null.");
+ connectionHints = Bundle.EMPTY;
+ } else if (MediaSession2.hasCustomParcelable(connectionHints)) {
+ Log.w(TAG, "connectionHints contain custom parcelable. Ignoring.");
+ connectionHints = Bundle.EMPTY;
+ }
+
final ControllerInfo controllerInfo = new ControllerInfo(
remoteUserInfo,
service.getMediaSessionManager()
.isTrustedForMediaControl(remoteUserInfo),
caller,
- connectionRequest.getBundle(KEY_CONNECTION_HINTS));
+ connectionHints);
if (DEBUG) {
Log.d(TAG, "Handling incoming connection request from the"
diff --git a/media/apex/java/android/media/Session2Token.java b/media/apex/java/android/media/Session2Token.java
index d7cb978..6d499fa 100644
--- a/media/apex/java/android/media/Session2Token.java
+++ b/media/apex/java/android/media/Session2Token.java
@@ -118,11 +118,11 @@
mUid = uid;
mType = TYPE_SESSION_SERVICE;
mSessionLink = null;
- mExtras = null;
+ mExtras = Bundle.EMPTY;
}
Session2Token(int uid, int type, String packageName, Session2Link sessionLink,
- Bundle tokenExtras) {
+ @NonNull Bundle tokenExtras) {
mUid = uid;
mType = type;
mPackageName = packageName;
@@ -139,7 +139,16 @@
mServiceName = in.readString();
mSessionLink = in.readParcelable(null);
mComponentName = ComponentName.unflattenFromString(in.readString());
- mExtras = in.readBundle();
+
+ Bundle extras = in.readBundle();
+ if (extras == null) {
+ Log.w(TAG, "extras shouldn't be null.");
+ extras = Bundle.EMPTY;
+ } else if (MediaSession2.hasCustomParcelable(extras)) {
+ Log.w(TAG, "extras contain custom parcelable. Ignoring.");
+ extras = Bundle.EMPTY;
+ }
+ mExtras = extras;
}
@Override
@@ -220,7 +229,7 @@
*/
@NonNull
public Bundle getExtras() {
- return mExtras == null ? Bundle.EMPTY : mExtras;
+ return new Bundle(mExtras);
}
Session2Link getSessionLink() {
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 56e8e85..510ee44 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -644,6 +644,16 @@
<p>
Also since {@link android.os.Build.VERSION_CODES#M}, you can change the output Surface
dynamically using {@link #setOutputSurface setOutputSurface}.
+ <p>
+ When rendering output to a Surface, the Surface may be configured to drop excessive frames (that
+ are not consumed by the Surface in a timely manner). Or it may be configured to not drop excessive
+ frames. In the latter mode if the Surface is not consuming output frames fast enough, it will
+ eventually block the decoder. Prior to {@link android.os.Build.VERSION_CODES#Q} the exact behavior
+ was undefined, with the exception that View surfaces (SuerfaceView or TextureView) always dropped
+ excessive frames. Since {@link android.os.Build.VERSION_CODES#Q} the default behavior is to drop
+ excessive frames. Applications can opt out of this behavior for non-View surfaces (such as
+ ImageReader or SurfaceTexture) by targeting SDK {@link android.os.Build.VERSION_CODES#Q} and
+ setting the key {@code "allow-frame-drop"} to {@code 0} in their configure format.
<h4>Transformations When Rendering onto Surface</h4>
diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java
index c1c7fca..1fc4f7d 100644
--- a/media/java/android/media/session/MediaController.java
+++ b/media/java/android/media/session/MediaController.java
@@ -414,7 +414,7 @@
/**
* Gets the additional session information which was set when the session was created.
*
- * @return The additional session information, or {@link Bundle#EMPTY} if not set.
+ * @return The additional session information, or an empty {@link Bundle} if not set.
*/
@NonNull
public Bundle getSessionInfo() {
@@ -430,6 +430,10 @@
}
if (mSessionInfo == null) {
+ Log.w(TAG, "sessionInfo shouldn't be null.");
+ mSessionInfo = Bundle.EMPTY;
+ } else if (MediaSession.hasCustomParcelable(mSessionInfo)) {
+ Log.w(TAG, "sessionInfo contains custom parcelable. Ignoring.");
mSessionInfo = Bundle.EMPTY;
}
return new Bundle(mSessionInfo);
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index c4085f8..e11715f 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -32,6 +32,7 @@
import android.media.VolumeProvider;
import android.media.session.MediaSessionManager.RemoteUserInfo;
import android.net.Uri;
+import android.os.BadParcelableException;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -168,6 +169,8 @@
* @param sessionInfo A bundle for additional information about this session.
* Controllers can get this information by calling
* {@link MediaController#getSessionInfo()}.
+ * An {@link IllegalArgumentException} will be thrown if this contains
+ * any non-framework Parcelable objects.
*/
public MediaSession(@NonNull Context context, @NonNull String tag,
@Nullable Bundle sessionInfo) {
@@ -177,6 +180,11 @@
if (TextUtils.isEmpty(tag)) {
throw new IllegalArgumentException("tag cannot be null or empty");
}
+ if (hasCustomParcelable(sessionInfo)) {
+ throw new IllegalArgumentException("sessionInfo shouldn't contain any custom "
+ + "parcelables");
+ }
+
mMaxBitmapSize = context.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.config_mediaMetadataBitmapMaxSize);
mCbStub = new CallbackStub(this);
@@ -600,6 +608,35 @@
return false;
}
+ /**
+ * Returns whether the given bundle includes non-framework Parcelables.
+ */
+ static boolean hasCustomParcelable(@Nullable Bundle bundle) {
+ if (bundle == null) {
+ return false;
+ }
+
+ // Try writing the bundle to parcel, and read it with framework classloader.
+ Parcel parcel = null;
+ try {
+ parcel = Parcel.obtain();
+ parcel.writeBundle(bundle);
+ parcel.setDataPosition(0);
+ Bundle out = parcel.readBundle(null);
+
+ // Calling Bundle#size() will trigger Bundle#unparcel().
+ out.size();
+ } catch (BadParcelableException e) {
+ Log.d(TAG, "Custom parcelable in bundle.", e);
+ return true;
+ } finally {
+ if (parcel != null) {
+ parcel.recycle();
+ }
+ }
+ return false;
+ }
+
void dispatchPrepare(RemoteUserInfo caller) {
postToCallback(caller, CallbackMessageHandler.MSG_PREPARE, null, null);
}
diff --git a/media/jni/Android.bp b/media/jni/Android.bp
index 04545e8..10f76b0 100644
--- a/media/jni/Android.bp
+++ b/media/jni/Android.bp
@@ -149,7 +149,6 @@
"libhidlbase",
"libhidlmemory",
"libhidltransport",
- "libhwbinder_noltopgo",
"libbinderthreadstate",
// MediaPlayer2 implementation
diff --git a/packages/PackageInstaller/res/values-mr/strings.xml b/packages/PackageInstaller/res/values-mr/strings.xml
index 200c993..70ab75f 100644
--- a/packages/PackageInstaller/res/values-mr/strings.xml
+++ b/packages/PackageInstaller/res/values-mr/strings.xml
@@ -37,7 +37,7 @@
<string name="install_failed_msg" product="tv" msgid="1920009940048975221">"<xliff:g id="APP_NAME">%1$s</xliff:g> तुमच्या टीव्हीवर इंस्टॉल केले जाऊ शकत नाही."</string>
<string name="install_failed_msg" product="default" msgid="6484461562647915707">"<xliff:g id="APP_NAME">%1$s</xliff:g> तुमच्या फोनवर इंस्टॉल केले जाऊ शकत नाही."</string>
<string name="launch" msgid="3952550563999890101">"उघडा"</string>
- <string name="unknown_apps_admin_dlg_text" msgid="4456572224020176095">"अज्ञात स्रोतांकडून मिळवलेल्या अॅप्स इंस्टॉलेशनला तुमचा प्रशासक अनुमती देत नाही"</string>
+ <string name="unknown_apps_admin_dlg_text" msgid="4456572224020176095">"अज्ञात स्रोतांकडून मिळवलेल्या अॅप्स इंस्टॉलेशनला तुमचा प्रशासक अनुमती देत नाही"</string>
<string name="unknown_apps_user_restriction_dlg_text" msgid="151020786933988344">"या वापरकर्त्याद्वारे अज्ञात अॅप्स इंस्टॉल केली जाऊ शकत नाहीत"</string>
<string name="install_apps_user_restriction_dlg_text" msgid="2154119597001074022">"या वापरकर्त्याला अॅप्स इंस्टॉल करण्याची अनुमती नाही"</string>
<string name="ok" msgid="7871959885003339302">"ओके"</string>
@@ -67,8 +67,8 @@
<string name="uninstall_done_app" msgid="4588850984473605768">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> अनइंस्टॉल केले"</string>
<string name="uninstall_failed" msgid="1847750968168364332">"अनइंस्टॉल करता आले नाही."</string>
<string name="uninstall_failed_app" msgid="5506028705017601412">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> अनइंस्टॉल करता आले नाही."</string>
- <string name="uninstall_failed_device_policy_manager" msgid="785293813665540305">"अॅक्टिव्ह डिव्हाइस प्रशासक अॅप अनइंस्टॉल करू शकत नाही"</string>
- <string name="uninstall_failed_device_policy_manager_of_user" msgid="4813104025494168064">"<xliff:g id="USERNAME">%1$s</xliff:g> साठी अॅक्टिव्ह डिव्हाइस प्रशासक अॅप अनइंस्टॉल करू शकत नाही"</string>
+ <string name="uninstall_failed_device_policy_manager" msgid="785293813665540305">"अॅक्टिव्ह डिव्हाइस प्रशासक अॅप अनइंस्टॉल करू शकत नाही"</string>
+ <string name="uninstall_failed_device_policy_manager_of_user" msgid="4813104025494168064">"<xliff:g id="USERNAME">%1$s</xliff:g> साठी अॅक्टिव्ह डिव्हाइस प्रशासक अॅप अनइंस्टॉल करू शकत नाही"</string>
<string name="uninstall_all_blocked_profile_owner" msgid="2009393666026751501">"हे अॅप काही वापरकर्ते किंवा प्रोफाइलसाठी आवश्यक आहे आणि इतरांसाठी अनइंस्टॉल करण्यात आले"</string>
<string name="uninstall_blocked_profile_owner" msgid="6373897407002404848">"तुमच्या प्रोफाइलसाठी हे अॅप आवश्यक आहे आणि अनइंस्टॉल केले जाऊ शकत नाही."</string>
<string name="uninstall_blocked_device_owner" msgid="6724602931761073901">"तुमच्या डिव्हाइस प्रशासकास हे अॅप आवश्यक आहे आणि ते अनइंस्टॉल केले जाऊ शकत नाही."</string>
diff --git a/packages/PackageInstaller/res/values-th/strings.xml b/packages/PackageInstaller/res/values-th/strings.xml
index 1f6e10a..14c9d5f 100644
--- a/packages/PackageInstaller/res/values-th/strings.xml
+++ b/packages/PackageInstaller/res/values-th/strings.xml
@@ -72,7 +72,7 @@
<string name="uninstall_all_blocked_profile_owner" msgid="2009393666026751501">"แอปนี้จำเป็นสำหรับผู้ใช้หรือโปรไฟล์บางส่วน และถอนการติดตั้งไปแล้วสำหรับส่วนอื่น"</string>
<string name="uninstall_blocked_profile_owner" msgid="6373897407002404848">"แอปนี้จำเป็นสำหรับโปรไฟล์ของคุณและถอนการติดตั้งไม่ได้"</string>
<string name="uninstall_blocked_device_owner" msgid="6724602931761073901">"ผู้ดูแลระบบอุปกรณ์กำหนดให้ใช้แอปนี้และถอนการติดตั้งไม่ได้"</string>
- <string name="manage_device_administrators" msgid="3092696419363842816">"จัดการแอปผู้ดูแลระบบอุปกรณ์"</string>
+ <string name="manage_device_administrators" msgid="3092696419363842816">"จัดการแอปดูแลอุปกรณ์"</string>
<string name="manage_users" msgid="1243995386982560813">"จัดการผู้ใช้"</string>
<string name="uninstall_failed_msg" msgid="2176744834786696012">"ถอนการติดตั้ง <xliff:g id="APP_NAME">%1$s</xliff:g> ไม่ได้"</string>
<string name="Parse_error_dlg_text" msgid="1661404001063076789">"พบปัญหาในการแยกวิเคราะห์แพ็กเกจ"</string>
diff --git a/packages/SettingsLib/SearchWidget/res/values-sw/strings.xml b/packages/SettingsLib/SearchWidget/res/values-sw/strings.xml
index 297ecdb..199845b 100644
--- a/packages/SettingsLib/SearchWidget/res/values-sw/strings.xml
+++ b/packages/SettingsLib/SearchWidget/res/values-sw/strings.xml
@@ -17,5 +17,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="search_menu" msgid="1604061903696928905">"Tafuta mipangilio"</string>
+ <string name="search_menu" msgid="1604061903696928905">"Tafuta katika mipangilio"</string>
</resources>
diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml
index bdbde46..13890e0 100644
--- a/packages/SettingsLib/res/values-bn/strings.xml
+++ b/packages/SettingsLib/res/values-bn/strings.xml
@@ -219,7 +219,7 @@
<string name="mock_location_app_set" msgid="8966420655295102685">"অনুরূপ লোকেশন অ্যাপ্লিকেশান: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
<string name="debug_networking_category" msgid="7044075693643009662">"নেটওয়ার্কিং"</string>
<string name="wifi_display_certification" msgid="8611569543791307533">"ওয়্যারলেস ডিসপ্লে সার্টিফিকেশন"</string>
- <string name="wifi_verbose_logging" msgid="4203729756047242344">"ওয়াই-ফাই ভারবোস লগিং সক্ষম করুন"</string>
+ <string name="wifi_verbose_logging" msgid="4203729756047242344">"ওয়াই-ফাই ভারবোস লগিং চালু করুন"</string>
<string name="wifi_scan_throttling" msgid="160014287416479843">"ওয়াই-ফাই স্ক্যান থ্রোটলিং"</string>
<string name="mobile_data_always_on" msgid="8774857027458200434">"মোবাইল ডেটা সব সময় সক্রিয় থাক"</string>
<string name="tethering_hardware_offload" msgid="7470077827090325814">"টিথারিং হার্ডওয়্যার অ্যাক্সিলারেশন"</string>
@@ -262,7 +262,7 @@
<string name="allow_mock_location_summary" msgid="317615105156345626">"মক অবস্থানগুলি মঞ্জুর করুন"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"অ্যাট্রিবিউট ইন্সপেকশন দেখা চালু করুন"</string>
<string name="mobile_data_always_on_summary" msgid="8149773901431697910">"ওয়াই-ফাই সক্রিয় থাকার সময়েও (দ্রুত নেটওয়ার্কে পাল্টানোর জন্য) সর্বদা মোবাইল ডেটা সক্রিয় রাখুন।"</string>
- <string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"টিথারিং হার্ডওয়্যার অ্যাক্সিলারেশন উপলব্ধ থাকলে ব্যবহার করুন"</string>
+ <string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"টিথারিং হার্ডওয়্যার অ্যাক্সিলারেশন উপলভ্য থাকলে ব্যবহার করুন"</string>
<string name="adb_warning_title" msgid="6234463310896563253">"USB ডিবাগিং মঞ্জুর করবেন?"</string>
<string name="adb_warning_message" msgid="7316799925425402244">"USB ডিবাগিং কেবলমাত্র বিকাশ করার উদ্দেশ্যে। আপনার কম্পিউটার এবং আপনার ডিভাইসের মধ্যে ডেটা অনুলিপি করতে এটি ব্যবহার করুন, বিজ্ঞপ্তি ছাড়া আপনার ডিভাইসে অ্যাপ্লিকেশানগুলি ইনস্টল করুন এবং ডেটা লগ পড়ুন।"</string>
<string name="adb_keys_warning_message" msgid="5659849457135841625">"আপনি আগে যে সব কম্পিউটার USB ডিবাগিং এর অ্যাক্সেসের অনুমতি দিয়েছিলেন তা প্রত্যাহার করবেন?"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index d464256..afdb105 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -220,7 +220,7 @@
<string name="debug_networking_category" msgid="7044075693643009662">"Xarxes"</string>
<string name="wifi_display_certification" msgid="8611569543791307533">"Certificació de pantalla sense fil"</string>
<string name="wifi_verbose_logging" msgid="4203729756047242344">"Activa el registre Wi‑Fi detallat"</string>
- <string name="wifi_scan_throttling" msgid="160014287416479843">"Regulació de la cerca de xarxes Wi‑Fi"</string>
+ <string name="wifi_scan_throttling" msgid="160014287416479843">"Limitació de la cerca de xarxes Wi‑Fi"</string>
<string name="mobile_data_always_on" msgid="8774857027458200434">"Dades mòbils sempre actives"</string>
<string name="tethering_hardware_offload" msgid="7470077827090325814">"Acceleració per maquinari per a compartició de xarxa"</string>
<string name="bluetooth_show_devices_without_names" msgid="4708446092962060176">"Mostra els dispositius Bluetooth sense el nom"</string>
diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml
index d2e3a38..fd3936d 100644
--- a/packages/SettingsLib/res/values-eu/strings.xml
+++ b/packages/SettingsLib/res/values-eu/strings.xml
@@ -246,7 +246,7 @@
<string name="private_dns_mode_provider_hostname_hint" msgid="2487492386970928143">"Idatzi DNS hornitzailearen ostalari-izena"</string>
<string name="private_dns_mode_provider_failure" msgid="231837290365031223">"Ezin izan da konektatu"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"Erakutsi hari gabe bistaratzeko ziurtagiriaren aukerak"</string>
- <string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"Erakutsi datu gehiago wifi-sareetan saioa hastean. Erakutsi sarearen identifikatzailea eta seinalearen indarra wifi-sareen hautagailuan."</string>
+ <string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"Erakutsi datu gehiago wifi-sareetan saioa hastean. Erakutsi sarearen identifikatzailea eta seinalearen indarra wifi-sareen hautatzailean."</string>
<string name="wifi_scan_throttling_summary" msgid="4461922728822495763">"Bateria gutxiago kontsumituko da, eta sarearen errendimendua hobetuko."</string>
<string name="wifi_metered_label" msgid="4514924227256839725">"Sare neurtua"</string>
<string name="wifi_unmetered_label" msgid="6124098729457992931">"Neurtu gabeko sarea"</string>
@@ -261,7 +261,7 @@
<string name="allow_mock_location" msgid="2787962564578664888">"Onartu kokapen faltsuak"</string>
<string name="allow_mock_location_summary" msgid="317615105156345626">"Onartu kokapen faltsuak"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"Gaitu ikuspegiaren atributuak ikuskatzeko aukera"</string>
- <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mantendu mugikorreko datuak beti aktibo, baita wifi-konexioa aktibo dagoenean ere (sarez bizkor aldatu ahal izateko)"</string>
+ <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Mantendu datu-konexioa beti aktibo, baita wifi-konexioa aktibo dagoenean ere (sare batetik bestera bizkor aldatu ahal izateko)."</string>
<string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"Erabilgarri badago, erabili konexioa partekatzeko hardwarearen azelerazioa"</string>
<string name="adb_warning_title" msgid="6234463310896563253">"USB arazketa onartu?"</string>
<string name="adb_warning_message" msgid="7316799925425402244">"USB arazketa garapen-xedeetarako soilik dago diseinatuta. Erabil ezazu ordenagailuaren eta gailuaren artean datuak kopiatzeko, aplikazioak gailuan jakinarazi gabe instalatzeko eta erregistro-datuak irakurtzeko."</string>
@@ -462,7 +462,7 @@
<string name="alarm_template_far" msgid="3779172822607461675">"data: <xliff:g id="WHEN">%1$s</xliff:g>"</string>
<string name="zen_mode_duration_settings_title" msgid="229547412251222757">"Iraupena"</string>
<string name="zen_mode_duration_always_prompt_title" msgid="6478923750878945501">"Galdetu beti"</string>
- <string name="zen_mode_forever" msgid="2704305038191592967">"Desaktibatu arte"</string>
+ <string name="zen_mode_forever" msgid="2704305038191592967">"Zuk desaktibatu arte"</string>
<string name="time_unit_just_now" msgid="6363336622778342422">"Oraintxe"</string>
<string name="media_transfer_this_device_name" msgid="1636276898262571213">"Gailu hau"</string>
</resources>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index 6632752..352c276 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -261,7 +261,7 @@
<string name="allow_mock_location" msgid="2787962564578664888">"مکانهای کاذب مجاز هستند"</string>
<string name="allow_mock_location_summary" msgid="317615105156345626">"مکانهای کاذب مجاز هستند"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"فعال کردن نمایش بازبینی ویژگی"</string>
- <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"داده سلولی همیشه فعال نگه داشته میشود، حتی وقتی Wi-Fi فعال است (برای جابهجایی سریع شبکه)."</string>
+ <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"داده تلفن همراه همیشه فعال نگه داشته میشود، حتی وقتی Wi-Fi فعال است (برای جابهجایی سریع شبکه)."</string>
<string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"استفاده از شتاب سختافزاری اشتراکگذاری اینترنت درصورت دردسترس بودن"</string>
<string name="adb_warning_title" msgid="6234463310896563253">"اشکالزدایی USB انجام شود؟"</string>
<string name="adb_warning_message" msgid="7316799925425402244">"اشکالزدایی USB فقط برای اهداف برنامهنویسی در نظر گرفته شده است. از آن برای رونوشتبرداری داده بین رایانه و دستگاهتان، نصب برنامهها در دستگاهتان بدون اعلان و خواندن دادههای گزارش استفاده کنید."</string>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index 3aa8db9..cf4ee13 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -146,7 +146,7 @@
<string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Partage connexion Bluetooth"</string>
<string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Partage de connexion"</string>
<string name="tether_settings_title_all" msgid="8356136101061143841">"Partage de connexion"</string>
- <string name="managed_user_title" msgid="8109605045406748842">"Toutes applis profession."</string>
+ <string name="managed_user_title" msgid="8109605045406748842">"Toutes les applis professionnelles"</string>
<string name="user_guest" msgid="8475274842845401871">"Invité"</string>
<string name="unknown" msgid="1592123443519355854">"Inconnu"</string>
<string name="running_process_item_user_label" msgid="3129887865552025943">"Utilisateur : <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
@@ -243,7 +243,7 @@
<string name="private_dns_mode_off" msgid="8236575187318721684">"Désactivé"</string>
<string name="private_dns_mode_opportunistic" msgid="8314986739896927399">"Automatique"</string>
<string name="private_dns_mode_provider" msgid="8354935160639360804">"Nom d\'hôte du fournisseur DNS privé"</string>
- <string name="private_dns_mode_provider_hostname_hint" msgid="2487492386970928143">"Saisissez le nom d\'hôte du fournisseur DNS"</string>
+ <string name="private_dns_mode_provider_hostname_hint" msgid="2487492386970928143">"Indiquez le nom d\'hôte du fournisseur DNS"</string>
<string name="private_dns_mode_provider_failure" msgid="231837290365031223">"Impossible de se connecter"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"Afficher les options pour la certification de l\'affichage sans fil"</string>
<string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"Détailler les infos Wi-Fi, afficher par RSSI de SSID dans l\'outil de sélection Wi-Fi"</string>
@@ -385,8 +385,8 @@
<string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Temps restant en fonction de votre utilisation (<xliff:g id="LEVEL">%2$s</xliff:g>) : environ <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
<!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
<skip />
- <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Devrait durer jusqu\'à environ <xliff:g id="TIME">%1$s</xliff:g> en fonction de votre utilisation (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
- <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Devrait durer jusqu\'à environ <xliff:g id="TIME">%1$s</xliff:g> en fonction de votre utilisation"</string>
+ <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Devrait durer jusqu\'à environ <xliff:g id="TIME">%1$s</xliff:g> selon utilisation (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
+ <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Devrait durer jusqu\'à environ <xliff:g id="TIME">%1$s</xliff:g> selon utilisation"</string>
<string name="power_discharge_by" msgid="6453537733650125582">"Devrait durer jusqu\'à environ <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
<string name="power_discharge_by_only" msgid="107616694963545745">"Devrait durer jusqu\'à environ <xliff:g id="TIME">%1$s</xliff:g>"</string>
<string name="power_discharge_by_only_short" msgid="1372817269546888804">"Jusqu\'à <xliff:g id="TIME">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml
index 4bd1c78..b998a74 100644
--- a/packages/SettingsLib/res/values-gl/strings.xml
+++ b/packages/SettingsLib/res/values-gl/strings.xml
@@ -402,8 +402,8 @@
<string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7466484148515796216">"É posible que a tableta se apague en breve (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
<string name="power_remaining_duration_shutdown_imminent" product="device" msgid="603933521600231649">"É posible que o dispositivo se apague en breve (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
<string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
- <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tempo que queda ata cargar de todo: <xliff:g id="TIME">%1$s</xliff:g>"</string>
- <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ata completar a carga"</string>
+ <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"Tempo que queda para completar a carga: <xliff:g id="TIME">%1$s</xliff:g>"</string>
+ <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> para completar a carga"</string>
<string name="battery_info_status_unknown" msgid="196130600938058547">"Descoñecido"</string>
<string name="battery_info_status_charging" msgid="1705179948350365604">"Cargando"</string>
<string name="battery_info_status_charging_lower" msgid="8689770213898117994">"cargando"</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 8c6ff8e..5d512a8 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -37,7 +37,7 @@
<string name="wifi_no_internet" msgid="4663834955626848401">"इंटरनेट नहीं है"</string>
<string name="saved_network" msgid="4352716707126620811">"<xliff:g id="NAME">%1$s</xliff:g> के द्वारा सहेजा गया"</string>
<string name="connected_via_network_scorer" msgid="5713793306870815341">"%1$s के ज़रिए ऑटोमैटिक रूप से कनेक्ट है"</string>
- <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"नेटवर्क रेटिंग प्रदाता के ज़रिए अपने आप कनेक्ट है"</string>
+ <string name="connected_via_network_scorer_default" msgid="7867260222020343104">"नेटवर्क रेटिंग कंपनी के ज़रिए अपने आप कनेक्ट है"</string>
<string name="connected_via_passpoint" msgid="2826205693803088747">"%1$s के द्वारा उपलब्ध"</string>
<string name="connected_via_app" msgid="5571999941988929520">"<xliff:g id="NAME">%1$s</xliff:g> के ज़रिए कनेक्ट किया गया"</string>
<string name="available_via_passpoint" msgid="1617440946846329613">"%1$s के द्वारा उपलब्ध"</string>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index c5176b0..68c0f17 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -220,7 +220,7 @@
<string name="debug_networking_category" msgid="7044075693643009662">"Reti"</string>
<string name="wifi_display_certification" msgid="8611569543791307533">"Certificazione display wireless"</string>
<string name="wifi_verbose_logging" msgid="4203729756047242344">"Attiva logging dettagliato Wi-Fi"</string>
- <string name="wifi_scan_throttling" msgid="160014287416479843">"Limitazione della ricerca di reti Wi‑Fi"</string>
+ <string name="wifi_scan_throttling" msgid="160014287416479843">"Limita ricerca di reti Wi‑Fi"</string>
<string name="mobile_data_always_on" msgid="8774857027458200434">"Dati mobili sempre attivi"</string>
<string name="tethering_hardware_offload" msgid="7470077827090325814">"Tethering accelerazione hardware"</string>
<string name="bluetooth_show_devices_without_names" msgid="4708446092962060176">"Mostra dispositivi Bluetooth senza nome"</string>
diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml
index fb09c2f..36cf2d4 100644
--- a/packages/SettingsLib/res/values-km/strings.xml
+++ b/packages/SettingsLib/res/values-km/strings.xml
@@ -402,8 +402,8 @@
<string name="power_remaining_duration_shutdown_imminent" product="tablet" msgid="7466484148515796216">"ថេប្លេតអាចនឹងបិទក្នុងពេលបន្តិចទៀត (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
<string name="power_remaining_duration_shutdown_imminent" product="device" msgid="603933521600231649">"ឧបករណ៍អាចនឹងបិទក្នុងពេលបន្តិចទៀត (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
<string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
- <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"សល់ <xliff:g id="TIME">%1$s</xliff:g> ទើបសាកថ្មពេញ"</string>
- <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> រហូតដល់សាកពេញ"</string>
+ <string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"<xliff:g id="TIME">%1$s</xliff:g> ទៀតទើបសាកថ្មពេញ"</string>
+ <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> ទៀតទើបសាកថ្មពេញ"</string>
<string name="battery_info_status_unknown" msgid="196130600938058547">"មិនស្គាល់"</string>
<string name="battery_info_status_charging" msgid="1705179948350365604">"កំពុងបញ្ចូលថ្ម"</string>
<string name="battery_info_status_charging_lower" msgid="8689770213898117994">"កំពុងសាកថ្ម"</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index abdfa04..8f8bbc1 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -247,7 +247,7 @@
<string name="private_dns_mode_provider_failure" msgid="231837290365031223">"연결할 수 없음"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"무선 디스플레이 인증서 옵션 표시"</string>
<string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"Wi‑Fi 로깅 수준을 높이고, Wi‑Fi 선택도구에서 SSID RSSI당 값을 표시"</string>
- <string name="wifi_scan_throttling_summary" msgid="4461922728822495763">"배터리 소모를 줄이고 네트워크 성능을 개선합니다."</string>
+ <string name="wifi_scan_throttling_summary" msgid="4461922728822495763">"배터리 소모를 줄이고 네트워크 성능 개선"</string>
<string name="wifi_metered_label" msgid="4514924227256839725">"종량제 네트워크"</string>
<string name="wifi_unmetered_label" msgid="6124098729457992931">"무제한 네트워크"</string>
<string name="select_logd_size_title" msgid="7433137108348553508">"로거 버퍼 크기"</string>
diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml
index 8bed22f..dda3462 100644
--- a/packages/SettingsLib/res/values-mk/strings.xml
+++ b/packages/SettingsLib/res/values-mk/strings.xml
@@ -262,7 +262,7 @@
<string name="allow_mock_location_summary" msgid="317615105156345626">"Овозможи лажни локации"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"Овозможете проверка на атрибутот на приказот"</string>
<string name="mobile_data_always_on_summary" msgid="8149773901431697910">"Секогаш држи го активен мобилниот интернет, дури и при активно Wi-Fi (за брзо префрлување мрежа)."</string>
- <string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"Ако е достапно, користете хардверско забрзување за врзување"</string>
+ <string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"Ако е достапно, користи хардверско забрзување за врзување"</string>
<string name="adb_warning_title" msgid="6234463310896563253">"Овозможи отстранување грешки на USB?"</string>
<string name="adb_warning_message" msgid="7316799925425402244">"Отстранувањето грешки на USB е наменето само за целите на развој. Користете го за копирање податоци меѓу вашиот компјутер и вашиот уред, за инсталирање апликации на вашиот уред без известување и за читање евиденција на податоци."</string>
<string name="adb_keys_warning_message" msgid="5659849457135841625">"Отповикај пристап кон отстранување грешка од USB од сите претходно овластени компјутери?"</string>
diff --git a/packages/SettingsLib/res/values-mr/arrays.xml b/packages/SettingsLib/res/values-mr/arrays.xml
index a364db9..7b46760 100644
--- a/packages/SettingsLib/res/values-mr/arrays.xml
+++ b/packages/SettingsLib/res/values-mr/arrays.xml
@@ -145,9 +145,9 @@
</string-array>
<string-array name="bluetooth_audio_active_device_summaries">
<item msgid="4862957058729193940"></item>
- <item msgid="6481691720774549651">", अॅक्टिव्ह"</item>
- <item msgid="8962366465966010158">", अॅक्टिव्ह (मीडिया)"</item>
- <item msgid="4046665544396189228">", अॅक्टिव्ह (फोन)"</item>
+ <item msgid="6481691720774549651">", अॅक्टिव्ह"</item>
+ <item msgid="8962366465966010158">", अॅक्टिव्ह (मीडिया)"</item>
+ <item msgid="4046665544396189228">", अॅक्टिव्ह (फोन)"</item>
</string-array>
<string-array name="select_logd_size_titles">
<item msgid="8665206199209698501">"बंद"</item>
diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml
index 367b13d..54723a8 100644
--- a/packages/SettingsLib/res/values-mr/strings.xml
+++ b/packages/SettingsLib/res/values-mr/strings.xml
@@ -34,7 +34,7 @@
<string name="wifi_check_password_try_again" msgid="516958988102584767">"पासवर्ड तपासा आणि पुन्हा प्रयत्न करा"</string>
<string name="wifi_not_in_range" msgid="1136191511238508967">"परिक्षेत्रामध्ये नाही"</string>
<string name="wifi_no_internet_no_reconnect" msgid="5724903347310541706">"स्वयंचलितपणे कनेक्ट करणार नाही"</string>
- <string name="wifi_no_internet" msgid="4663834955626848401">"इंटरनेट अॅक्सेस नाही"</string>
+ <string name="wifi_no_internet" msgid="4663834955626848401">"इंटरनेट अॅक्सेस नाही"</string>
<string name="saved_network" msgid="4352716707126620811">"<xliff:g id="NAME">%1$s</xliff:g> द्वारे सेव्ह केले"</string>
<string name="connected_via_network_scorer" msgid="5713793306870815341">"%1$s द्वारे स्वयंचलितपणे कनेक्ट केले"</string>
<string name="connected_via_network_scorer_default" msgid="7867260222020343104">"नेटवर्क रेटिंग प्रदात्याद्वारे स्वयंचलितपणे कनेक्ट केले"</string>
@@ -46,7 +46,7 @@
<string name="wifi_limited_connection" msgid="7717855024753201527">"मर्यादित कनेक्शन"</string>
<string name="wifi_status_no_internet" msgid="5784710974669608361">"इंटरनेट नाही"</string>
<string name="wifi_status_sign_in_required" msgid="123517180404752756">"साइन इन करणे आवश्यक आहे"</string>
- <string name="wifi_ap_unable_to_handle_new_sta" msgid="5348824313514404541">"अॅक्सेस पॉइंट तात्पुरते भरलेले"</string>
+ <string name="wifi_ap_unable_to_handle_new_sta" msgid="5348824313514404541">"अॅक्सेस पॉइंट तात्पुरते भरलेले"</string>
<string name="connected_via_carrier" msgid="7583780074526041912">"%1$s ने कनेक्ट केले"</string>
<string name="available_via_carrier" msgid="1469036129740799053">"%1$s ने उपलब्ध"</string>
<string name="osu_opening_provider" msgid="5488997661548640424">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> उघडत आहे"</string>
@@ -74,8 +74,8 @@
<string name="bluetooth_connected_no_headset_battery_level" msgid="1610296229139400266">"कनेक्ट केले (फोन नाही), बॅटरी <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g><xliff:g id="ACTIVE_DEVICE">%2$s</xliff:g>"</string>
<string name="bluetooth_connected_no_a2dp_battery_level" msgid="3908466636369853652">"कनेक्ट केले (मीडिया नाही), बॅटरी <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g><xliff:g id="ACTIVE_DEVICE">%2$s</xliff:g>"</string>
<string name="bluetooth_connected_no_headset_no_a2dp_battery_level" msgid="1163440823807659316">"कनेक्ट केले (फोन किंवा मीडिया नाही), बॅटरी <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g><xliff:g id="ACTIVE_DEVICE">%2$s</xliff:g>"</string>
- <string name="bluetooth_active_battery_level" msgid="3149689299296462009">"अॅक्टिव्ह, <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी"</string>
- <string name="bluetooth_active_battery_level_untethered" msgid="6662649951391456747">"अॅक्टिव्ह, L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> बॅटरी, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी"</string>
+ <string name="bluetooth_active_battery_level" msgid="3149689299296462009">"अॅक्टिव्ह, <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी"</string>
+ <string name="bluetooth_active_battery_level_untethered" msgid="6662649951391456747">"अॅक्टिव्ह, L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> बॅटरी, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी"</string>
<string name="bluetooth_battery_level" msgid="1447164613319663655">"<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी"</string>
<string name="bluetooth_battery_level_untethered" msgid="5974406100211667177">"L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> बॅटरी, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी"</string>
<string name="bluetooth_active_no_battery_level" msgid="8380223546730241956">"अॅक्टिव्ह"</string>
@@ -83,12 +83,12 @@
<string name="bluetooth_profile_headset" msgid="7815495680863246034">"फोन कॉल"</string>
<string name="bluetooth_profile_opp" msgid="9168139293654233697">"फाइल स्थानांतरण"</string>
<string name="bluetooth_profile_hid" msgid="3680729023366986480">"इनपुट डिव्हाइस"</string>
- <string name="bluetooth_profile_pan" msgid="3391606497945147673">"इंटरनेट अॅक्सेस"</string>
+ <string name="bluetooth_profile_pan" msgid="3391606497945147673">"इंटरनेट अॅक्सेस"</string>
<string name="bluetooth_profile_pbap" msgid="5372051906968576809">"संपर्क शेअरिंग"</string>
<string name="bluetooth_profile_pbap_summary" msgid="6605229608108852198">"संपर्क सामायिकरणासाठी वापरा"</string>
<string name="bluetooth_profile_pan_nap" msgid="8429049285027482959">"इंटरनेट कनेक्शन शेअररण"</string>
<string name="bluetooth_profile_map" msgid="1019763341565580450">"मजकूर मेसेज"</string>
- <string name="bluetooth_profile_sap" msgid="5764222021851283125">"सिम अॅक्सेस"</string>
+ <string name="bluetooth_profile_sap" msgid="5764222021851283125">"सिम अॅक्सेस"</string>
<string name="bluetooth_profile_a2dp_high_quality" msgid="5444517801472820055">"HD ऑडिओ: <xliff:g id="CODEC_NAME">%1$s</xliff:g>"</string>
<string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="8510588052415438887">"HD ऑडिओ"</string>
<string name="bluetooth_profile_hearing_aid" msgid="6680721080542444257">"श्रवण यंत्रे"</string>
@@ -102,7 +102,7 @@
<string name="bluetooth_hid_profile_summary_connected" msgid="3381760054215168689">"इनपुट डिव्हाइसवर कनेक्ट केले"</string>
<string name="bluetooth_pan_user_profile_summary_connected" msgid="6436258151814414028">"इंटरनेट अॅक्सेससाठी डिव्हाइसशी कनेक्ट केले"</string>
<string name="bluetooth_pan_nap_profile_summary_connected" msgid="1322694224800769308">"डिव्हाइससह स्थानिक इंटरनेट कनेक्शन शेअर करत आहे"</string>
- <string name="bluetooth_pan_profile_summary_use_for" msgid="5736111170225304239">"इंटरनेट अॅक्सेस करण्यासाठी वापरा"</string>
+ <string name="bluetooth_pan_profile_summary_use_for" msgid="5736111170225304239">"इंटरनेट अॅक्सेस करण्यासाठी वापरा"</string>
<string name="bluetooth_map_profile_summary_use_for" msgid="5154200119919927434">"नकाशासाठी वापरा"</string>
<string name="bluetooth_sap_profile_summary_use_for" msgid="7085362712786907993">"SIM प्रवेशासाठी वापरा"</string>
<string name="bluetooth_a2dp_profile_summary_use_for" msgid="4630849022250168427">"मीडिया ऑडिओसाठी वापरा"</string>
@@ -113,7 +113,7 @@
<string name="bluetooth_pairing_accept" msgid="6163520056536604875">"पेअर करा"</string>
<string name="bluetooth_pairing_accept_all_caps" msgid="6061699265220789149">"पेअर करा"</string>
<string name="bluetooth_pairing_decline" msgid="4185420413578948140">"रद्द करा"</string>
- <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"कनेक्ट केल्यावर पेअरींग तुमचे संपर्क आणि कॉल इतिहास यामध्ये अॅक्सेस देते."</string>
+ <string name="bluetooth_pairing_will_share_phonebook" msgid="4982239145676394429">"कनेक्ट केल्यावर पेअरींग तुमचे संपर्क आणि कॉल इतिहास यामध्ये अॅक्सेस देते."</string>
<string name="bluetooth_pairing_error_message" msgid="3748157733635947087">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> शी जोडू शकलो नाही."</string>
<string name="bluetooth_pairing_pin_error_message" msgid="8337234855188925274">"अयोग्य पिन किंवा पासकीमुळे <xliff:g id="DEVICE_NAME">%1$s</xliff:g> सह जोडू शकलो नाही."</string>
<string name="bluetooth_pairing_device_down_error_message" msgid="7870998403045801381">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> शी संवाद प्रस्थापित करू शकत नाही."</string>
@@ -138,15 +138,15 @@
<string name="accessibility_wifi_security_type_none" msgid="1223747559986205423">"नेटवर्क उघडा"</string>
<string name="accessibility_wifi_security_type_secured" msgid="862921720418885331">"सुरक्षित नेटवर्क"</string>
<string name="process_kernel_label" msgid="3916858646836739323">"Android OS"</string>
- <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"काढलेले अॅप्स"</string>
- <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"काढलेले अॅप्स आणि वापरकर्ते"</string>
+ <string name="data_usage_uninstalled_apps" msgid="614263770923231598">"काढलेले अॅप्स"</string>
+ <string name="data_usage_uninstalled_apps_users" msgid="7986294489899813194">"काढलेले अॅप्स आणि वापरकर्ते"</string>
<string name="data_usage_ota" msgid="5377889154805560860">"सिस्टम अपडेट"</string>
<string name="tether_settings_title_usb" msgid="6688416425801386511">"USB टेदरिंग"</string>
<string name="tether_settings_title_wifi" msgid="3277144155960302049">"पोर्टेबल हॉटस्पॉट"</string>
<string name="tether_settings_title_bluetooth" msgid="355855408317564420">"ब्लूटूथ टेदरिंग"</string>
<string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"टेदरिंग"</string>
<string name="tether_settings_title_all" msgid="8356136101061143841">"टेदरिंग आणि पोर्टेबल हॉटस्पॉट"</string>
- <string name="managed_user_title" msgid="8109605045406748842">"सर्व कार्य अॅप्स"</string>
+ <string name="managed_user_title" msgid="8109605045406748842">"सर्व कार्य अॅप्स"</string>
<string name="user_guest" msgid="8475274842845401871">"अतिथी"</string>
<string name="unknown" msgid="1592123443519355854">"अज्ञात"</string>
<string name="running_process_item_user_label" msgid="3129887865552025943">"वापरकर्ता: <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
@@ -200,7 +200,7 @@
<string name="development_settings_not_available" msgid="4308569041701535607">"या वापरकर्त्यासाठी डेव्हलपर पर्याय उपलब्ध नाहीत"</string>
<string name="vpn_settings_not_available" msgid="956841430176985598">"या वापरकर्त्यासाठी VPN सेटिंग्ज उपलब्ध नाहीत"</string>
<string name="tethering_settings_not_available" msgid="6765770438438291012">"या वापरकर्त्यासाठी टेदरिंग सेटिंग्ज उपलब्ध नाहीत"</string>
- <string name="apn_settings_not_available" msgid="7873729032165324000">"या वापरकर्त्यासाठी अॅक्सेस बिंदू नाव सेटिंग्ज उपलब्ध नाहीत"</string>
+ <string name="apn_settings_not_available" msgid="7873729032165324000">"या वापरकर्त्यासाठी अॅक्सेस बिंदू नाव सेटिंग्ज उपलब्ध नाहीत"</string>
<string name="enable_adb" msgid="7982306934419797485">"USB डीबग करणे"</string>
<string name="enable_adb_summary" msgid="4881186971746056635">"USB कनेक्ट केलेले असताना डीबग मोड"</string>
<string name="clear_adb_keys" msgid="4038889221503122743">"USB डीबग करणारी प्रमाणीकरणे रीव्होक करा"</string>
@@ -261,14 +261,14 @@
<string name="allow_mock_location" msgid="2787962564578664888">"बनावट स्थानांना अनुमती द्या"</string>
<string name="allow_mock_location_summary" msgid="317615105156345626">"बनावट स्थानांना अनुमती द्या"</string>
<string name="debug_view_attributes" msgid="6485448367803310384">"दृश्य विशेषता तपासणी सुरू करा"</string>
- <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"जरी वाय-फाय चालू असले तरीही, मोबाईल डेटा नेहमी चालू ठेवा (नेटवर्क जलदरीत्या स्विच करण्यासाठी)."</string>
- <string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"उपलब्ध असल्यास टेदरिंग हार्डवेअर प्रवेग वापरा"</string>
+ <string name="mobile_data_always_on_summary" msgid="8149773901431697910">"वाय-फाय चालू असतानाही मोबाइल डेटा नेहमी सुरू ठेवा (नेटवर्क जलदरीत्या स्विच करण्यासाठी)."</string>
+ <string name="tethering_hardware_offload_summary" msgid="7726082075333346982">"उपलब्ध असल्यास टेदरिंग हार्डवेअर अॅक्सिलरेशन वापरा"</string>
<string name="adb_warning_title" msgid="6234463310896563253">"USB डीबग करण्यास अनुमती द्यायची?"</string>
- <string name="adb_warning_message" msgid="7316799925425402244">"USB डीबग करण्याचा हेतू फक्त विकास उद्देशांसाठी आहे. याचा वापर तुमचा कॉंप्युटर आणि तुमचे डिव्हाइस यांच्या दरम्यान डेटा कॉपी करण्यासाठी करा, सूचनेशिवाय तुमच्या डिव्हाइस वर अॅप्स इंस्टॉल करा आणि लॉग डेटा वाचा."</string>
- <string name="adb_keys_warning_message" msgid="5659849457135841625">"तुम्ही पूर्वी अॉथोराइझ केलेल्या सर्व संगणकांवरुन USB डीबग करण्यासाठी अॅक्सेस रीव्होक करायचा?"</string>
+ <string name="adb_warning_message" msgid="7316799925425402244">"USB डीबग करण्याचा हेतू फक्त विकास उद्देशांसाठी आहे. याचा वापर तुमचा कॉंप्युटर आणि तुमचे डिव्हाइस यांच्या दरम्यान डेटा कॉपी करण्यासाठी करा, सूचनेशिवाय तुमच्या डिव्हाइस वर अॅप्स इंस्टॉल करा आणि लॉग डेटा वाचा."</string>
+ <string name="adb_keys_warning_message" msgid="5659849457135841625">"तुम्ही पूर्वी अॉथोराइझ केलेल्या सर्व संगणकांवरुन USB डीबग करण्यासाठी अॅक्सेस रीव्होक करायचा?"</string>
<string name="dev_settings_warning_title" msgid="7244607768088540165">"विकास सेटिंग्जला अनुमती द्यायची?"</string>
<string name="dev_settings_warning_message" msgid="2298337781139097964">"या सेटिंग्जचा हेतू फक्त विकास वापरासाठी आहे. त्यामुळे तुमचे डिव्हाइस आणि त्यावरील अॅप्लिकेशन ब्रेक होऊ शकतात किंवा नेहमीपेक्षा वेगळे वर्तन करू शकतात."</string>
- <string name="verify_apps_over_usb_title" msgid="4177086489869041953">"USB वर अॅप्स पडताळून पाहा"</string>
+ <string name="verify_apps_over_usb_title" msgid="4177086489869041953">"USB वर अॅप्स पडताळून पाहा"</string>
<string name="verify_apps_over_usb_summary" msgid="9164096969924529200">"हानिकारक वर्तनासाठी ADB/ADT द्वारे इंस्टॉल अॅप्स तपासा."</string>
<string name="bluetooth_show_devices_without_names_summary" msgid="2351196058115755520">"नावांशिवाय ब्लूटूथ डीव्हाइस (फक्त MAC पत्ते) दाखवले जातील"</string>
<string name="bluetooth_disable_absolute_volume_summary" msgid="6031284410786545957">"रिमोट डिव्हाइसमध्ये सहन न होणारा मोठा आवाज किंवा नियंत्रणाचा अभाव यासारखी आवाजाची समस्या असल्यास ब्लूटूथ संपूर्ण आवाज वैशिष्ट्य बंद करते."</string>
@@ -290,7 +290,7 @@
<string name="media_category" msgid="4388305075496848353">"मीडिया"</string>
<string name="debug_monitoring_category" msgid="7640508148375798343">"परीक्षण"</string>
<string name="strict_mode" msgid="1938795874357830695">"कठोर मोड सुरू"</string>
- <string name="strict_mode_summary" msgid="142834318897332338">"मुख्य थ्रेडवर अॅप्स मोठी कार्ये करतात तेव्हा स्क्रीन फ्लॅश करा"</string>
+ <string name="strict_mode_summary" msgid="142834318897332338">"मुख्य थ्रेडवर अॅप्स मोठी कार्ये करतात तेव्हा स्क्रीन फ्लॅश करा"</string>
<string name="pointer_location" msgid="6084434787496938001">"पॉइंटर स्थान"</string>
<string name="pointer_location_summary" msgid="840819275172753713">"वर्तमान स्पर्श डेटा दर्शविणारे स्क्रीन ओव्हरले"</string>
<string name="show_touches" msgid="2642976305235070316">"टॅप दाखवा"</string>
@@ -322,7 +322,7 @@
<string name="transition_animation_scale_title" msgid="387527540523595875">"ट्रांझिशन अॅनिमेशन स्केल"</string>
<string name="animator_duration_scale_title" msgid="3406722410819934083">"अॅनिमेटर कालावधी स्केल"</string>
<string name="overlay_display_devices_title" msgid="5364176287998398539">"दुय्यम डिस्प्ले सिम्युलेट करा"</string>
- <string name="debug_applications_category" msgid="4206913653849771549">"अॅप्स"</string>
+ <string name="debug_applications_category" msgid="4206913653849771549">"अॅप्स"</string>
<string name="immediately_destroy_activities" msgid="1579659389568133959">"अॅक्टिव्हिटी ठेवू नका"</string>
<string name="immediately_destroy_activities_summary" msgid="3592221124808773368">"वापरकर्त्याने प्रत्येक अॅक्टिव्हिटी सोडताच ती नष्ट करा"</string>
<string name="app_process_limit_title" msgid="4280600650253107163">"पार्श्वभूमी प्रक्रिया मर्यादा"</string>
@@ -353,7 +353,7 @@
<item msgid="8280754435979370728">"डोळ्यांनी पाहिले तसे नैसर्गिक रंग"</item>
<item msgid="5363960654009010371">"डिजिटल सामग्रीसाठी ऑप्टिमाइझ केलेले रंग"</item>
</string-array>
- <string name="inactive_apps_title" msgid="9042996804461901648">"स्टँडबाय अॅप्स"</string>
+ <string name="inactive_apps_title" msgid="9042996804461901648">"स्टँडबाय अॅप्स"</string>
<string name="inactive_app_inactive_summary" msgid="5091363706699855725">"निष्क्रिय. टॉगल करण्यासाठी टॅप करा."</string>
<string name="inactive_app_active_summary" msgid="4174921824958516106">"सक्रिय. टॉगल करण्यासाठी टॅप करा."</string>
<string name="standby_bucket_summary" msgid="6567835350910684727">"अॅप स्टँडबाय स्थिती: <xliff:g id="BUCKET"> %s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml
index 648cc4a..5725c22 100644
--- a/packages/SettingsLib/res/values-or/strings.xml
+++ b/packages/SettingsLib/res/values-or/strings.xml
@@ -247,7 +247,7 @@
<string name="private_dns_mode_provider_failure" msgid="231837290365031223">"କନେକ୍ଟ କରିହେଲା ନାହିଁ"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"ୱେୟାରଲେସ୍ ଡିସ୍ପ୍ଲେ ସାର୍ଟିଫିକେସନ୍ ପାଇଁ ବିକଳ୍ପ ଦେଖାନ୍ତୁ"</string>
<string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"ୱାଇ-ଫାଇ ଲଗିଙ୍ଗ ସ୍ତର ବଢ଼ାନ୍ତୁ, ୱାଇ-ଫାଇ ପିକର୍ରେ ପ୍ରତି SSID RSSI ଦେଖାନ୍ତୁ"</string>
- <string name="wifi_scan_throttling_summary" msgid="4461922728822495763">"ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କମ୍ ଏବଂ ନେଟ୍ୱାର୍କ ପ୍ରଦର୍ଶନ ଉନ୍ନତ କରିଥାଏ"</string>
+ <string name="wifi_scan_throttling_summary" msgid="4461922728822495763">"ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କମ୍ ଏବଂ ନେଟ୍ୱାର୍କ କାର୍ଯ୍ୟକ୍ଷମତା ଉନ୍ନତ କରିଥାଏ"</string>
<string name="wifi_metered_label" msgid="4514924227256839725">"ମପାଯାଉଥିବା"</string>
<string name="wifi_unmetered_label" msgid="6124098729457992931">"ମପାଯାଉନଥିବା"</string>
<string name="select_logd_size_title" msgid="7433137108348553508">"ଲଗର୍ ବଫର୍ ସାଇଜ୍"</string>
diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml
index 7967c71..faccda7 100644
--- a/packages/SettingsLib/res/values-pa/strings.xml
+++ b/packages/SettingsLib/res/values-pa/strings.xml
@@ -403,7 +403,7 @@
<string name="power_remaining_duration_shutdown_imminent" product="device" msgid="603933521600231649">"ਡੀਵਾਈਸ ਛੇਤੀ ਹੀ ਬੰਦ ਹੋ ਸਕਦਾ ਹੈ (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string>
<string name="power_charging" msgid="1779532561355864267">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string>
<string name="power_remaining_charging_duration_only" msgid="1421102457410268886">"ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਰਜ ਹੋਣ ਲਈ <xliff:g id="TIME">%1$s</xliff:g> ਬਾਕੀ"</string>
- <string name="power_charging_duration" msgid="4676999980973411875">"ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਰਜ ਹੋਣ ਤੱਕ <xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g>"</string>
+ <string name="power_charging_duration" msgid="4676999980973411875">"<xliff:g id="LEVEL">%1$s</xliff:g> - ਪੂਰੀ ਤਰ੍ਹਾਂ ਚਾਰਜ ਹੋਣ ਵਿੱਚ <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="battery_info_status_unknown" msgid="196130600938058547">"ਅਗਿਆਤ"</string>
<string name="battery_info_status_charging" msgid="1705179948350365604">"ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ"</string>
<string name="battery_info_status_charging_lower" msgid="8689770213898117994">"ਚਾਰਜ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index 0401e7f..806be6e 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -220,7 +220,7 @@
<string name="debug_networking_category" msgid="7044075693643009662">"Сети"</string>
<string name="wifi_display_certification" msgid="8611569543791307533">"Серт. беспроводн. мониторов"</string>
<string name="wifi_verbose_logging" msgid="4203729756047242344">"Подробный журнал Wi‑Fi"</string>
- <string name="wifi_scan_throttling" msgid="160014287416479843">"Регулирование поиска сетей Wi‑Fi"</string>
+ <string name="wifi_scan_throttling" msgid="160014287416479843">"Ограничивать поиск сетей Wi‑Fi"</string>
<string name="mobile_data_always_on" msgid="8774857027458200434">"Не отключать мобильный Интернет"</string>
<string name="tethering_hardware_offload" msgid="7470077827090325814">"Аппаратное ускорение в режиме модема"</string>
<string name="bluetooth_show_devices_without_names" msgid="4708446092962060176">"Показывать Bluetooth-устройства без названий"</string>
@@ -247,7 +247,7 @@
<string name="private_dns_mode_provider_failure" msgid="231837290365031223">"Ошибка подключения"</string>
<string name="wifi_display_certification_summary" msgid="1155182309166746973">"Показывать параметры сертификации беспроводных мониторов"</string>
<string name="wifi_verbose_logging_summary" msgid="6615071616111731958">"Вести подробный журнал, показывать RSSI для каждого SSID при выборе сети"</string>
- <string name="wifi_scan_throttling_summary" msgid="4461922728822495763">"Уменьшает расход заряда батареи и улучшает работу сетей."</string>
+ <string name="wifi_scan_throttling_summary" msgid="4461922728822495763">"Уменьшает расход заряда батареи и улучшает работу сети"</string>
<string name="wifi_metered_label" msgid="4514924227256839725">"Сеть с тарификацией трафика"</string>
<string name="wifi_unmetered_label" msgid="6124098729457992931">"Сеть без тарификации трафика"</string>
<string name="select_logd_size_title" msgid="7433137108348553508">"Размер буфера журнала"</string>
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 320380f..869de0de 100644
--- a/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SharedPreferencesLogger.java
+++ b/packages/SettingsLib/src/com/android/settingslib/core/instrumentation/SharedPreferencesLogger.java
@@ -102,7 +102,8 @@
OnSharedPreferenceChangeListener listener) {
}
- private void logValue(String key, Object value) {
+ @VisibleForTesting
+ protected void logValue(String key, Object value) {
logValue(key, value, false /* forceLog */);
}
@@ -138,11 +139,18 @@
} else {
intVal = (int) floatValue;
}
+ } else if (value instanceof String) {
+ try {
+ intVal = Integer.parseInt((String) value);
+ } catch (NumberFormatException e) {
+ Log.w(LOG_TAG, "Tried to log unloggable object=" + value);
+ return;
+ }
} else {
- Log.w(LOG_TAG, "Tried to log unloggable object" + value);
+ Log.w(LOG_TAG, "Tried to log unloggable object=" + value);
return;
}
- // Pref key exists in set, log it's change in metrics.
+ // Pref key exists in set, log its change in metrics.
mMetricsFeature.action(SettingsEnums.PAGE_UNKNOWN,
SettingsEnums.ACTION_SETTINGS_PREFERENCE_CHANGE,
SettingsEnums.PAGE_UNKNOWN,
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/SharedPreferenceLoggerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/SharedPreferenceLoggerTest.java
index 8f51dec..89de81f 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/SharedPreferenceLoggerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/core/instrumentation/SharedPreferenceLoggerTest.java
@@ -162,4 +162,33 @@
"tag/key:com.android.settings",
0);
}
+
+ @Test
+ public void putString_shouldNotLogInitialPut() {
+ mSharedPrefLogger.logValue(TEST_KEY, "1");
+ mSharedPrefLogger.logValue(TEST_KEY, "2");
+ mSharedPrefLogger.logValue(TEST_KEY, "62");
+ mSharedPrefLogger.logValue(TEST_KEY, "0");
+
+ verify(mMetricsFeature, times(3)).action(eq(SettingsEnums.PAGE_UNKNOWN),
+ eq(SettingsEnums.ACTION_SETTINGS_PREFERENCE_CHANGE),
+ eq(SettingsEnums.PAGE_UNKNOWN),
+ eq(TEST_TAGGED_KEY),
+ anyInt());
+ }
+
+ @Test
+ public void putString_shouldNotLogAnyNonIntegers() {
+ mSharedPrefLogger.logValue(TEST_KEY, "string");
+ mSharedPrefLogger.logValue(TEST_KEY, "not an int");
+ mSharedPrefLogger.logValue(TEST_KEY, "1.234f");
+ mSharedPrefLogger.logValue(TEST_KEY, "4.2");
+ mSharedPrefLogger.logValue(TEST_KEY, "3.0");
+
+ verify(mMetricsFeature, times(0)).action(eq(SettingsEnums.PAGE_UNKNOWN),
+ eq(SettingsEnums.ACTION_SETTINGS_PREFERENCE_CHANGE),
+ eq(SettingsEnums.PAGE_UNKNOWN),
+ eq(TEST_TAGGED_KEY),
+ anyInt());
+ }
}
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index d07bc32..5cd29b7 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -3238,7 +3238,7 @@
}
private final class UpgradeController {
- private static final int SETTINGS_VERSION = 181;
+ private static final int SETTINGS_VERSION = 182;
private final int mUserId;
@@ -4421,6 +4421,37 @@
currentVersion = 181;
}
+ if (currentVersion == 181) {
+ // Version cd : by default, add STREAM_BLUETOOTH_SCO to list of streams that can
+ // be muted.
+ final SettingsState systemSettings = getSystemSettingsLocked(userId);
+ final Setting currentSetting = systemSettings.getSettingLocked(
+ Settings.System.MUTE_STREAMS_AFFECTED);
+ if (!currentSetting.isNull()) {
+ try {
+ int currentSettingIntegerValue = Integer.parseInt(
+ currentSetting.getValue());
+ if ((currentSettingIntegerValue
+ & (1 << AudioManager.STREAM_BLUETOOTH_SCO)) == 0) {
+ systemSettings.insertSettingLocked(
+ Settings.System.MUTE_STREAMS_AFFECTED,
+ Integer.toString(
+ currentSettingIntegerValue
+ | (1 << AudioManager.STREAM_BLUETOOTH_SCO)),
+ null, true, SettingsState.SYSTEM_PACKAGE_NAME);
+ }
+ } catch (NumberFormatException e) {
+ // remove the setting in case it is not a valid integer
+ Slog.w("Failed to parse integer value of MUTE_STREAMS_AFFECTED"
+ + "setting, removing setting", e);
+ systemSettings.deleteSettingLocked(
+ Settings.System.MUTE_STREAMS_AFFECTED);
+ }
+
+ }
+ currentVersion = 182;
+ }
+
// vXXX: Add new settings above this point.
if (currentVersion != newVersion) {
diff --git a/packages/SystemUI/legacy/recents/res/values-fr/strings.xml b/packages/SystemUI/legacy/recents/res/values-fr/strings.xml
index 183b6be..5b0d611 100644
--- a/packages/SystemUI/legacy/recents/res/values-fr/strings.xml
+++ b/packages/SystemUI/legacy/recents/res/values-fr/strings.xml
@@ -32,7 +32,7 @@
<string name="recents_search_bar_label" msgid="638132045925945941">"rechercher"</string>
<string name="recents_launch_error_message" msgid="9107963563503438012">"Impossible de lancer l\'application <xliff:g id="APP">%s</xliff:g>."</string>
<string name="recents_launch_disabled_message" msgid="826461671965217243">"L\'application <xliff:g id="APP">%s</xliff:g> est désactivée en mode sécurisé."</string>
- <string name="recents_stack_action_button_label" msgid="1974273390109881497">"Tout effacer"</string>
+ <string name="recents_stack_action_button_label" msgid="1974273390109881497">"Tout fermer"</string>
<string name="recents_drag_hint_message" msgid="610417221848280136">"Faire glisser ici pour utiliser l\'écran partagé"</string>
<string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="488987777874979435">"Séparation horizontale"</string>
<string name="recents_multistack_add_stack_dialog_split_vertical" msgid="2498375296906391117">"Séparation verticale"</string>
diff --git a/packages/SystemUI/res-keyguard/values-es/strings.xml b/packages/SystemUI/res-keyguard/values-es/strings.xml
index 26a9b87..870741e 100644
--- a/packages/SystemUI/res-keyguard/values-es/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-es/strings.xml
@@ -151,7 +151,7 @@
<item quantity="other">La tarjeta SIM está inhabilitada. Introduce el código PUK para continuar. Te quedan <xliff:g id="_NUMBER_1">%d</xliff:g> intentos para que la tarjeta SIM quede inservible de forma permanente. Ponte en contacto con tu operador para obtener más información.</item>
<item quantity="one">La tarjeta SIM está inhabilitada. Introduce el código PUK para continuar. Te queda <xliff:g id="_NUMBER_0">%d</xliff:g> intento para que la tarjeta SIM quede inservible de forma permanente. Ponte en contacto con tu operador para obtener más información.</item>
</plurals>
- <string name="clock_title_default" msgid="6645600990069154049">"Predeterminada"</string>
+ <string name="clock_title_default" msgid="6645600990069154049">"Predeterminado"</string>
<string name="clock_title_bubble" msgid="1286365278681892114">"Burbuja"</string>
- <string name="clock_title_analog" msgid="4047401488577315053">"Analógica"</string>
+ <string name="clock_title_analog" msgid="4047401488577315053">"Analógico"</string>
</resources>
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 8128b3d..8cc79a47 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Soek tans jou gesig"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Gesig is gestaaf"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Bevestig"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tik op Bevestig om te voltooi"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Raak die vingerafdruksensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Vingerafdrukikoon"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Soek tans vir jou …"</string>
@@ -453,7 +454,7 @@
<string name="battery_saver_notification_action_text" msgid="132118784269455533">"Skakel Batterybespaarder af"</string>
<string name="media_projection_dialog_text" msgid="8585357687598538511">"Terwyl dit opneem of uitsaai, kan <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> enige sensitiewe inligting vasvang wat op jou skerm gewys word of op jou toestel gespeel word, insluitend sensitiewe inligting soos oudio, wagwoorde, betaalinligting, foto\'s en boodskappe."</string>
<string name="media_projection_dialog_service_text" msgid="3075544489835858258">"Terwyl dit opneem of uitsaai, kan die diens wat hierdie taak uitvoer enige sensitiewe inligting vasvang wat op jou skerm gewys word of op jou toestel gespeel word, insluitend sensitiewe inligting soos oudio, wagwoorde, betaalinligting, foto\'s en boodskappe."</string>
- <string name="media_projection_dialog_title" msgid="8124184308671641248">"Maak sensitiewe inligting tydens uitsending/opname openbaar"</string>
+ <string name="media_projection_dialog_title" msgid="8124184308671641248">"Bekendmaking van sensitiewe inligting tydens uitsending/opname"</string>
<string name="media_projection_remember_text" msgid="3103510882172746752">"Moenie weer wys nie"</string>
<string name="clear_all_notifications_text" msgid="814192889771462828">"Vee alles uit"</string>
<string name="manage_notifications_text" msgid="2386728145475108753">"Bestuur"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index f1d9ce7..7d9cae4 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"መልክዎን በመፈለግ ላይ"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"መልክ ተረጋግጧል"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"ተረጋግጧል"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"ለማጠናቀቅ አረጋግጥን መታ ያድርጉ"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"የጣት አሻራ ዳሳሹን ይንኩ"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"የጣት አሻራ አዶ"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"እርስዎን በመፈለግ ላይ…"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index d77eb5d..3f4eefe 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"جارٍ البحث عن وجهك"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"تمّت مصادقة الوجه."</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"تمّ التأكيد."</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"يمكنك النقر على \"تأكيد\" لإكمال المهمة."</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"المس زر استشعار بصمة الإصبع"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"رمز بصمة الإصبع"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"جارٍ البحث عن وجهك…"</string>
@@ -541,7 +542,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"إعدادات الصوت"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"توسيع"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"تصغير"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"ترجمة تلقائية للوسائط"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"شرح تلقائي للوسائط"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"إغلاق نصيحة الشرح"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"تراكب الشرح"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"تفعيل"</string>
@@ -570,7 +571,7 @@
<string name="stream_notification" msgid="2563720670905665031">"الإشعار"</string>
<string name="stream_bluetooth_sco" msgid="2055645746402746292">"بلوتوث"</string>
<string name="stream_dtmf" msgid="2447177903892477915">"تردد ثنائي متعدد النغمات"</string>
- <string name="stream_accessibility" msgid="301136219144385106">"إمكانية الوصول"</string>
+ <string name="stream_accessibility" msgid="301136219144385106">"سهولة الاستخدام"</string>
<string name="ring_toggle_title" msgid="3281244519428819576">"المكالمات"</string>
<string name="volume_ringer_status_normal" msgid="4273142424125855384">"استصدار رنين"</string>
<string name="volume_ringer_status_vibrate" msgid="1825615171021346557">"اهتزاز"</string>
@@ -578,8 +579,8 @@
<string name="qs_status_phone_vibrate" msgid="204362991135761679">"الهاتف في وضع الاهتزاز"</string>
<string name="qs_status_phone_muted" msgid="5437668875879171548">"تم كتم الهاتف."</string>
<string name="volume_stream_content_description_unmute" msgid="4436631538779230857">"%1$s. انقر لإلغاء التجاهل."</string>
- <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. انقر للتعيين على الاهتزاز. قد يتم تجاهل خدمات إمكانية الوصول."</string>
- <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. انقر للتجاهل. قد يتم تجاهل خدمات إمكانية الوصول."</string>
+ <string name="volume_stream_content_description_vibrate" msgid="1187944970457807498">"%1$s. انقر للتعيين على الاهتزاز. قد يتم تجاهل خدمات \"سهولة الاستخدام\"."</string>
+ <string name="volume_stream_content_description_mute" msgid="3625049841390467354">"%1$s. انقر للتجاهل. قد يتم تجاهل خدمات \"سهولة الاستخدام\"."</string>
<string name="volume_stream_content_description_vibrate_a11y" msgid="6427727603978431301">"%1$s. انقر للتعيين على الاهتزاز."</string>
<string name="volume_stream_content_description_mute_a11y" msgid="8995013018414535494">"%1$s. انقر لكتم الصوت."</string>
<string name="volume_ringer_hint_mute" msgid="9199811307292269601">"كتم الصوت"</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index f8c2247..92d58a1 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"আপোনাৰ মুখমণ্ডল বিচাৰি থকা হৈছে"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"মুখমণ্ডলৰ বিশ্বাসযোগ্যতা প্ৰমাণীকৰণ কৰা হ’ল"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"নিশ্চিত কৰিলে"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"সম্পূৰ্ণ কৰিবলৈ নিশ্চিত কৰক-ত টিপক"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো স্পৰ্শ কৰক"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ফিংগাৰপ্ৰিণ্ট আইকন"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"আপোনাৰ মুখমণ্ডল বিচাৰি আছে…"</string>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index 78c3239..219da63 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Üzünüz axtarılır"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Üz doğrulandı"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Təsdiqləndi"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tamamlamaq üçün \"Təsdiq edin\" seçiminə toxunun"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Barmaq izi sensoruna klikləyin"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Barmaq izi ikonası"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Siz axtarılırsınız…"</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index b734740..25c0b22 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Traži se vaše lice"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Lice je potvrđeno"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Potvrđeno"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Dodirnite Potvrdi da biste završili"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dodirnite senzor za otisak prsta"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona otiska prsta"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Tražimo vas…"</string>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index bbf3dd2..748ea2f 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Ідзе пошук твару"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Твар распазнаны"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Пацверджана"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Націсніце \"Пацвердзіць\", каб завяршыць"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Дакраніцеся да сканера адбіткаў пальцаў"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Значок адбіткаў пальцаў"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ідзе пошук вашага твару…"</string>
@@ -537,7 +538,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Налады гуку"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Разгарнуць"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Згарнуць"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Аўтаматычныя цітры"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Аўтаматычныя субцітры"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Падказка \"Схавайце цітры\""</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Накладанне субцітраў"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"уключыць"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index a3cdd72..4cbc5a3 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Лицето ви се търси"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Лицето е удостоверено"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Потвърдено"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Докоснете „Потвърждаване“ за завършване"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Докоснете сензора за отпечатъци"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Икона за отпечатък"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Търсим ви…"</string>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index 89c89d5..ccb9d58 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"আপনার ফেস খোঁজা হচ্ছে"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ফেস যাচাই করা হয়েছে"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"কনফার্ম করা হয়েছে"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"আঙ্গুলের ছাপের সেন্সর স্পর্শ করুন"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"আঙ্গুলের ছাপের আইকন"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"আপনার জন্য খোঁজা হচ্ছে…"</string>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index 4bfa10e..e48c7ed 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Traženje vašeg lica"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Lice je provjereno"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Potvrđeno"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Dodirnite Potvrdi da završite"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dodirnite senzor za otisak prsta"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona za otisak prsta"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Tražimo vas…"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 537c2fa..7a317eb4 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"S\'està cercant la teva cara"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Cara autenticada"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmat"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca el sensor d\'empremtes digitals"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icona d\'empremta digital"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"S\'està cercant la teva cara…"</string>
@@ -529,7 +531,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Configuració del so"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Amplia"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Replega"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Subtítols automàtics"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Subtitula el contingut multimèdia automàticament"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Tanca el consell sobre subtítols"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Superposició de subtítols"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"activar"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index ee9c519..c34a259 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Vyhledávání obličeje"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Obličej byl ověřen"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Potvrzeno"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Ověření dokončíte klepnutím na Potvrdit"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dotkněte se snímače otisků prstů"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona otisku prstu"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Hledáme vás…"</string>
@@ -535,7 +536,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Nastavení zvuku"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Rozbalit"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Sbalit"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatické titulky k médiím"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatické přepisy médií"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Tip k titulkům"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Překryvná vrstva titulků"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"aktivovat"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 5d3dac8..6523437 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Søger efter dit ansigt"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Ansigtet er godkendt"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Bekræftet"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tryk på Bekræft for at udføre"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sæt fingeren på fingeraftrykslæseren"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon for fingeraftryk"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Forsøger at finde dig…"</string>
@@ -832,7 +833,7 @@
<string name="pip_phone_minimize" msgid="1079119422589131792">"Minimer"</string>
<string name="pip_phone_close" msgid="8416647892889710330">"Luk"</string>
<string name="pip_phone_settings" msgid="8080777499521528521">"Indstillinger"</string>
- <string name="pip_phone_dismiss_hint" msgid="6351678169095923899">"Træk ned for at afvise"</string>
+ <string name="pip_phone_dismiss_hint" msgid="6351678169095923899">"Træk ned for at fjerne"</string>
<string name="pip_menu_title" msgid="4707292089961887657">"Menu"</string>
<string name="pip_notification_title" msgid="3204024940158161322">"<xliff:g id="NAME">%s</xliff:g> vises som integreret billede"</string>
<string name="pip_notification_message" msgid="5619512781514343311">"Hvis du ikke ønsker, at <xliff:g id="NAME">%s</xliff:g> skal benytte denne funktion, kan du åbne indstillingerne og deaktivere den."</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 21f39e9..bf2fa0c 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Nach deinem Gesicht wird gesucht"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Gesicht authentifiziert"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Bestätigt"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Zum Abschließen auf \"Bestätigen\" tippen"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Berühre den Fingerabdrucksensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerabdruck-Symbol"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Wir suchen nach dir…"</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 335b60b..869f115 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Αναζήτηση για το πρόσωπό σας"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Έγινε έλεγχος ταυτότητας προσώπου"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Επιβεβαιώθηκε"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Πατήστε Επιβεβαίωση για ολοκλήρωση"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Αγγίξτε τον αισθητήρα δακτυλικών αποτυπωμάτων"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Εικονίδιο δακτυλικών αποτυπωμάτων"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Αναζήτηση για εσάς…"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index 4ee7235..203e8f2 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Looking for your face"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Face authenticated"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmed"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tap Confirm to complete"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Sound settings"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Expand"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Collapse"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically caption media"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically subtitle media"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Close captions tip"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Captions overlay"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"enable"</string>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index dfb39c6..f7a44d0 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Looking for your face"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Face authenticated"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmed"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tap Confirm to complete"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Sound settings"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Expand"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Collapse"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically caption media"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically subtitle media"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Close captions tip"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Captions overlay"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"enable"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index 4ee7235..203e8f2 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Looking for your face"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Face authenticated"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmed"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tap Confirm to complete"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Sound settings"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Expand"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Collapse"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically caption media"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically subtitle media"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Close captions tip"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Captions overlay"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"enable"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index 4ee7235..203e8f2 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Looking for your face"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Face authenticated"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmed"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tap Confirm to complete"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Sound settings"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Expand"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Collapse"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically caption media"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatically subtitle media"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Close captions tip"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Captions overlay"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"enable"</string>
diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml
index 738591f..61ad8b1 100644
--- a/packages/SystemUI/res/values-en-rXC/strings.xml
+++ b/packages/SystemUI/res/values-en-rXC/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Looking for your face"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Face authenticated"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmed"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tap Confirm to complete"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touch the fingerprint sensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingerprint icon"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Looking for you…"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 09b9973..5ac4821 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Buscando tu rostro"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Se autenticó el rostro"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmado"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Presiona Confirmar para completarla"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca el sensor de huellas digitales"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícono de huella digital"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Autenticando tu rostro…"</string>
@@ -215,7 +216,7 @@
<string name="accessibility_notification_dismissed" msgid="854211387186306927">"Notificación ignorada"</string>
<string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"Pantalla de notificaciones"</string>
<string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"Configuración rápida"</string>
- <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"Pantalla bloqueada"</string>
+ <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"Pantalla de bloqueo"</string>
<string name="accessibility_desc_settings" msgid="3417884241751434521">"Configuración"</string>
<string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"Recientes"</string>
<string name="accessibility_desc_work_lock" msgid="4288774420752813383">"Pantalla bloqueada del perfil de trabajo"</string>
@@ -827,7 +828,7 @@
<string name="accessibility_quick_settings_open_settings" msgid="7806613775728380737">"Abrir configuración de <xliff:g id="ID_1">%s</xliff:g>"</string>
<string name="accessibility_quick_settings_edit" msgid="7839992848995240393">"Editar orden de configuración"</string>
<string name="accessibility_quick_settings_page" msgid="5032979051755200721">"Página <xliff:g id="ID_1">%1$d</xliff:g> de <xliff:g id="ID_2">%2$d</xliff:g>"</string>
- <string name="tuner_lock_screen" msgid="5755818559638850294">"Pantalla bloqueada"</string>
+ <string name="tuner_lock_screen" msgid="5755818559638850294">"Pantalla de bloqueo"</string>
<string name="pip_phone_expand" msgid="5889780005575693909">"Expandir"</string>
<string name="pip_phone_minimize" msgid="1079119422589131792">"Minimizar"</string>
<string name="pip_phone_close" msgid="8416647892889710330">"Cerrar"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 87a0f39..c0ca476 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Buscando tu cara"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Cara autenticada"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmada"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Toca Confirmar para completar la acción"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca el sensor de huellas digitales"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icono de huella digital"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Buscando tu cara…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Ajustes de sonido"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Mostrar"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Ocultar"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Subtítulos autom. multimedia"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Transcripción instantánea"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Cerrar las recomendaciones de subtítulos"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Superposición de subtítulos"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"habilitar"</string>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index 29bef2b..a61f818 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Teie näo vaatamine"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Nägu on autenditud"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Kinnitatud"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Lõpuleviimiseks puudutage nuppu Kinnita"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Puudutage sõrmejäljeandurit"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Sõrmejälje ikoon"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Otsitakse teid …"</string>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index 299ce93..a390ddc 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Aurpegia bilatzen"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Autentifikatu da aurpegia"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Berretsita"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sakatu hatz-marken sentsorea"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Hatz-markaren ikonoa"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Zure bila…"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 462a532..ab37a26 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"درحال جستجوی چهره"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"چهره احراز هویت شد"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"تأیید شد"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"برای تکمیل، روی تأیید ضربه بزنید"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"حسگر اثر انگشت را لمس کنید"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"نماد اثر انگشت"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"درحال جستجوی شما…"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 7591a35..c584a8d 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Kasvojasi katsotaan"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Kasvot tunnistettu"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Vahvistettu"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Valitse lopuksi Vahvista"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Kosketa sormenjälkitunnistinta"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Sormenjälkikuvake"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Etsitään kasvoja…"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 5285eda..1ec352e 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"L\'appareil recherche votre visage…"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Visage authentifié"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmé"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Touchez Confirmer pour terminer"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Touchez le capteur d\'empreintes digitales"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icône d\'empreinte digitale"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Recherche de votre visage…"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 10050118..e3ff92b 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -24,7 +24,7 @@
<string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Aucune notification"</string>
<string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"En cours"</string>
<string name="status_bar_latest_events_title" msgid="6594767438577593172">"Notifications"</string>
- <string name="battery_low_title" msgid="9187898087363540349">"Il est possible que vous soyez bientôt à court de batterie"</string>
+ <string name="battery_low_title" msgid="9187898087363540349">"La batterie est bientôt épuisée"</string>
<string name="battery_low_percent_format" msgid="2900940511201380775">"<xliff:g id="PERCENTAGE">%s</xliff:g> restants"</string>
<string name="battery_low_percent_format_hybrid" msgid="6838677459286775617">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – Temps restant en fonction de votre utilisation : environ <xliff:g id="TIME">%2$s</xliff:g>"</string>
<string name="battery_low_percent_format_hybrid_short" msgid="9025795469949145586">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> – Temps restant : environ <xliff:g id="TIME">%2$s</xliff:g>"</string>
@@ -72,7 +72,7 @@
<string name="screenshot_saving_ticker" msgid="7403652894056693515">"Enregistrement capture écran…"</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"Enregistrement de la capture d\'écran…"</string>
<string name="screenshot_saved_title" msgid="5637073968117370753">"Capture d\'écran enregistrée"</string>
- <string name="screenshot_saved_text" msgid="7574667448002050363">"Appuyez pour afficher votre capture d\'écran"</string>
+ <string name="screenshot_saved_text" msgid="7574667448002050363">"Appuyez pour voir la capture d\'écran"</string>
<string name="screenshot_failed_title" msgid="7612509838919089748">"Impossible d\'enregistrer la capture d\'écran"</string>
<string name="screenshot_failed_to_save_unknown_text" msgid="3637758096565605541">"Essayez de nouveau de faire une capture d\'écran"</string>
<string name="screenshot_failed_to_save_text" msgid="3041612585107107310">"Impossible d\'enregistrer la capture d\'écran, car l\'espace de stockage est limité"</string>
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Recherche de votre visage…"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Visage authentifié"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmé"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Appuyez sur \"Confirmer\" pour terminer"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Appuyez sur le lecteur d\'empreinte digitale"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icône d\'empreinte digitale"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Recherche de votre visage…"</string>
@@ -412,7 +413,7 @@
<string name="interruption_level_none_twoline" msgid="3957581548190765889">"Aucune\ninterruption"</string>
<string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Priorité\nuniquement"</string>
<string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Alarmes\nuniquement"</string>
- <string name="keyguard_indication_charging_time_wireless" msgid="6959284458466962592">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge sans fil (à 100 % dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
+ <string name="keyguard_indication_charging_time_wireless" msgid="6959284458466962592">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge sans fil (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time" msgid="2056340799276374421">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge... (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_fast" msgid="7767562163577492332">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge rapide… (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
<string name="keyguard_indication_charging_time_slowly" msgid="3769655133567307069">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • Recharge lente… (à 100 %% dans <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index 7fe26f33..b960fa9 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Buscando a túa cara"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Autenticouse a cara"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmada"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Toca Confirmar para completar o proceso"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toca o sensor de impresión dixital"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icona de impresión dixital"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Buscándote…"</string>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index b400039..d0a7b87 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"તમારો ચહેરો શોધી રહ્યાં છીએ"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ચહેરાનું પ્રમાણીકરણ થયું"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"પુષ્ટિ કરી"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"પરીક્ષણ પૂર્ણ કરવા કન્ફર્મ કરોને ટૅપ કરો"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ફિંગરપ્રિન્ટના સેન્સરને સ્પર્શ કરો"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ફિંગરપ્રિન્ટનું આઇકન"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"તમારા માટે શોધી રહ્યાં છે..."</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 00ea179..47d2dab 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"आपके चेहरे की पुष्टि की जा रही है"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"चेहरे की पुष्टि हो गई"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"पुष्टि हो गई"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"\'पुष्टि करें\' पर टैप करके पूरा करें"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"फ़िंगरप्रिंट सेंसर को छुएं"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"फ़िंगरप्रिंट आइकॉन"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"आपको पहचान रहा है…"</string>
@@ -633,7 +634,7 @@
<string name="notification_channel_minimized" msgid="1664411570378910931">"इन सूचनाओं को छोटा कर दिया जाएगा"</string>
<string name="notification_channel_silenced" msgid="2877199534497961942">"ये सूचनाएं बिना आवाज़ के दिखाई जाएंगी"</string>
<string name="notification_channel_unsilenced" msgid="4790904571552394137">"ये सूचनाएं आपको अलर्ट करेंगी"</string>
- <string name="inline_blocking_helper" msgid="3055064577771478591">"अाप अक्सर इन सूचनाओं को खारिज कर देते हैं. \nआगे भी इन्हें देखना जारी रखना चाहते हैं?"</string>
+ <string name="inline_blocking_helper" msgid="3055064577771478591">"आप अक्सर इन सूचनाओं को खारिज कर देते हैं. \nआगे भी इन्हें देखना जारी रखना चाहते हैं?"</string>
<string name="inline_done_button" msgid="492513001558716452">"हो गया"</string>
<string name="inline_ok_button" msgid="975600017662930615">"लागू करें"</string>
<string name="inline_keep_showing" msgid="8945102997083836858">"ये सूचनाएं दिखाना जारी रखें?"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 32b629a..d3f2e51 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Traženje lica"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Lice je autentificirano"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Potvrđeno"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Dodirnite Potvrdi za dovršetak"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dodirnite senzor otiska prsta"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona otiska prsta"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Tražimo vas…"</string>
@@ -532,7 +533,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Postavke zvuka"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Proširivanje"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Sažimanje"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatski opisi medija"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Automatski titlovi za medije"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Zatvorite opis"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Sloj titlova"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"omogući"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 08fa9fc..3cd3c29 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Arc keresése"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Arc hitelesítve"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Megerősítve"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Koppintson a Megerősítés lehetőségre"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Érintse meg az ujjlenyomat-érzékelőt"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ujjlenyomat ikonja"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Keresem az Ön arcát…"</string>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index dcacc99..984db5a 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -124,7 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Դեմքի նույնականացում"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Դեմքը ճանաչվեց"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Հաստատվեց"</string>
- <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Հպեք մատնահետքերի սկաներին"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Ավարտելու համար հպեք «Հաստատել»"</string>
+ <string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Հպեք մատնահետքի սկաներին"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Մատնահետքի պատկերակ"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Դեմքի ճանաչում…"</string>
<string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"Դեմքի պատկերակ"</string>
@@ -206,7 +207,7 @@
<string name="accessibility_gps_enabled" msgid="3511469499240123019">"GPS-ը միացված է:"</string>
<string name="accessibility_gps_acquiring" msgid="8959333351058967158">"GPS-ի ստացում:"</string>
<string name="accessibility_tty_enabled" msgid="4613200365379426561">"Հեռամուտքագրիչը միացված է:"</string>
- <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Զանգի թրթռոց:"</string>
+ <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Թրթռազանգ:"</string>
<string name="accessibility_ringer_silent" msgid="9061243307939135383">"Զանգակը լռեցված է:"</string>
<!-- no translation found for accessibility_casting (6887382141726543668) -->
<skip />
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 73e2f50..69272b3 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Mencari wajah Anda"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Wajah diautentikasi"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Dikonfirmasi"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tap Konfirmasi untuk menyelesaikan"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sentuh sensor sidik jari"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon sidik jari"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Mencari wajah Anda…"</string>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index 614968c..514f8717 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Leitar að andliti þínu"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Andlit staðfest"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Staðfest"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Ýttu á „Staðfesta“ til að ljúka"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Snertu fingrafaralesarann"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Fingrafaratákn"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Leitar að þér ..."</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 6e5eedb..cbf48bc 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -117,13 +117,14 @@
<string name="voice_assist_label" msgid="3956854378310019854">"apri Voice Assist"</string>
<string name="camera_label" msgid="7261107956054836961">"apri fotocamera"</string>
<string name="cancel" msgid="6442560571259935130">"Annulla"</string>
- <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Confermo"</string>
+ <string name="biometric_dialog_confirm" msgid="6468457350041712674">"Conferma"</string>
<string name="biometric_dialog_try_again" msgid="1900185172633183201">"Riprova"</string>
<string name="biometric_dialog_empty_space_description" msgid="7997936968009073717">"Spazio vuoto, tocca per annullare l\'autenticazione"</string>
<string name="biometric_dialog_face_icon_description_idle" msgid="4497694707475970790">"Riprova"</string>
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Ricerca del tuo volto"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Volto autenticato"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confermato"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tocca Conferma per completare"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Tocca il sensore di impronte digitali"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icona dell\'impronta digitale"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"In attesa del volto…"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 926e90c..b7e03c2 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"המערכת מחפשת את הפנים שלך"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"זיהוי הפנים בוצע"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"מאושר"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"יש להקיש על \'אישור\' לסיום"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"יש לגעת בחיישן טביעות האצבע"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"סמל טביעת אצבע"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"מחפש אותך…"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 6b00391..151f913 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"顔を認証中です"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"顔を認証しました"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"確認しました"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"完了するには [確認] をタップしてください"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"指紋認証センサーをタップしてください"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指紋アイコン"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"顔を認証しています…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"音声の設定"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"展開"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"折りたたむ"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"自動字幕起こしメディア"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"メディアの自動字幕起こし"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"字幕のヒントを閉じる"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"字幕のオーバーレイ"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"有効にする"</string>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index c1aaa8d..ec4613e 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"მიმდინარეობს თქვენი სახის ძებნა"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"სახის ამოცნობილია"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"დადასტურებული"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"დასასრულებლად შეეხეთ „დადასტურებას“"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"შეეხეთ თითის ანაბეჭდის სენსორს"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"თითის ანაბეჭდის ხატულა"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"მიმდინარეობს თქვენი ძიება…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"ხმის პარამეტრები"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"გავრცობა"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"ჩაკეცვა"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"ავტომატური სუბტიტრების მედია"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"მედიის ავტომ. სუბტიტრირება"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"მინიშნება სუბტიტრებისთვის"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"სუბტიტრების გადაფარვა"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"ჩართვა"</string>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index adb6d30..4073727 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Құрылғы бетіңізді талдап жатыр."</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Бет танылды."</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Расталды"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Саусақ ізін оқу сканерін түртіңіз"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Саусақ ізі белгішесі"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Бет ізделуде…"</string>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index 7463bfe..38c9b41 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"កំពុងផ្ទៀងផ្ទាត់មុខរបស់អ្នក"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"បានផ្ទៀងផ្ទាត់មុខ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"បានបញ្ជាក់"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"ចុច \"បញ្ជាក់\" ដើម្បីបញ្ចប់"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ប៉ះឧបករណ៍ចាប់ស្នាមម្រាមដៃ"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"រូបតំណាងស្នាមម្រាមដៃ"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"កំពុងស្វែងរកអ្នក…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"ការកំណត់សំឡេង"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"ពង្រីក"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"បង្រួម"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"ដាក់ចំណងជើងមេឌៀដោយស្វ័យប្រវត្តិ"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"ដាក់អក្សររត់លើមេឌៀដោយស្វ័យប្រវត្តិ"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"គន្លឹះអក្សររត់"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"ការដាក់ត្រួតគ្នាលើអក្សររត់"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"បើក"</string>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index a5356a4..cca87c5 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"ನಿಮ್ಮ ಮುಖದ ದೃಢೀಕರಣಕ್ಕಾಗಿ ನಿರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ಮುಖವನ್ನು ದೃಢೀಕರಿಸಲಾಗಿದೆ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"ದೃಢೀಕರಿಸಲಾಗಿದೆ"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಐಕಾನ್"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ನಿಮಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index c138ad4..eeb6b76 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"얼굴을 찾는 중"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"얼굴이 인증되었습니다."</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"확인함"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"완료하려면 확인을 탭하세요."</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"지문 센서를 터치하세요."</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"지문 아이콘"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"찾는 중..."</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"소리 설정"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"펼치기"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"접기"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"자동 자막 미디어"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"미디어 자막 자동 생성"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"자막 팁 닫기"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"캡션 오버레이"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"사용"</string>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index edade6b..a86345b 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Жүзүңүз изделүүдө"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Жүздүн аныктыгы текшерилди"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Ырасталды"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Бүтүрүү үчүн \"Ырастоо\" баскычын басыңыз"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Манжа изинин сенсорун басыңыз"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Манжа изинин сүрөтчөсү"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Жүзүңүз изделүүдө…"</string>
@@ -453,7 +454,7 @@
<string name="battery_saver_notification_action_text" msgid="132118784269455533">"Батареяны үнөмдөгүч режимин өчүрүү"</string>
<string name="media_projection_dialog_text" msgid="8585357687598538511">"Жаздырып же тышкы экранга чыгаруу учурунда, <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> колдонмосу ойноткон аудиоңуз, сырсөздөрүңүз, төлөө маалыматыңыз, сүрөттөрүңүз жана билдирүүлөрүңүз сыяктуу экранда көрсөтүлгөн купуя маалыматты жаздырып калышы мүмкүн."</string>
<string name="media_projection_dialog_service_text" msgid="3075544489835858258">"Жаздырып же тышкы экранга чыгаруу учурунда, бул функцияны аткарып жаткан колдонмо ойноткон аудиоңуз, сырсөздөрүңүз, төлөө маалыматыңыз, сүрөттөрүңүз жана билдирүүлөрүңүз сыяктуу экранда көрсөтүлгөн купуя маалыматты жаздырып калышы мүмкүн."</string>
- <string name="media_projection_dialog_title" msgid="8124184308671641248">"Тышкы экранга чыгарууда/жаздырууда купуя маалыматты ачыкка чыгаруу"</string>
+ <string name="media_projection_dialog_title" msgid="8124184308671641248">"Тышкы экранга чыгарууда/жаздырууда купуя маалыматты ачыктоо"</string>
<string name="media_projection_remember_text" msgid="3103510882172746752">"Экинчи көрсөтүлбөсүн"</string>
<string name="clear_all_notifications_text" msgid="814192889771462828">"Бардыгын тазалап салуу"</string>
<string name="manage_notifications_text" msgid="2386728145475108753">"Башкаруу"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Добуштун жөндөөлөрү"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Жайып көрсөтүү"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Жыйнап коюу"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Медиага автоматтык коштомо жазуу"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Автоматтык коштомо жазуулар"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Коштомо жазуулар кеңеши"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Коштомо жазуулардын үстүнө коюу"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"иштетүү"</string>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 3748971..6bf77cb 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"ກຳລັງເບິ່ງໃບໜ້າຂອງທ່ານ"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ພິສູດຢືນຢັນໃບໜ້າແລ້ວ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"ຢືນຢັນແລ້ວ"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ແຕະໃສ່ເຊັນເຊີລາຍນິ້ວມື"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ໄອຄອນລາຍນິ້ວມື"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ກຳລັງຊອກຫາທ່ານ…"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 6e096f4..9e3594a 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Ieškoma veido"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Veidas autentifikuotas"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Patvirtinta"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Paliesk. „Patvirtinti“, kad užbaigtumėte"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Palieskite piršto antspaudo jutiklį"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Piršto antspaudo piktograma"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ieškoma jūsų…"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 07bab11..ce465bd 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Tiek meklēta jūsu seja"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Seja autentificēta"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Apstiprināts"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Lai pabeigtu, pieskarieties Apstiprināt"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Pieskarieties pirksta nospieduma sensoram"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Pirksta nospieduma ikona"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Notiek jūsu sejas meklēšana…"</string>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index d227623..5a94b63 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Го бараме вашето лице"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Лицето е проверено"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Потврдено"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Допрете „Потврди“ за да се заврши"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Допрете го сензорот за отпечатоци"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Икона за отпечатоци"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ве бараме вас…"</string>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index 3ca5979..66e333b 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"നിങ്ങളുടെ മുഖത്തിന് വേണ്ടി തിരയുന്നു"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"മുഖം പരിശോധിച്ചുറപ്പിച്ചു"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"സ്ഥിരീകരിച്ചു"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"വിരലടയാള സെൻസർ സ്പർശിക്കുക"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"വിരലടയാള ഐക്കൺ"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"നിങ്ങൾക്കായി തിരയുന്നു…"</string>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index d5f7864..69aa3c8 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Таны царайг хайж байна"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Царайг баталгаажууллаа"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Баталгаажсан"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Дуусгахын тулд баталгаажуулахыг товших"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Хурууны хээ мэдрэгчид хүрэх"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Хурууны хээний дүрс тэмдэг"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Таныг хайж байна…"</string>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index 59beadc..4876673 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -46,11 +46,11 @@
<string name="bluetooth_tethered" msgid="7094101612161133267">"ब्लूटूथ टेदर केले"</string>
<string name="status_bar_input_method_settings_configure_input_methods" msgid="3504292471512317827">"इनपुट पद्धती सेट करा"</string>
<string name="status_bar_use_physical_keyboard" msgid="7551903084416057810">"वास्तविक कीबोर्ड"</string>
- <string name="usb_device_permission_prompt" msgid="1825685909587559679">"<xliff:g id="APPLICATION">%1$s</xliff:g> ला <xliff:g id="USB_DEVICE">%2$s</xliff:g> अॅक्सेस करण्याची अनुमती द्यायची का?"</string>
- <string name="usb_accessory_permission_prompt" msgid="2465531696941369047">"<xliff:g id="APPLICATION">%1$s</xliff:g> ला <xliff:g id="USB_ACCESSORY">%2$s</xliff:g> अॅक्सेस करण्याची अनुमती द्यायची का?"</string>
+ <string name="usb_device_permission_prompt" msgid="1825685909587559679">"<xliff:g id="APPLICATION">%1$s</xliff:g> ला <xliff:g id="USB_DEVICE">%2$s</xliff:g> अॅक्सेस करण्याची अनुमती द्यायची का?"</string>
+ <string name="usb_accessory_permission_prompt" msgid="2465531696941369047">"<xliff:g id="APPLICATION">%1$s</xliff:g> ला <xliff:g id="USB_ACCESSORY">%2$s</xliff:g> अॅक्सेस करण्याची अनुमती द्यायची का?"</string>
<string name="usb_device_confirm_prompt" msgid="7440562274256843905">"<xliff:g id="USB_DEVICE">%2$s</xliff:g> हाताळण्यासाठी <xliff:g id="APPLICATION">%1$s</xliff:g> उघडायचे का?"</string>
<string name="usb_accessory_confirm_prompt" msgid="4333670517539993561">"<xliff:g id="USB_ACCESSORY">%2$s</xliff:g> हाताळण्यासाठी <xliff:g id="APPLICATION">%1$s</xliff:g> उघडायचे का?"</string>
- <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"इंस्टॉल केलेली अॅप्स या USB उपसाधनासह कार्य करत नाहीत. <xliff:g id="URL">%1$s</xliff:g> येथे या उपसाधनाविषयी अधिक जाणून घ्या"</string>
+ <string name="usb_accessory_uri_prompt" msgid="513450621413733343">"इंस्टॉल केलेली अॅप्स या USB उपसाधनासह कार्य करत नाहीत. <xliff:g id="URL">%1$s</xliff:g> येथे या उपसाधनाविषयी अधिक जाणून घ्या"</string>
<string name="title_usb_accessory" msgid="4966265263465181372">"USB उपसाधन"</string>
<string name="label_view" msgid="6304565553218192990">"पहा"</string>
<string name="always_use_device" msgid="4015357883336738417">"<xliff:g id="USB_DEVICE">%2$s</xliff:g> कनेक्ट केलेली असताना नेहमी <xliff:g id="APPLICATION">%1$s</xliff:g> उघडा"</string>
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"तुमचा चेहरा शोधत आहे"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"चेहरा ऑथेंटिकेशन केलेला आहे"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"निश्चित केले"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"फिंगरप्रिंट सेन्सरला स्पर्श करा"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"फिंगरप्रिंट आयकन"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"तुमच्यासाठी शोधत आहे…"</string>
@@ -381,7 +383,7 @@
<string name="quick_settings_nfc_off" msgid="6883274004315134333">"NFC अक्षम केले आहे"</string>
<string name="quick_settings_nfc_on" msgid="6680317193676884311">"NFC सक्षम केले आहे"</string>
<string name="recents_swipe_up_onboarding" msgid="3824607135920170001">"अॅप्स स्विच करण्यासाठी वर स्वाइप करा"</string>
- <string name="recents_quick_scrub_onboarding" msgid="2778062804333285789">"अॅप्स वर झटपट स्विच करण्यासाठी उजवीकडे ड्रॅग करा"</string>
+ <string name="recents_quick_scrub_onboarding" msgid="2778062804333285789">"अॅप्स वर झटपट स्विच करण्यासाठी उजवीकडे ड्रॅग करा"</string>
<string name="quick_step_accessibility_toggle_overview" msgid="7171470775439860480">"अवलोकन टॉगल करा."</string>
<string name="expanded_header_battery_charged" msgid="5945855970267657951">"चार्ज झाली"</string>
<string name="expanded_header_battery_charging" msgid="205623198487189724">"चार्ज होत आहे"</string>
@@ -439,14 +441,14 @@
<string name="user_logout_notification_text" msgid="3350262809611876284">"वर्तमान वापरकर्ता लॉगआउट करा"</string>
<string name="user_logout_notification_action" msgid="1195428991423425062">"वापरकर्त्यास लॉगआउट करा"</string>
<string name="user_add_user_title" msgid="4553596395824132638">"नवीन वापरकर्ता जोडायचा?"</string>
- <string name="user_add_user_message_short" msgid="2161624834066214559">"तुम्ही एक नवीन वापरकर्ता जोडता तेव्हा, त्या व्यक्तीने त्यांचे स्थान सेट करणे आवश्यक असते.\n\nकोणताही वापरकर्ता इतर सर्व वापरकर्त्यांसाठी अॅप्स अपडेट करू शकतो."</string>
+ <string name="user_add_user_message_short" msgid="2161624834066214559">"तुम्ही एक नवीन वापरकर्ता जोडता तेव्हा, त्या व्यक्तीने त्यांचे स्थान सेट करणे आवश्यक असते.\n\nकोणताही वापरकर्ता इतर सर्व वापरकर्त्यांसाठी अॅप्स अपडेट करू शकतो."</string>
<string name="user_limit_reached_title" msgid="7374910700117359177">"वापरकर्ता मर्यादा गाठली"</string>
<plurals name="user_limit_reached_message" formatted="false" msgid="1855040563671964242">
<item quantity="other">तुम्ही <xliff:g id="COUNT">%d</xliff:g> वापरकर्त्यांपर्यंत जोडू शकता.</item>
<item quantity="one">फक्त एक वापरकर्ता तयार केला जाऊ शकतो.</item>
</plurals>
<string name="user_remove_user_title" msgid="4681256956076895559">"वापरकर्त्यास काढायचे?"</string>
- <string name="user_remove_user_message" msgid="1453218013959498039">"या वापरकर्त्याचे सर्व अॅप्स आणि डेटा काढून टाकला जाईल."</string>
+ <string name="user_remove_user_message" msgid="1453218013959498039">"या वापरकर्त्याचे सर्व अॅप्स आणि डेटा काढून टाकला जाईल."</string>
<string name="user_remove_user_remove" msgid="7479275741742178297">"काढा"</string>
<string name="battery_saver_notification_title" msgid="8614079794522291840">"बॅटरी सेव्हर चालू आहे"</string>
<string name="battery_saver_notification_text" msgid="820318788126672692">"कामगिरी आणि पार्श्वभूमीवरील डेटा कमी करते"</string>
@@ -489,8 +491,8 @@
<string name="disable_vpn" msgid="4435534311510272506">"VPN अक्षम करा"</string>
<string name="disconnect_vpn" msgid="1324915059568548655">"VPN डिस्कनेक्ट करा"</string>
<string name="monitoring_button_view_policies" msgid="100913612638514424">"धोरणे पहा"</string>
- <string name="monitoring_description_named_management" msgid="5281789135578986303">"तुमचे डिव्हाइस <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> व्यवस्थापित करते.\n\nतुमचा प्रशासक सेटिंग्ज, कॉर्पोरेट अॅक्सेस, अॅप्स, तुमच्या डिव्हाइस शी संबंधित डेटा आणि तुमच्या डिव्हाइस च्या ठिकाणाची माहिती मॉनिटर करू शकते आणि ती व्यवस्थापित करू शकतो.\n\nआणखी माहितीसाठी, तुमच्या प्रशासकाशी संपर्क साधा."</string>
- <string name="monitoring_description_management" msgid="4573721970278370790">"तुमचे डिव्हाइस तुमची संस्था व्यवस्थापित करते.\n\nतुमचा प्रशासक सेटिंग्ज, कॉर्पोरेट अॅक्सेस, अॅप्स, तुमच्या डिव्हाइस शी संबंधित डेटा आणि तुमच्या डिव्हाइस च्या ठिकाणाची माहिती मॉनिटर करू शकतो आणि ती व्यवस्थापित करू शकतो.\n\nआणखी माहितीसाठी, तुमच्या प्रशासकाशी संपर्क साधा."</string>
+ <string name="monitoring_description_named_management" msgid="5281789135578986303">"तुमचे डिव्हाइस <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> व्यवस्थापित करते.\n\nतुमचा प्रशासक सेटिंग्ज, कॉर्पोरेट अॅक्सेस, अॅप्स, तुमच्या डिव्हाइस शी संबंधित डेटा आणि तुमच्या डिव्हाइस च्या ठिकाणाची माहिती मॉनिटर करू शकते आणि ती व्यवस्थापित करू शकतो.\n\nआणखी माहितीसाठी, तुमच्या प्रशासकाशी संपर्क साधा."</string>
+ <string name="monitoring_description_management" msgid="4573721970278370790">"तुमचे डिव्हाइस तुमची संस्था व्यवस्थापित करते.\n\nतुमचा प्रशासक सेटिंग्ज, कॉर्पोरेट अॅक्सेस, अॅप्स, तुमच्या डिव्हाइस शी संबंधित डेटा आणि तुमच्या डिव्हाइस च्या ठिकाणाची माहिती मॉनिटर करू शकतो आणि ती व्यवस्थापित करू शकतो.\n\nआणखी माहितीसाठी, तुमच्या प्रशासकाशी संपर्क साधा."</string>
<string name="monitoring_description_management_ca_certificate" msgid="5202023784131001751">"आपल्या संस्थेने या डिव्हाइसवर प्रमाणपत्र अधिकार इंस्टॉल केला आहे. आपल्या सुरक्षित नेटवर्क रहदारीचे परीक्षण केले जाऊ शकते किंवा ती सुधारली जाऊ शकते."</string>
<string name="monitoring_description_managed_profile_ca_certificate" msgid="4683248196789897964">"आपल्या संस्थेने आपल्या कार्य प्रोफाइलवर प्रमाणपत्र अधिकार इंस्टॉल केला आहे. आपल्या सुरक्षित नेटवर्क रहदारीचे परीक्षण केले जाऊ शकते किंवा ती सुधारली जाऊ शकते."</string>
<string name="monitoring_description_ca_certificate" msgid="7886985418413598352">"या डिव्हाइसवर प्रमाणपत्र अधिकार इंस्टॉल केला आहे. आपल्या सुरक्षित नेटवर्क रहदारीचे परीक्षण केले जाऊ शकते किंवा ती सुधारली जाऊ शकते."</string>
@@ -501,7 +503,7 @@
<string name="monitoring_description_personal_profile_named_vpn" msgid="3133980926929069283">"तुमचे वैयक्तिक प्रोफाइल <xliff:g id="VPN_APP">%1$s</xliff:g> शी कनेक्ट केले आहे, जे ईमेल, अॅप्स आणि वेबसाइटसह आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करू शकते."</string>
<string name="monitoring_description_do_header_generic" msgid="96588491028288691">"तुमचे डिव्हाइस <xliff:g id="DEVICE_OWNER_APP">%1$s</xliff:g> ने व्यवस्थापित केले आहे."</string>
<string name="monitoring_description_do_header_with_name" msgid="5511133708978206460">"तुमचे डिव्हाइस व्यवस्थापित करण्यासाठी <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> <xliff:g id="DEVICE_OWNER_APP">%2$s</xliff:g> वापरते."</string>
- <string name="monitoring_description_do_body" msgid="3639594537660975895">"तुमचा प्रशासक सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स, आपल्या डिव्हाइशी संबंधित डेटा आणि डिव्हाइसच्या स्थान माहितीचे निरीक्षण आणि व्यवस्थापन करू शकतो."</string>
+ <string name="monitoring_description_do_body" msgid="3639594537660975895">"तुमचा प्रशासक सेटिंग्ज, कॉर्पोरेट प्रवेश, अॅप्स, आपल्या डिव्हाइशी संबंधित डेटा आणि डिव्हाइसच्या स्थान माहितीचे निरीक्षण आणि व्यवस्थापन करू शकतो."</string>
<string name="monitoring_description_do_learn_more_separator" msgid="3785251953067436862">" "</string>
<string name="monitoring_description_do_learn_more" msgid="1849514470437907421">"अधिक जाणून घ्या"</string>
<string name="monitoring_description_do_body_vpn" msgid="8255218762488901796">"तुम्ही <xliff:g id="VPN_APP">%1$s</xliff:g> शी कनेक्ट केले आहे, जो ईमेल, अॅप्स आणि वेबसाइटसह आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो."</string>
@@ -511,7 +513,7 @@
<string name="monitoring_description_ca_cert_settings" msgid="5489969458872997092">"विश्वासू क्रेडेंशियल उघडा"</string>
<string name="monitoring_description_network_logging" msgid="7223505523384076027">"आपल्या प्रशासकाने नेटवर्क लॉगिंग चालू केले आहे, जे आपल्या डिव्हाइसवरील रहदारीचे निरीक्षण करते.\n\nअधिक माहितीसाठी आपल्या प्रशासकाशी संपर्क साधा."</string>
<string name="monitoring_description_vpn" msgid="4445150119515393526">"तुम्ही VPN कनेक्शन सेट करण्यासाठी अॅपला परवानगी दिली.\n\nहा अॅप ईमेल, अॅप्स आणि वेबसाइटसह, तुमच्या डिव्हाइस आणि नेटवर्क अॅक्टिव्हिटीचे परीक्षण करू शकतो."</string>
- <string name="monitoring_description_vpn_profile_owned" msgid="2958019119161161530">"तुमचे कार्य प्रोफाइल <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारे व्यवस्थापित केले जाते.\n\nतुमचा प्रशासक ईमेल, अॅप्स आणि वेबसाइटसह आपल्या नेटवर्क अॅक्टिव्हिटीचे निरीक्षण करण्यास सक्षम आहे.\n\nअधिक माहितीसाठी आपल्या प्रशासकाशी संपर्क साधा.\n\nतुम्ही VPN शी देखील कनेक्ट आहात, जे आपल्या नेटवर्क अॅक्टिव्हिटीचे निरीक्षण करू शकते."</string>
+ <string name="monitoring_description_vpn_profile_owned" msgid="2958019119161161530">"तुमचे कार्य प्रोफाइल <xliff:g id="ORGANIZATION">%1$s</xliff:g> द्वारे व्यवस्थापित केले जाते.\n\nतुमचा प्रशासक ईमेल, अॅप्स आणि वेबसाइटसह आपल्या नेटवर्क अॅक्टिव्हिटीचे निरीक्षण करण्यास सक्षम आहे.\n\nअधिक माहितीसाठी आपल्या प्रशासकाशी संपर्क साधा.\n\nतुम्ही VPN शी देखील कनेक्ट आहात, जे आपल्या नेटवर्क अॅक्टिव्हिटीचे निरीक्षण करू शकते."</string>
<string name="legacy_vpn_name" msgid="6604123105765737830">"VPN"</string>
<string name="monitoring_description_app" msgid="1828472472674709532">"तुम्ही <xliff:g id="APPLICATION">%1$s</xliff:g> शी कनेक्ट केले आहे, जे ईमेल, अॅप्स आणि वेबसाइटसह आपल्या नेटवर्क क्रियाकलापाचे परीक्षण करू शकते."</string>
<string name="monitoring_description_app_personal" msgid="484599052118316268">"तुम्ही <xliff:g id="APPLICATION">%1$s</xliff:g> शी कनेक्ट केले आहे, जो ईमेल, अॅप्स आणि वेबसाइटसह आपल्या वैयक्तिक नेटवर्क क्रियाकलापाचे परीक्षण करू शकतो."</string>
@@ -855,7 +857,7 @@
<string name="lockscreen_unlock_right" msgid="1529992940510318775">"उजवा शॉर्टकट देखील अनलॉक करतो"</string>
<string name="lockscreen_none" msgid="4783896034844841821">"काहीही नाही"</string>
<string name="tuner_launch_app" msgid="1527264114781925348">"<xliff:g id="APP">%1$s</xliff:g> लाँच करा"</string>
- <string name="tuner_other_apps" msgid="4726596850501162493">"इतर अॅप्स"</string>
+ <string name="tuner_other_apps" msgid="4726596850501162493">"इतर अॅप्स"</string>
<string name="tuner_circle" msgid="2340998864056901350">"मंडळ"</string>
<string name="tuner_plus" msgid="6792960658533229675">"अधिक आयकन"</string>
<string name="tuner_minus" msgid="4806116839519226809">"उणे आयकन"</string>
@@ -890,7 +892,7 @@
<string name="running_foreground_services_title" msgid="381024150898615683">"अॅप्स बॅकग्राउंडमध्ये चालू आहेत"</string>
<string name="running_foreground_services_msg" msgid="6326247670075574355">"बॅटरी आणि डेटा वापराच्या तपशीलांसाठी टॅप करा"</string>
<string name="mobile_data_disable_title" msgid="1068272097382942231">"मोबाइल डेटा बंद करायचा?"</string>
- <string name="mobile_data_disable_message" msgid="4756541658791493506">"तुम्हाला <xliff:g id="CARRIER">%s</xliff:g> मधून डेटा किंवा इंटरनेटचा अॅक्सेस नसेल. इंटरनेट फक्त वाय-फाय मार्फत उपलब्ध असेल."</string>
+ <string name="mobile_data_disable_message" msgid="4756541658791493506">"तुम्हाला <xliff:g id="CARRIER">%s</xliff:g> मधून डेटा किंवा इंटरनेटचा अॅक्सेस नसेल. इंटरनेट फक्त वाय-फाय मार्फत उपलब्ध असेल."</string>
<string name="mobile_data_disable_message_default_carrier" msgid="6078110473451946831">"तुमचा वाहक"</string>
<string name="touch_filtered_warning" msgid="8671693809204767551">"अॅप परवानगी विनंती अस्पष्ट करत असल्याने, सेटिंग्ज तुमचा प्रतिसाद पडताळू शकत नाहीत."</string>
<string name="slice_permission_title" msgid="7465009437851044444">"<xliff:g id="APP_0">%1$s</xliff:g> ला <xliff:g id="APP_2">%2$s</xliff:g> चे तुकडे दाखवण्याची अनुमती द्यायची का?"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 9ba4464..cf126ba 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Mencari wajah anda"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Wajah disahkan"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Disahkan"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Ketik Sahkan untuk menyelesaikan"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Sentuh penderia cap jari"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon cap jari"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Mencari anda…"</string>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index 457e6f9..1e7e252 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"သင့်မျက်နှာကို ရှာနေသည်"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"မျက်နှာ အထောက်အထားစိစစ်ပြီးပြီ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"အတည်ပြုပြီးပြီ"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"အပြီးသတ်ရန်အတွက် \'အတည်ပြုရန်း ကို တို့ပါ"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"လက်ဗွေအာရုံခံကိရိယာကို တို့ပါ"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"လက်ဗွေ သင်္ကေတ"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"သင့်ကို ရှာဖွေနေသည်…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"အသံဆက်တင်များ"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"တိုးချဲ့ရန်"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"ခေါက်သိမ်းရန်..."</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"အလိုလို မီဒီယာ စာတန်းထိုးရန်"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"အလိုအလျောက် စာတန်းထိုးရန်"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"စာတန်းအကြံပြုချက်ကို ပိတ်ပါ"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"စာတန်းများ ထပ်ပိုးရန်"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"ဖွင့်ရန်"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index a9945f9..b6d269b5 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Ser etter ansiktet ditt"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Ansiktet er autentisert"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Bekreftet"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Trykk på Bekreft for å fullføre"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Trykk på fingeravtrykkssensoren"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon for fingeravtrykk"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Ser etter deg …"</string>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 97ef4b6..5cc78b4 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"तपाईंको अनुहार खोज्दै"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"अनुहार प्रमाणीकरण गरियो"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"पुष्टि भयो"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"पूरा गर्नका लागि पुष्टि गर्नुहोस् नामक विकल्पमा ट्याप गर्नुहोस्"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"फिंगरप्रिन्ट सेन्सरमा छुनुहोस्"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"फिंगरप्रिन्ट जनाउने आइकन"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"तपाईंलाई खोज्दै…"</string>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index c7c3779..0034a48 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Er wordt naar je gezicht gezocht"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Gezicht geverifieerd"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Bevestigd"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tik op Bevestigen om te voltooien"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Raak de vingerafdruksensor aan"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Vingerafdrukpictogram"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Jouw gezicht zoeken…"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 3895137..edd98b4 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"ଆପଣଙ୍କର ମୁହଁକୁ ପ୍ରମାଣ କରୁଛି"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ମୁହଁ ପ୍ରାମାଣିକତା ହୋଇଛି"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"ସୁନିଶ୍ଚିତ କରାଯାଇଛି"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ଟିପଚିହ୍ନ ସେନସର୍କୁ ଛୁଅଁନ୍ତୁ"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ଆଙ୍ଗୁଠି ଚିହ୍ନ ଆଇକନ୍"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ଆପଣଙ୍କୁ ଚିହ୍ନଟ କରୁଛି…"</string>
@@ -452,7 +454,7 @@
<string name="battery_saver_notification_text" msgid="820318788126672692">"କାର୍ଯ୍ୟ ସମ୍ପାଦନ ଓ ବ୍ୟାକ୍ଗ୍ରାଉଣ୍ଡ ଡାଟା କମ୍ କରନ୍ତୁ"</string>
<string name="battery_saver_notification_action_text" msgid="132118784269455533">"ବ୍ୟାଟେରୀ ସେଭର୍ ଅଫ୍ କରନ୍ତୁ"</string>
<string name="media_projection_dialog_text" msgid="8585357687598538511">"ରେକର୍ଡିଂ କିମ୍ବା କାଷ୍ଟିଂ ସମୟରେ <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ଯେ କୌଣସି ସମ୍ବେଦନଶୀଳ ସୂଚନା କ୍ୟାପଚର୍ କରିପାରିବ ଯାହା ଅଡ଼ିଓ, ପାସ୍ୱାର୍ଡ, ପେମେଣ୍ଟ ସୂଚନା, ଫଟୋ ଏବଂ ମେସେଜ୍ଗୁଡ଼ିକ ପରି ସମ୍ବେଦନଶୀଳ ସୂଚନା ଆପଣଙ୍କର ଡିଭାଇସ୍ରେ ଚାଲିବ ବା ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ରେ ଦେଖାଯିବ।"</string>
- <string name="media_projection_dialog_service_text" msgid="3075544489835858258">"ରେକର୍ଡିଂ କିମ୍ବା କାଷ୍ଟିଂ ସମୟରେ ସେବା ପ୍ରଦାନ କରୁଥିବା ଏହି ଫଙ୍କ୍ସନ୍ ଯେ କୌଣସି ସମ୍ବେଦନଶୀଳ ସୂଚନା କ୍ୟାପଚର୍ କରିପାରିବ ଯାହା ଅଡ଼ିଓ, ପାସ୍ୱାର୍ଡ, ପେମେଣ୍ଟ ସୂଚନା, ଫଟୋ ଏବଂ ମେସେଜ୍ଗୁଡ଼ିକ ପରି ସମ୍ବେଦନଶୀଳ ସୂଚନା ଆପଣଙ୍କର ଡିଭାଇସ୍ରେ ଚାଲିବ ବା ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ରେ ଦେଖାଯିବ।"</string>
+ <string name="media_projection_dialog_service_text" msgid="3075544489835858258">"ରେକର୍ଡିଂ କିମ୍ବା କାଷ୍ଟିଂ ସମୟରେ ଏହି ପ୍ରକାର୍ଯ୍ୟ ପ୍ରଦାନ କରୁଥିବା ସେବା ଅଡ଼ିଓ, ପାସ୍ୱାର୍ଡ, ପେମେଣ୍ଟ ସୂଚନା, ଫଟୋ ଏବଂ ମେସେଜ୍ଗୁଡ଼ିକ ପରି ସମ୍ବେଦନଶୀଳ ସୂଚନା କ୍ୟାପଚର୍ କରିପାରିବ ଯାହା ଆପଣଙ୍କର ଡିଭାଇସ୍ରେ ଚାଲିବ ବା ଆପଣଙ୍କ ସ୍କ୍ରିନ୍ରେ ଦେଖାଯିବ।"</string>
<string name="media_projection_dialog_title" msgid="8124184308671641248">"କାଷ୍ଟିଂ/ରେକର୍ଡିଂ ସମୟରେ ସମ୍ବେଦନଶୀଳ ସୂଚନା ଦେଖାନ୍ତୁ"</string>
<string name="media_projection_remember_text" msgid="3103510882172746752">"ପୁଣି ଦେଖାନ୍ତୁ ନାହିଁ"</string>
<string name="clear_all_notifications_text" msgid="814192889771462828">"ସମସ୍ତ ଖାଲି କରନ୍ତୁ"</string>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 30f830e..c0cb663 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"ਤੁਹਾਡਾ ਚਿਹਰਾ ਲੱਭਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ਚਿਹਰਾ ਪ੍ਰਮਾਣੀਕਿਰਤ ਹੋਇਆ"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"ਪੁਸ਼ਟੀ ਕੀਤੀ ਗਈ"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"ਪੂਰਾ ਕਰਨ ਲਈ ਪੁਸ਼ਟੀ ਕਰੋ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਨੂੰ ਸਪੱਰਸ਼ ਕਰੋ"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਦਾ ਪ੍ਰਤੀਕ"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ਤੁਹਾਡੀ ਪਛਾਣ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 8152b6a..a2f209b 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Szukam Twojej twarzy"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Twarz rozpoznana"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Potwierdzono"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Aby zakończyć, kliknij Potwierdź"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dotknij czytnika linii papilarnych"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona odcisku palca"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Szukam Cię…"</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index ae1fb3f2..c49fc5f 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Procurando seu rosto"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Rosto autenticado"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmada"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Toque em \"Confirmar\" para concluir"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toque no sensor de impressão digital"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícone de impressão digital"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Procurando você…"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 0d1179a..b900ea8 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"A procurar o seu rosto…"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Rosto autenticado"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmado"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Toque em Confirmar para concluir."</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toque no sensor de impressões digitais."</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícone de impressão digital"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"À sua procura…"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index ae1fb3f2..c49fc5f 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Procurando seu rosto"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Rosto autenticado"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmada"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Toque em \"Confirmar\" para concluir"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Toque no sensor de impressão digital"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ícone de impressão digital"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Procurando você…"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 06b1ddb..38ab209 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Se caută chipul"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Chip autentificat"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Confirmat"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Atingeți Confirmați pentru a finaliza"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Atingeți senzorul de amprente"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Pictograma amprentă"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Vă căutăm…"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index f121394..3070d689 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Распознавание лица"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Лицо распознано"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Подтверждено"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Нажмите \"Подтвердить\""</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Прикоснитесь к сканеру отпечатков пальцев."</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Значок отпечатка пальца"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Поиск лица…"</string>
diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index c046635..cb09b5a 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"ඔබේ මුහුණ සොයනු ලැබේ"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"මුහුණ සත්යාපන කළා"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"තහවුරු කළා"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"සම්පූර්ණ කිරීමට තහවුරු කරන්න තට්ටු කර."</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"ඇඟිලි සලකුණු සංවේදකය ස්පර්ශ කරන්න"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ඇඟිලි සලකුණු නිරූපකය"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"ඔබව සොයමින්…"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index a92a3ad..f91468f 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Hľadá sa vaša tvár"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Tvár bola overená"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Potvrdené"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Overenie dokončíte klepnutím na Potvrdiť"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dotknite sa senzora odtlačkov prstov"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona odtlačku prsta"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Hľadáme vás…"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 0b9ceed5..c259282 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Iskanje obraza"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Pristnost obraza je potrjena"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Potrjeno"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Za dokončanje se dotaknite »Potrdite«"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Dotaknite se tipala prstnih odtisov"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona prstnih odtisov"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Preverjanje vašega obraza …"</string>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index 1de50d4..42b58aa 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Po kërkon për fytyrën tënde"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Fytyra u vërtetua"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Konfirmuar"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Trokit \"Konfirmo\" për ta përfunduar"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Prek sensorin e gjurmës së gishtit"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikona e gjurmës së gishtit"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Po të kërkojmë…"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 274e678..9759381 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Тражи се ваше лице"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Лице је потврђено"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Потврђено"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Додирните Потврди да бисте завршили"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Додирните сензор за отисак прста"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Икона отиска прста"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Тражимо вас…"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 84180de..11aa7a9 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Söker efter ditt ansikte"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Ansiktet har autentiserats"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Bekräftat"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Slutför genom att trycka på Bekräfta"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Tryck på fingeravtryckssensorn"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Ikon för fingeravtryck"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Håller utkik efter dig …"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 6831382..f9a32ef 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Inatafuta uso wako"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Uso umethibitishwa"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Imethibitishwa"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Gusa Thibitisha ili ukamilishe"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Gusa kitambua alama ya kidole"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Aikoni ya alama ya kidole"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Inakutafuta…"</string>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index d82ec5d..9182208 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"உங்கள் முகத்தை அங்கீகரிக்கிறது"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"முகம் அங்கீகரிக்கப்பட்டது"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"உறுதிப்படுத்தப்பட்டது"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"முடிக்க \'உறுதிப்படுத்து\' என்பதை தட்டவும்"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"கைரேகை சென்சாரைத் தொடவும்"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"கைரேகை ஐகான்"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"உங்கள் முகத்தைத் தேடுகிறது…"</string>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index 834c923..4c76b03 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -124,6 +124,8 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"మీ ముఖాన్ని క్యాప్చర్ చేస్తోంది"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ముఖం ప్రామాణీకరించబడింది"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"నిర్ధారించబడింది"</string>
+ <!-- no translation found for biometric_dialog_tap_confirm (4540715260292022404) -->
+ <skip />
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"వేలిముద్ర సెన్సార్ను తాకండి"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"వేలిముద్ర చిహ్నం"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"మీ కోసం చూస్తోంది…"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 0f47518..9090721 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"กำลังมองหาใบหน้าของคุณ"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"ตรวจสอบสิทธิ์ใบหน้าแล้ว"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"ยืนยันแล้ว"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"แตะยืนยันเพื่อดำเนินการให้เสร็จสมบูรณ์"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"แตะเซ็นเซอร์ลายนิ้วมือ"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"ไอคอนลายนิ้วมือ"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"กำลังหาใบหน้าคุณ…"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index 96a612d..19dfa68 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Hinahanap ang iyong mukha"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Na-authenticate ang mukha"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Nakumpirma"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"I-tap ang Kumpirmahin para kumpletuhin"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Pindutin ang fingerprint sensor"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Icon ng fingerprint"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Hinahanap ka…"</string>
@@ -453,7 +454,7 @@
<string name="battery_saver_notification_action_text" msgid="132118784269455533">"I-off ang Pangtipid sa Baterya"</string>
<string name="media_projection_dialog_text" msgid="8585357687598538511">"Habang nagre-record o nagka-cast, puwedeng kunin ng <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ang anumang sensitibong impormasyong ipinapakita sa iyong screen o pine-play mula sa device mo, kasama ang sensitibong impormasyon gaya ng audio, mga password, impormasyon sa pagbabayad, mga larawan, at mga mensahe."</string>
<string name="media_projection_dialog_service_text" msgid="3075544489835858258">"Habang nagre-record o nagka-cast, puwedeng kunin ng serbisyong nagbibigay ng function na ito ang anumang sensitibong impormasyong ipinapakita sa iyong screen o pine-play mula sa device mo, kasama ang sensitibong impormasyon gaya ng audio, mga password, impormasyon sa pagbabayad, mga larawan, at mga mensahe."</string>
- <string name="media_projection_dialog_title" msgid="8124184308671641248">"Maglalantad ng sensitibong impormasyon habang nagka-cast/nagre-record"</string>
+ <string name="media_projection_dialog_title" msgid="8124184308671641248">"Mag-e-expose ng sensitibong impormasyon habang nagka-cast/nagre-record"</string>
<string name="media_projection_remember_text" msgid="3103510882172746752">"Huwag ipakitang muli"</string>
<string name="clear_all_notifications_text" msgid="814192889771462828">"I-clear lahat"</string>
<string name="manage_notifications_text" msgid="2386728145475108753">"Pamahalaan"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index f1abe70..df3bdbbc 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Yüzünüz aranıyor"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Yüz kimliği doğrulandı"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Onaylandı"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tamamlamak için Onayla\'ya dokunun"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Parmak izi sensörüne dokunun"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Parmak izi simgesi"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Yüzünüz tanınmaya çalışılıyor…"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 821f900..2ed5300 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Триває розпізнавання обличчя"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Обличчя автентифіковано"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Підтверджено"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Щоб завершити, натисніть \"Підтвердити\""</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Торкніться сканера відбитків пальців"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Значок відбитка пальця"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Пошук обличчя…"</string>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index 242bfc4..7910182 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"آپ کا چہرہ تلاش کیا جا رہا ہے"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"چہرے کی تصدیق ہو گئی"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"تصدیق شدہ"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"مکمل کرنے کیلئے \'تصدیق کریں\' تھپتھپائیں"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"فنگر پرنٹ سینسر پر ٹچ کریں"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"فنگر پرنٹ آئیکن"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"آپ کے لیے تلاش کیا جا رہا ہے…"</string>
@@ -453,7 +454,7 @@
<string name="battery_saver_notification_action_text" msgid="132118784269455533">"بیٹری سیور آف کریں"</string>
<string name="media_projection_dialog_text" msgid="8585357687598538511">"ریکارڈ یا کاسٹ کرنے کے دوران، <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> کسی بھی ایسی حساس معلومات کو کیپچر کر سکتا ہے جو آپ کی اسکرین پر ڈسپلے ہوتی ہے یا آپ کے آلہ سے چلائی جاتی ہے، بشمول حساس معلومات جیسے کہ آڈیو، پاسورڈز، ادائیگی کی معلومات، تصاویر اور پیغامات۔"</string>
<string name="media_projection_dialog_service_text" msgid="3075544489835858258">"ریکارڈ یا کاسٹ کرنے کے دوران، اس فنکشن کی خدمت کا فراہم کنندہ کسی بھی ایسی حساس معلومات کو کیپچر کر سکتا ہے جو آپ کی اسکرین پر ڈسپلے ہوتی ہے یا آپ کے آلہ سے چلائی جاتی ہے، بشمول حساس معلومات جیسے کہ آڈیو، پاسورڈز، ادائیگی کی معلومات، تصاویر اور پیغامات۔"</string>
- <string name="media_projection_dialog_title" msgid="8124184308671641248">"کاسٹ/ریکارڈ کرنے کے دوران حساس معلومات کا افشاء کیا جا رہا ہے"</string>
+ <string name="media_projection_dialog_title" msgid="8124184308671641248">"کاسٹ/ریکارڈ کرنے کے دوران حساس معلومات کا افشاء"</string>
<string name="media_projection_remember_text" msgid="3103510882172746752">"دوبارہ نہ دکھائیں"</string>
<string name="clear_all_notifications_text" msgid="814192889771462828">"سبھی کو صاف کریں"</string>
<string name="manage_notifications_text" msgid="2386728145475108753">"نظم کریں"</string>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index fd2756f..97e7c8d 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Yuz tekshirilmoqda"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Yuzingiz aniqlandi"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Tasdiqlangan"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Tasdiqlash uchun tegining"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Barmoq izi skaneriga tegining"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Barmoq izi belgisi"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Yuzingiz tekshirilmoqda…"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 7a45717..5e1b9b4 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Đang tìm khuôn mặt của bạn"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Đã xác thực khuôn mặt"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Ðã xác nhận"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Nhấn vào Xác nhận để hoàn tất"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Chạm vào cảm biến vân tay"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Biểu tượng vân tay"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Đang tìm kiếm bạn…"</string>
@@ -529,7 +530,7 @@
<string name="accessibility_volume_settings" msgid="4915364006817819212">"Cài đặt âm thanh"</string>
<string name="accessibility_volume_expand" msgid="5946812790999244205">"Mở rộng"</string>
<string name="accessibility_volume_collapse" msgid="3609549593031810875">"Thu gọn"</string>
- <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Tự động chú thích nội dung"</string>
+ <string name="volume_odi_captions_tip" msgid="1193653197906918269">"Tự động tạo phụ đề cho nội dung nghe nhìn"</string>
<string name="accessibility_volume_close_odi_captions_tip" msgid="1163987066404128967">"Đóng mẹo về chú thích"</string>
<string name="volume_odi_captions_content_description" msgid="2950736796270214785">"Lớp phủ phụ đề"</string>
<string name="volume_odi_captions_hint_enable" msgid="49750248924730302">"bật"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 5dafb2e..fa4bbe9 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -124,9 +124,10 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"正在查找您的面孔"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"面孔身份验证成功"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"已确认"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"点按“确认”即可完成"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"请触摸指纹传感器"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指纹图标"</string>
- <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"正在查找中…"</string>
+ <string name="face_dialog_looking_for_face" msgid="7049276266074494689">"正在查找您的面孔…"</string>
<string name="accessibility_face_dialog_face_icon" msgid="2658119009870383490">"面孔图标"</string>
<string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"兼容性缩放按钮。"</string>
<string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"将小屏幕的图片放大在较大屏幕上显示。"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index b22d42b..47d8976 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"正在尋找您的臉孔"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"臉孔已經驗證"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"已確認"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"輕按 [確定] 以完成"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"請輕觸指紋感應器"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指紋圖示"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"正在搜尋您的臉孔…"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index 2a5659d..aa30348 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"正在尋找你的臉孔"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"臉孔驗證成功"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"確認完畢"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"輕觸 [確認] 完成驗證設定"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"請輕觸指紋感應器"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"指紋圖示"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"正在尋找你的臉孔…"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 92c0e88..e1a36ab 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -124,6 +124,7 @@
<string name="biometric_dialog_face_icon_description_authenticating" msgid="4512727754496228488">"Ifuna ubuso bakho"</string>
<string name="biometric_dialog_face_icon_description_authenticated" msgid="595380451325425259">"Ubuso bufakazelwe ubuqiniso"</string>
<string name="biometric_dialog_face_icon_description_confirmed" msgid="2003141400387093967">"Kuqinisekisiwe"</string>
+ <string name="biometric_dialog_tap_confirm" msgid="4540715260292022404">"Thepha okuthi Qinisekisa ukuze uqedele"</string>
<string name="fingerprint_dialog_touch_sensor" msgid="8511557690663181761">"Thinta inzwa yesigxivizo somunwe"</string>
<string name="accessibility_fingerprint_dialog_fingerprint_icon" msgid="3125122495414253226">"Isithonjana sezigxivizo zeminwe"</string>
<string name="face_dialog_looking_for_face" msgid="7049276266074494689">"Kufunwa wena…"</string>
diff --git a/packages/SystemUI/res/values/ids.xml b/packages/SystemUI/res/values/ids.xml
index e97055f0..2e2666ec 100644
--- a/packages/SystemUI/res/values/ids.xml
+++ b/packages/SystemUI/res/values/ids.xml
@@ -94,6 +94,10 @@
<item type="id" name="top_roundess_animator_start_tag"/>
<item type="id" name="top_roundess_animator_end_tag"/>
+ <item type="id" name="keyguard_hun_animator_tag"/>
+ <item type="id" name="keyguard_hun_animator_start_tag"/>
+ <item type="id" name="keyguard_hun_animator_end_tag"/>
+
<!-- Accessibility actions for the notification menu -->
<item type="id" name="action_snooze_undo"/>
<item type="id" name="action_snooze_shorter"/>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 712ce6e..f60613a 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -887,10 +887,10 @@
<string name="quick_settings_night_secondary_label_on_at">On at <xliff:g id="time" example="10 pm">%s</xliff:g></string>
<!-- QuickSettings: Secondary text for when the Night Light or some other tile will be on until some user-selected time. [CHAR LIMIT=20] -->
<string name="quick_settings_secondary_label_until">Until <xliff:g id="time" example="7 am">%s</xliff:g></string>
- <!-- QuickSettings: Label for the toggle to activate Dark theme (A.K.A Dark Mode). [CHAR LIMIT=20] -->
- <string name="quick_settings_ui_mode_night_label">Dark Theme</string>
- <!-- QuickSettings: Label for the Dark theme tile when enabled by battery saver. [CHAR LIMIT=40] -->
- <string name="quick_settings_ui_mode_night_label_battery_saver">Dark Theme\nBattery saver</string>
+ <!-- QuickSettings: Label for the toggle to activate dark theme (A.K.A Dark Mode). [CHAR LIMIT=20] -->
+ <string name="quick_settings_ui_mode_night_label">Dark theme</string>
+ <!-- QuickSettings: Label for the dark theme tile when enabled by battery saver. [CHAR LIMIT=40] -->
+ <string name="quick_settings_ui_mode_night_label_battery_saver">Dark theme\nBattery saver</string>
<!-- QuickSettings: NFC tile [CHAR LIMIT=NONE] -->
<string name="quick_settings_nfc_label">NFC</string>
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
index 3da969c..cc7ac8d 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
@@ -9,6 +9,7 @@
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.os.Build;
+import android.transition.Fade;
import android.transition.Transition;
import android.transition.TransitionListenerAdapter;
import android.transition.TransitionManager;
@@ -116,6 +117,11 @@
private float mDarkAmount;
/**
+ * Boolean value indicating if notifications are visible on lock screen.
+ */
+ private boolean mHasVisibleNotifications;
+
+ /**
* If the Keyguard Slice has a header (big center-aligned text.)
*/
private boolean mShowingHeader;
@@ -222,8 +228,13 @@
mClockPlugin = null;
}
if (plugin == null) {
- mClockView.setVisibility(View.VISIBLE);
- mClockViewBold.setVisibility(View.INVISIBLE);
+ if (mShowingHeader) {
+ mClockView.setVisibility(View.GONE);
+ mClockViewBold.setVisibility(View.VISIBLE);
+ } else {
+ mClockView.setVisibility(View.VISIBLE);
+ mClockViewBold.setVisibility(View.INVISIBLE);
+ }
mKeyguardStatusArea.setVisibility(View.VISIBLE);
return;
}
@@ -320,6 +331,24 @@
if (mClockPlugin != null) {
mClockPlugin.setDarkAmount(darkAmount);
}
+ updateBigClockAlpha();
+ }
+
+ /**
+ * Set whether or not the lock screen is showing notifications.
+ */
+ void setHasVisibleNotifications(boolean hasVisibleNotifications) {
+ if (hasVisibleNotifications == mHasVisibleNotifications) {
+ return;
+ }
+ mHasVisibleNotifications = hasVisibleNotifications;
+ if (mDarkAmount == 0f && mBigClockContainer != null) {
+ // Starting a fade transition since the visibility of the big clock will change.
+ TransitionManager.beginDelayedTransition(mBigClockContainer,
+ new Fade().setDuration(KeyguardSliceView.DEFAULT_ANIM_DURATION / 2).addTarget(
+ mBigClockContainer));
+ }
+ updateBigClockAlpha();
}
public Paint getPaint() {
@@ -396,15 +425,30 @@
}
}
+ private void updateBigClockAlpha() {
+ if (mBigClockContainer != null) {
+ final float alpha = mHasVisibleNotifications ? mDarkAmount : 1f;
+ mBigClockContainer.setAlpha(alpha);
+ if (alpha == 0f) {
+ mBigClockContainer.setVisibility(INVISIBLE);
+ } else if (mBigClockContainer.getVisibility() == INVISIBLE) {
+ mBigClockContainer.setVisibility(VISIBLE);
+ }
+ }
+ }
+
/**
* Sets if the keyguard slice is showing a center-aligned header. We need a smaller clock in
* these cases.
*/
void setKeyguardShowingHeader(boolean hasHeader) {
- if (mShowingHeader == hasHeader || hasCustomClock()) {
+ if (mShowingHeader == hasHeader) {
return;
}
mShowingHeader = hasHeader;
+ if (hasCustomClock()) {
+ return;
+ }
float smallFontSize = mContext.getResources().getDimensionPixelSize(
R.dimen.widget_small_font_size);
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
index e7923d8..37e89c0 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
@@ -145,6 +145,13 @@
return mClockView.hasCustomClock();
}
+ /**
+ * Set whether or not the lock screen is showing notifications.
+ */
+ public void setHasVisibleNotifications(boolean hasVisibleNotifications) {
+ mClockView.setHasVisibleNotifications(hasVisibleNotifications);
+ }
+
private void setEnableMarquee(boolean enabled) {
if (DEBUG) Log.v(TAG, "Schedule setEnableMarquee: " + (enabled ? "Enable" : "Disable"));
if (enabled) {
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index cdb7216..f465003 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -88,6 +88,7 @@
import com.android.settingslib.WirelessUtils;
import com.android.systemui.shared.system.ActivityManagerWrapper;
import com.android.systemui.shared.system.TaskStackChangeListener;
+import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.google.android.collect.Lists;
@@ -237,6 +238,7 @@
private List<SubscriptionInfo> mSubscriptionInfo;
private TrustManager mTrustManager;
private UserManager mUserManager;
+ private KeyguardBypassController mKeyguardBypassController;
private int mFingerprintRunningState = BIOMETRIC_STATE_STOPPED;
private int mFaceRunningState = BIOMETRIC_STATE_STOPPED;
private LockPatternUtils mLockPatternUtils;
@@ -1658,13 +1660,25 @@
private boolean shouldListenForFace() {
final boolean awakeKeyguard = mKeyguardIsVisible && mDeviceInteractive && !mGoingToSleep;
final int user = getCurrentUser();
+ final int strongAuth = mStrongAuthTracker.getStrongAuthForUser(user);
+ final boolean isLockOutOrLockDown =
+ strongAuth == StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_LOCKOUT
+ || strongAuth == StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_USER_LOCKDOWN;
+
+ // There's no reason to ask the HAL for authentication when the user can dismiss the
+ // bouncer, unless we're bypassing and need to auto-dismiss the lock screen even when
+ // TrustAgents or biometrics are keeping the device unlocked.
+ boolean bypassEnabled = mKeyguardBypassController != null
+ && mKeyguardBypassController.getBypassEnabled();
+ boolean becauseCannotSkipBouncer = !getUserCanSkipBouncer(user) || bypassEnabled;
+
// Only listen if this KeyguardUpdateMonitor belongs to the primary user. There is an
// instance of KeyguardUpdateMonitor for each user but KeyguardUpdateMonitor is user-aware.
return (mBouncer || mAuthInterruptActive || awakeKeyguard || shouldListenForFaceAssistant())
- && !mSwitchingUser && !getUserCanSkipBouncer(user) && !isFaceDisabled(user)
+ && !mSwitchingUser && !isFaceDisabled(user) && becauseCannotSkipBouncer
&& !mKeyguardGoingAway && mFaceSettingEnabledForUser && !mLockIconPressed
&& mUserManager.isUserUnlocked(user) && mIsPrimaryUser
- && !mSecureCameraLaunched;
+ && !mSecureCameraLaunched && !isLockOutOrLockDown;
}
/**
@@ -2235,6 +2249,10 @@
sendUpdates(callback);
}
+ public void setKeyguardBypassController(KeyguardBypassController keyguardBypassController) {
+ mKeyguardBypassController = keyguardBypassController;
+ }
+
public boolean isSwitchingUser() {
return mSwitchingUser;
}
@@ -2325,6 +2343,13 @@
mUserFaceAuthenticated.clear();
mTrustManager.clearAllBiometricRecognized(BiometricSourceType.FINGERPRINT);
mTrustManager.clearAllBiometricRecognized(BiometricSourceType.FACE);
+
+ for (int i = 0; i < mCallbacks.size(); i++) {
+ KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
+ if (cb != null) {
+ cb.onBiometricsCleared();
+ }
+ }
}
public boolean isSimPinVoiceSecure() {
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
index 8696bb76..0fef755 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitorCallback.java
@@ -314,4 +314,9 @@
*/
public void onLogoutEnabledChanged() { }
+ /**
+ * Called when authenticated biometrics are cleared.
+ */
+ public void onBiometricsCleared() { }
+
}
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/SettingsWrapper.java b/packages/SystemUI/src/com/android/keyguard/clock/SettingsWrapper.java
index e1c658be..096e943 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/SettingsWrapper.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/SettingsWrapper.java
@@ -15,21 +15,37 @@
*/
package com.android.keyguard.clock;
+import android.annotation.Nullable;
import android.content.ContentResolver;
import android.provider.Settings;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import org.json.JSONException;
+import org.json.JSONObject;
/**
* Wrapper around Settings used for testing.
*/
public class SettingsWrapper {
+ private static final String TAG = "ClockFaceSettings";
private static final String CUSTOM_CLOCK_FACE = Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE;
private static final String DOCKED_CLOCK_FACE = Settings.Secure.DOCKED_CLOCK_FACE;
+ private static final String CLOCK_FIELD = "clock";
- private ContentResolver mContentResolver;
+ private final ContentResolver mContentResolver;
+ private final Migration mMigration;
- public SettingsWrapper(ContentResolver contentResolver) {
+ SettingsWrapper(ContentResolver contentResolver) {
+ this(contentResolver, new Migrator(contentResolver));
+ }
+
+ @VisibleForTesting
+ SettingsWrapper(ContentResolver contentResolver, Migration migration) {
mContentResolver = contentResolver;
+ mMigration = migration;
}
/**
@@ -37,8 +53,10 @@
*
* @param userId ID of the user.
*/
- public String getLockScreenCustomClockFace(int userId) {
- return Settings.Secure.getStringForUser(mContentResolver, CUSTOM_CLOCK_FACE, userId);
+ String getLockScreenCustomClockFace(int userId) {
+ return decode(
+ Settings.Secure.getStringForUser(mContentResolver, CUSTOM_CLOCK_FACE, userId),
+ userId);
}
/**
@@ -46,7 +64,74 @@
*
* @param userId ID of the user.
*/
- public String getDockedClockFace(int userId) {
+ String getDockedClockFace(int userId) {
return Settings.Secure.getStringForUser(mContentResolver, DOCKED_CLOCK_FACE, userId);
}
+
+ /**
+ * Decodes the string stored in settings, which should be formatted as JSON.
+ * @param value String stored in settings. If value is not JSON, then the settings is
+ * overwritten with JSON containing the prior value.
+ * @return ID of the clock face to show on AOD and lock screen. If value is not JSON, the value
+ * is returned.
+ */
+ @VisibleForTesting
+ String decode(@Nullable String value, int userId) {
+ if (value == null) {
+ return value;
+ }
+ JSONObject json;
+ try {
+ json = new JSONObject(value);
+ } catch (JSONException ex) {
+ Log.e(TAG, "Settings value is not valid JSON", ex);
+ // The settings value isn't JSON since it didn't parse so migrate the value to JSON.
+ // TODO(b/135674383): Remove this migration path in the following release.
+ mMigration.migrate(value, userId);
+ return value;
+ }
+ try {
+ return json.getString(CLOCK_FIELD);
+ } catch (JSONException ex) {
+ Log.e(TAG, "JSON object does not contain clock field.", ex);
+ return null;
+ }
+ }
+
+ interface Migration {
+ void migrate(String value, int userId);
+ }
+
+ /**
+ * Implementation of {@link Migration} that writes valid JSON back to Settings.
+ */
+ private static final class Migrator implements Migration {
+
+ private final ContentResolver mContentResolver;
+
+ Migrator(ContentResolver contentResolver) {
+ mContentResolver = contentResolver;
+ }
+
+ /**
+ * Migrate settings values that don't parse by converting to JSON format.
+ *
+ * Values in settings must be JSON to be backed up and restored. To help users maintain
+ * their current settings, convert existing values into the JSON format.
+ *
+ * TODO(b/135674383): Remove this migration code in the following release.
+ */
+ @Override
+ public void migrate(String value, int userId) {
+ try {
+ JSONObject json = new JSONObject();
+ json.put(CLOCK_FIELD, value);
+ Settings.Secure.putStringForUser(mContentResolver, CUSTOM_CLOCK_FACE,
+ json.toString(),
+ userId);
+ } catch (JSONException ex) {
+ Log.e(TAG, "Failed migrating settings value to JSON format", ex);
+ }
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
index 73b8c94..6c60d77 100644
--- a/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/SystemUIFactory.java
@@ -150,10 +150,9 @@
StatusBar statusBar,
NotificationWakeUpCoordinator wakeUpCoordinator,
KeyguardBypassController keyguardBypassController,
- StatusBarStateController statusBarStateController,
- NotificationListener listener) {
+ StatusBarStateController statusBarStateController) {
return new NotificationIconAreaController(context, statusBar, statusBarStateController,
- wakeUpCoordinator, keyguardBypassController, listener,
+ wakeUpCoordinator, keyguardBypassController,
Dependency.get(NotificationMediaManager.class));
}
diff --git a/packages/SystemUI/src/com/android/systemui/assist/ui/CircularCornerPathRenderer.java b/packages/SystemUI/src/com/android/systemui/assist/ui/CircularCornerPathRenderer.java
index 162e09e..00346a3 100644
--- a/packages/SystemUI/src/com/android/systemui/assist/ui/CircularCornerPathRenderer.java
+++ b/packages/SystemUI/src/com/android/systemui/assist/ui/CircularCornerPathRenderer.java
@@ -53,11 +53,12 @@
break;
case TOP_RIGHT:
mPath.moveTo(mWidth, mCornerRadiusTop);
- mPath.arcTo(mWidth - mCornerRadiusTop, 0, mWidth, mCornerRadiusTop, 0, -90, true);
+ mPath.arcTo(mWidth - mCornerRadiusTop * 2, 0, mWidth, mCornerRadiusTop * 2, 0, -90,
+ true);
break;
case TOP_LEFT:
mPath.moveTo(mCornerRadiusTop, 0);
- mPath.arcTo(0, 0, mCornerRadiusTop, mCornerRadiusTop, 270, -90, true);
+ mPath.arcTo(0, 0, mCornerRadiusTop * 2, mCornerRadiusTop * 2, 270, -90, true);
break;
}
return mPath;
diff --git a/packages/SystemUI/src/com/android/systemui/assist/ui/InvocationLightsView.java b/packages/SystemUI/src/com/android/systemui/assist/ui/InvocationLightsView.java
index 5ad6b80..43e7045 100644
--- a/packages/SystemUI/src/com/android/systemui/assist/ui/InvocationLightsView.java
+++ b/packages/SystemUI/src/com/android/systemui/assist/ui/InvocationLightsView.java
@@ -92,15 +92,14 @@
mPaint.setStrokeJoin(Paint.Join.MITER);
mPaint.setAntiAlias(true);
- int cornerRadiusBottom = DisplayUtils.getCornerRadiusBottom(context);
- int cornerRadiusTop = DisplayUtils.getCornerRadiusTop(context);
+
int displayWidth = DisplayUtils.getWidth(context);
int displayHeight = DisplayUtils.getHeight(context);
- CircularCornerPathRenderer cornerPathRenderer = new CircularCornerPathRenderer(
- cornerRadiusBottom, cornerRadiusTop, displayWidth, displayHeight);
- mGuide = new PerimeterPathGuide(context, cornerPathRenderer,
+ mGuide = new PerimeterPathGuide(context, createCornerPathRenderer(context),
mStrokeWidth / 2, displayWidth, displayHeight);
+ int cornerRadiusBottom = DisplayUtils.getCornerRadiusBottom(context);
+ int cornerRadiusTop = DisplayUtils.getCornerRadiusTop(context);
mViewHeight = Math.max(cornerRadiusBottom, cornerRadiusTop);
final int dualToneDarkTheme = Utils.getThemeAttr(mContext, R.attr.darkIconTheme);
@@ -243,6 +242,19 @@
}
/**
+ * Returns CornerPathRenderer to be used for rendering invocation lights.
+ *
+ * To render corners that aren't circular, override this method in a subclass.
+ */
+ protected CornerPathRenderer createCornerPathRenderer(Context context) {
+ int displayWidth = DisplayUtils.getWidth(context);
+ int displayHeight = DisplayUtils.getHeight(context);
+ int cornerRadiusBottom = DisplayUtils.getCornerRadiusBottom(context);
+ int cornerRadiusTop = DisplayUtils.getCornerRadiusTop(context);
+ return new CircularCornerPathRenderer(
+ cornerRadiusBottom, cornerRadiusTop, displayWidth, displayHeight);
+ }
+ /**
* Receives an intensity from 0 (lightest) to 1 (darkest) and sets the handle color
* appropriately. Intention is to match the home handle color.
*/
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
index 0f0f095..932e40c 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogView.java
@@ -267,6 +267,7 @@
mContext.getTheme());
image.setColorFilter(mDevicePolicyManager.getOrganizationColorForUser(mUserId),
PorterDuff.Mode.DARKEN);
+ backgroundView.setScaleType(ImageView.ScaleType.CENTER_CROP);
backgroundView.setImageDrawable(image);
} else {
backgroundView.setImageDrawable(null);
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/Classifier.java b/packages/SystemUI/src/com/android/systemui/classifier/Classifier.java
index f8856ce..ae7d142 100644
--- a/packages/SystemUI/src/com/android/systemui/classifier/Classifier.java
+++ b/packages/SystemUI/src/com/android/systemui/classifier/Classifier.java
@@ -16,9 +16,13 @@
package com.android.systemui.classifier;
+import android.annotation.IntDef;
import android.hardware.SensorEvent;
import android.view.MotionEvent;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/**
* An abstract class for classifiers for touch and sensor events.
*/
@@ -34,6 +38,21 @@
public static final int BOUNCER_UNLOCK = 8;
public static final int PULSE_EXPAND = 9;
+ @IntDef({
+ QUICK_SETTINGS,
+ NOTIFICATION_DISMISS,
+ NOTIFICATION_DRAG_DOWN,
+ NOTIFICATION_DOUBLE_TAP,
+ UNLOCK,
+ LEFT_AFFORDANCE,
+ RIGHT_AFFORDANCE,
+ GENERIC,
+ BOUNCER_UNLOCK,
+ PULSE_EXPAND
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface InteractionType {}
+
/**
* Contains all the information about touch events from which the classifier can query
*/
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java
index 28454b0..1521889 100644
--- a/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java
+++ b/packages/SystemUI/src/com/android/systemui/classifier/FalsingManagerProxy.java
@@ -16,31 +16,51 @@
package com.android.systemui.classifier;
+import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.BRIGHTLINE_FALSING_MANAGER_ENABLED;
+import static com.android.systemui.Dependency.MAIN_HANDLER_NAME;
+
import android.content.Context;
import android.net.Uri;
+import android.os.Handler;
+import android.provider.DeviceConfig;
import android.view.MotionEvent;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.systemui.Dependency;
+import com.android.systemui.classifier.brightline.BrightLineFalsingManager;
+import com.android.systemui.classifier.brightline.FalsingDataProvider;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.FalsingPlugin;
import com.android.systemui.plugins.PluginListener;
import com.android.systemui.shared.plugins.PluginManager;
+import com.android.systemui.util.AsyncSensorManager;
import java.io.PrintWriter;
import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
/**
* Simple passthrough implementation of {@link FalsingManager} allowing plugins to swap in.
*
* {@link FalsingManagerImpl} is used when a Plugin is not loaded.
*/
+@Singleton
public class FalsingManagerProxy implements FalsingManager {
private FalsingManager mInternalFalsingManager;
+ private final Handler mMainHandler;
@Inject
- FalsingManagerProxy(Context context, PluginManager pluginManager) {
- mInternalFalsingManager = new FalsingManagerImpl(context);
+ FalsingManagerProxy(Context context, PluginManager pluginManager,
+ @Named(MAIN_HANDLER_NAME) Handler handler) {
+ mMainHandler = handler;
+ DeviceConfig.addOnPropertiesChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
+ command -> mMainHandler.post(command),
+ properties -> onDeviceConfigPropertiesChanged(context, properties.getNamespace())
+ );
+ setupFalsingManager(context);
final PluginListener<FalsingPlugin> mPluginListener = new PluginListener<FalsingPlugin>() {
public void onPluginConnected(FalsingPlugin plugin, Context context) {
FalsingManager pluginFalsingManager = plugin.getFalsingManager(context);
@@ -57,6 +77,40 @@
pluginManager.addPluginListener(mPluginListener, FalsingPlugin.class);
}
+ private void onDeviceConfigPropertiesChanged(Context context, String namespace) {
+ if (!DeviceConfig.NAMESPACE_SYSTEMUI.equals(namespace)) {
+ return;
+ }
+
+ setupFalsingManager(context);
+ }
+
+ /**
+ * Chooses the FalsingManager implementation.
+ */
+ @VisibleForTesting
+ public void setupFalsingManager(Context context) {
+ boolean brightlineEnabled = DeviceConfig.getBoolean(
+ DeviceConfig.NAMESPACE_SYSTEMUI, BRIGHTLINE_FALSING_MANAGER_ENABLED, false);
+ if (!brightlineEnabled) {
+ mInternalFalsingManager = new FalsingManagerImpl(context);
+ } else {
+ mInternalFalsingManager = new BrightLineFalsingManager(
+ new FalsingDataProvider(context),
+ Dependency.get(AsyncSensorManager.class)
+ );
+ }
+
+ }
+
+ /**
+ * Returns the FalsingManager implementation in use.
+ */
+ @VisibleForTesting
+ FalsingManager getInternalFalsingManager() {
+ return mInternalFalsingManager;
+ }
+
@Override
public void onSucccessfulUnlock() {
mInternalFalsingManager.onSucccessfulUnlock();
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java
new file mode 100644
index 0000000..19c46e4
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/BrightLineFalsingManager.java
@@ -0,0 +1,329 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.hardware.SensorEventListener;
+import android.hardware.SensorManager;
+import android.net.Uri;
+import android.util.Log;
+import android.view.MotionEvent;
+
+import com.android.systemui.classifier.Classifier;
+import com.android.systemui.plugins.FalsingManager;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/**
+ * FalsingManager designed to make clear why a touch was rejected.
+ */
+public class BrightLineFalsingManager implements FalsingManager {
+
+ static final boolean DEBUG = false;
+ private static final String TAG = "FalsingManagerPlugin";
+
+ private final SensorManager mSensorManager;
+ private final FalsingDataProvider mDataProvider;
+ private boolean mSessionStarted;
+
+ private final ExecutorService mBackgroundExecutor = Executors.newSingleThreadExecutor();
+
+ private final List<FalsingClassifier> mClassifiers;
+
+ private SensorEventListener mSensorEventListener = new SensorEventListener() {
+ @Override
+ public synchronized void onSensorChanged(SensorEvent event) {
+ onSensorEvent(event);
+ }
+
+ @Override
+ public void onAccuracyChanged(Sensor sensor, int accuracy) {
+ }
+ };
+
+ public BrightLineFalsingManager(FalsingDataProvider falsingDataProvider,
+ SensorManager sensorManager) {
+ mDataProvider = falsingDataProvider;
+ mSensorManager = sensorManager;
+ mClassifiers = new ArrayList<>();
+ DistanceClassifier distanceClassifier = new DistanceClassifier(mDataProvider);
+ ProximityClassifier proximityClassifier = new ProximityClassifier(distanceClassifier,
+ mDataProvider);
+ mClassifiers.add(new PointerCountClassifier(mDataProvider));
+ mClassifiers.add(new TypeClassifier(mDataProvider));
+ mClassifiers.add(new DiagonalClassifier(mDataProvider));
+ mClassifiers.add(distanceClassifier);
+ mClassifiers.add(proximityClassifier);
+ mClassifiers.add(new ZigZagClassifier(mDataProvider));
+ }
+
+ private void registerSensors() {
+ Sensor s = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
+ if (s != null) {
+ // This can be expensive, and doesn't need to happen on the main thread.
+ mBackgroundExecutor.submit(() -> {
+ logDebug("registering sensor listener");
+ mSensorManager.registerListener(
+ mSensorEventListener, s, SensorManager.SENSOR_DELAY_GAME);
+ });
+ }
+ }
+
+
+ private void unregisterSensors() {
+ // This can be expensive, and doesn't need to happen on the main thread.
+ mBackgroundExecutor.submit(() -> {
+ logDebug("unregistering sensor listener");
+ mSensorManager.unregisterListener(mSensorEventListener);
+ });
+ }
+
+ private void sessionStart() {
+ logDebug("Starting Session");
+ mSessionStarted = true;
+ registerSensors();
+ mClassifiers.forEach(FalsingClassifier::onSessionStarted);
+ }
+
+ private void sessionEnd() {
+ if (mSessionStarted) {
+ logDebug("Ending Session");
+ mSessionStarted = false;
+ unregisterSensors();
+ mDataProvider.onSessionEnd();
+ mClassifiers.forEach(FalsingClassifier::onSessionEnded);
+ }
+ }
+
+ private void updateInteractionType(@Classifier.InteractionType int type) {
+ logDebug("InteractionType: " + type);
+ mClassifiers.forEach((classifier) -> classifier.setInteractionType(type));
+ }
+
+ @Override
+ public boolean isClassiferEnabled() {
+ return true;
+ }
+
+ @Override
+ public boolean isFalseTouch() {
+ boolean r = mClassifiers.stream().anyMatch(falsingClassifier -> {
+ boolean result = falsingClassifier.isFalseTouch();
+ if (result) {
+ logInfo(falsingClassifier.getClass().getName() + ": true");
+ } else {
+ logDebug(falsingClassifier.getClass().getName() + ": false");
+ }
+ return result;
+ });
+
+ logDebug("Is false touch? " + r);
+
+ return r;
+ }
+
+ @Override
+ public void onTouchEvent(MotionEvent motionEvent, int width, int height) {
+ // TODO: some of these classifiers might allow us to abort early, meaning we don't have to
+ // make these calls.
+ mDataProvider.onMotionEvent(motionEvent);
+ mClassifiers.forEach((classifier) -> classifier.onTouchEvent(motionEvent));
+ }
+
+ private void onSensorEvent(SensorEvent sensorEvent) {
+ // TODO: some of these classifiers might allow us to abort early, meaning we don't have to
+ // make these calls.
+ mClassifiers.forEach((classifier) -> classifier.onSensorEvent(sensorEvent));
+ }
+
+ @Override
+ public void onSucccessfulUnlock() {
+ }
+
+ @Override
+ public void onNotificationActive() {
+ }
+
+ @Override
+ public void setShowingAod(boolean showingAod) {
+ if (showingAod) {
+ sessionEnd();
+ } else {
+ sessionStart();
+ }
+ }
+
+ @Override
+ public void onNotificatonStartDraggingDown() {
+ updateInteractionType(Classifier.NOTIFICATION_DRAG_DOWN);
+
+ }
+
+ @Override
+ public boolean isUnlockingDisabled() {
+ return false;
+ }
+
+
+ @Override
+ public void onNotificatonStopDraggingDown() {
+ }
+
+ @Override
+ public void setNotificationExpanded() {
+ }
+
+ @Override
+ public void onQsDown() {
+ updateInteractionType(Classifier.QUICK_SETTINGS);
+ }
+
+ @Override
+ public void setQsExpanded(boolean b) {
+ }
+
+ @Override
+ public boolean shouldEnforceBouncer() {
+ return false;
+ }
+
+ @Override
+ public void onTrackingStarted(boolean secure) {
+ updateInteractionType(secure ? Classifier.BOUNCER_UNLOCK : Classifier.UNLOCK);
+ }
+
+ @Override
+ public void onTrackingStopped() {
+ }
+
+ @Override
+ public void onLeftAffordanceOn() {
+ }
+
+ @Override
+ public void onCameraOn() {
+ }
+
+ @Override
+ public void onAffordanceSwipingStarted(boolean rightCorner) {
+ updateInteractionType(
+ rightCorner ? Classifier.RIGHT_AFFORDANCE : Classifier.LEFT_AFFORDANCE);
+ }
+
+ @Override
+ public void onAffordanceSwipingAborted() {
+ }
+
+ @Override
+ public void onStartExpandingFromPulse() {
+ updateInteractionType(Classifier.PULSE_EXPAND);
+ }
+
+ @Override
+ public void onExpansionFromPulseStopped() {
+ }
+
+ @Override
+ public Uri reportRejectedTouch() {
+ return null;
+ }
+
+ @Override
+ public void onScreenOnFromTouch() {
+ sessionStart();
+ }
+
+ @Override
+ public boolean isReportingEnabled() {
+ return false;
+ }
+
+ @Override
+ public void onUnlockHintStarted() {
+ }
+
+ @Override
+ public void onCameraHintStarted() {
+ }
+
+ @Override
+ public void onLeftAffordanceHintStarted() {
+ }
+
+ @Override
+ public void onScreenTurningOn() {
+ sessionStart();
+ }
+
+ @Override
+ public void onScreenOff() {
+ sessionEnd();
+ }
+
+
+ @Override
+ public void onNotificatonStopDismissing() {
+ }
+
+ @Override
+ public void onNotificationDismissed() {
+ }
+
+ @Override
+ public void onNotificatonStartDismissing() {
+ updateInteractionType(Classifier.NOTIFICATION_DISMISS);
+ }
+
+ @Override
+ public void onNotificationDoubleTap(boolean b, float v, float v1) {
+ }
+
+ @Override
+ public void onBouncerShown() {
+ }
+
+ @Override
+ public void onBouncerHidden() {
+ }
+
+ @Override
+ public void dump(PrintWriter printWriter) {
+ }
+
+ static void logDebug(String msg) {
+ logDebug(msg, null);
+ }
+
+ static void logDebug(String msg, Throwable throwable) {
+ if (DEBUG) {
+ Log.d(TAG, msg, throwable);
+ }
+ }
+
+ static void logInfo(String msg) {
+ Log.i(TAG, msg);
+ }
+
+ static void logError(String msg) {
+ Log.e(TAG, msg);
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/DiagonalClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/DiagonalClassifier.java
new file mode 100644
index 0000000..730907e
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/DiagonalClassifier.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static com.android.systemui.classifier.Classifier.LEFT_AFFORDANCE;
+import static com.android.systemui.classifier.Classifier.RIGHT_AFFORDANCE;
+
+/**
+ * False on swipes that are too close to 45 degrees.
+ *
+ * Horizontal swipes may have a different threshold than vertical.
+ *
+ * This falser should not run on "affordance" swipes, as they will always be close to 45.
+ */
+class DiagonalClassifier extends FalsingClassifier {
+
+ private static final float HORIZONTAL_ANGLE_RANGE = (float) (5f / 360f * Math.PI * 2f);
+ private static final float VERTICAL_ANGLE_RANGE = (float) (5f / 360f * Math.PI * 2f);
+ private static final float DIAGONAL = (float) (Math.PI / 4); // 45 deg
+ private static final float NINETY_DEG = (float) (Math.PI / 2);
+ private static final float ONE_HUNDRED_EIGHTY_DEG = (float) (Math.PI);
+ private static final float THREE_HUNDRED_SIXTY_DEG = (float) (2 * Math.PI);
+
+ DiagonalClassifier(FalsingDataProvider dataProvider) {
+ super(dataProvider);
+ }
+
+ @Override
+ boolean isFalseTouch() {
+ float angle = getAngle();
+
+ if (angle == Float.MAX_VALUE) { // Unknown angle
+ return false;
+ }
+
+ if (getInteractionType() == LEFT_AFFORDANCE
+ || getInteractionType() == RIGHT_AFFORDANCE) {
+ return false;
+ }
+
+ float minAngle = DIAGONAL - HORIZONTAL_ANGLE_RANGE;
+ float maxAngle = DIAGONAL + HORIZONTAL_ANGLE_RANGE;
+ if (isVertical()) {
+ minAngle = DIAGONAL - VERTICAL_ANGLE_RANGE;
+ maxAngle = DIAGONAL + VERTICAL_ANGLE_RANGE;
+ }
+
+ return angleBetween(angle, minAngle, maxAngle)
+ || angleBetween(angle, minAngle + NINETY_DEG, maxAngle + NINETY_DEG)
+ || angleBetween(angle, minAngle - NINETY_DEG, maxAngle - NINETY_DEG)
+ || angleBetween(angle, minAngle + ONE_HUNDRED_EIGHTY_DEG,
+ maxAngle + ONE_HUNDRED_EIGHTY_DEG);
+ }
+
+ private boolean angleBetween(float angle, float min, float max) {
+ // No need to normalize angle as it is guaranteed to be between 0 and 2*PI.
+ min = normalizeAngle(min);
+ max = normalizeAngle(max);
+
+ if (min > max) { // Can happen when angle is close to 0.
+ return angle >= min || angle <= max;
+ }
+
+ return angle >= min && angle <= max;
+ }
+
+ private float normalizeAngle(float angle) {
+ if (angle < 0) {
+ return THREE_HUNDRED_SIXTY_DEG + (angle % THREE_HUNDRED_SIXTY_DEG);
+ } else if (angle > THREE_HUNDRED_SIXTY_DEG) {
+ return angle % THREE_HUNDRED_SIXTY_DEG;
+ }
+ return angle;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/DistanceClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/DistanceClassifier.java
new file mode 100644
index 0000000..005ee12
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/DistanceClassifier.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import android.view.MotionEvent;
+import android.view.VelocityTracker;
+
+import java.util.List;
+
+/**
+ * Ensure that the swipe + momentum covers a minimum distance.
+ */
+class DistanceClassifier extends FalsingClassifier {
+
+ private static final float HORIZONTAL_FLING_THRESHOLD_DISTANCE_IN = 1;
+ private static final float VERTICAL_FLING_THRESHOLD_DISTANCE_IN = 1;
+ private static final float HORIZONTAL_SWIPE_THRESHOLD_DISTANCE_IN = 3;
+ private static final float VERTICAL_SWIPE_THRESHOLD_DISTANCE_IN = 3;
+ private static final float VELOCITY_TO_DISTANCE = 80f;
+ private static final float SCREEN_FRACTION_MIN_DISTANCE = 0.8f;
+
+ private final float mVerticalFlingThresholdPx;
+ private final float mHorizontalFlingThresholdPx;
+ private final float mVerticalSwipeThresholdPx;
+ private final float mHorizontalSwipeThresholdPx;
+
+ private boolean mDistanceDirty;
+ private DistanceVectors mCachedDistance;
+
+ DistanceClassifier(FalsingDataProvider dataProvider) {
+ super(dataProvider);
+
+ mHorizontalFlingThresholdPx = Math
+ .min(getWidthPixels() * SCREEN_FRACTION_MIN_DISTANCE,
+ HORIZONTAL_FLING_THRESHOLD_DISTANCE_IN * getXdpi());
+ mVerticalFlingThresholdPx = Math
+ .min(getHeightPixels() * SCREEN_FRACTION_MIN_DISTANCE,
+ VERTICAL_FLING_THRESHOLD_DISTANCE_IN * getYdpi());
+ mHorizontalSwipeThresholdPx = Math
+ .min(getWidthPixels() * SCREEN_FRACTION_MIN_DISTANCE,
+ HORIZONTAL_SWIPE_THRESHOLD_DISTANCE_IN * getXdpi());
+ mVerticalSwipeThresholdPx = Math
+ .min(getHeightPixels() * SCREEN_FRACTION_MIN_DISTANCE,
+ VERTICAL_SWIPE_THRESHOLD_DISTANCE_IN * getYdpi());
+ mDistanceDirty = true;
+ }
+
+ private DistanceVectors getDistances() {
+ if (mDistanceDirty) {
+ mCachedDistance = calculateDistances();
+ mDistanceDirty = false;
+ }
+
+ return mCachedDistance;
+ }
+
+ private DistanceVectors calculateDistances() {
+ // This code assumes that there will be no missed DOWN or UP events.
+ VelocityTracker velocityTracker = VelocityTracker.obtain();
+ List<MotionEvent> motionEvents = getRecentMotionEvents();
+
+ if (motionEvents.size() < 3) {
+ logDebug("Only " + motionEvents.size() + " motion events recorded.");
+ return new DistanceVectors(0, 0, 0, 0);
+ }
+
+ for (MotionEvent motionEvent : motionEvents) {
+ velocityTracker.addMovement(motionEvent);
+ }
+ velocityTracker.computeCurrentVelocity(1);
+
+ float vX = velocityTracker.getXVelocity();
+ float vY = velocityTracker.getYVelocity();
+
+ velocityTracker.recycle();
+
+ float dX = getLastMotionEvent().getX() - getFirstMotionEvent().getX();
+ float dY = getLastMotionEvent().getY() - getFirstMotionEvent().getY();
+
+ logInfo("dX: " + dX + " dY: " + dY + " xV: " + vX + " yV: " + vY);
+
+ return new DistanceVectors(dX, dY, vX, vY);
+ }
+
+ @Override
+ public void onTouchEvent(MotionEvent motionEvent) {
+ mDistanceDirty = true;
+ }
+
+ @Override
+ public boolean isFalseTouch() {
+ return !getDistances().getPassedFlingThreshold();
+ }
+
+ boolean isLongSwipe() {
+ boolean longSwipe = getDistances().getPassedDistanceThreshold();
+ logDebug("Is longSwipe? " + longSwipe);
+ return longSwipe;
+ }
+
+ private class DistanceVectors {
+ final float mDx;
+ final float mDy;
+ private final float mVx;
+ private final float mVy;
+
+ DistanceVectors(float dX, float dY, float vX, float vY) {
+ this.mDx = dX;
+ this.mDy = dY;
+ this.mVx = vX;
+ this.mVy = vY;
+ }
+
+ boolean getPassedDistanceThreshold() {
+ if (isHorizontal()) {
+ logDebug("Horizontal swipe distance: " + Math.abs(mDx));
+ logDebug("Threshold: " + mHorizontalSwipeThresholdPx);
+
+ return Math.abs(mDx) >= mHorizontalSwipeThresholdPx;
+ }
+
+ logDebug("Vertical swipe distance: " + Math.abs(mDy));
+ logDebug("Threshold: " + mVerticalSwipeThresholdPx);
+ return Math.abs(mDy) >= mVerticalSwipeThresholdPx;
+ }
+
+ boolean getPassedFlingThreshold() {
+ float dX = this.mDx + this.mVx * VELOCITY_TO_DISTANCE;
+ float dY = this.mDy + this.mVy * VELOCITY_TO_DISTANCE;
+
+ if (isHorizontal()) {
+ logDebug("Horizontal swipe and fling distance: " + this.mDx + ", "
+ + this.mVx * VELOCITY_TO_DISTANCE);
+ logDebug("Threshold: " + mHorizontalFlingThresholdPx);
+ return Math.abs(dX) >= mHorizontalFlingThresholdPx;
+ }
+
+ logDebug("Vertical swipe and fling distance: " + this.mDy + ", "
+ + this.mVy * VELOCITY_TO_DISTANCE);
+ logDebug("Threshold: " + mVerticalFlingThresholdPx);
+ return Math.abs(dY) >= mVerticalFlingThresholdPx;
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/FalsingClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/FalsingClassifier.java
new file mode 100644
index 0000000..685e7c5
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/FalsingClassifier.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import android.hardware.SensorEvent;
+import android.view.MotionEvent;
+
+import com.android.systemui.classifier.Classifier;
+
+import java.util.List;
+
+/**
+ * Base class for rules that determine False touches.
+ */
+abstract class FalsingClassifier {
+ private final FalsingDataProvider mDataProvider;
+
+ FalsingClassifier(FalsingDataProvider dataProvider) {
+ this.mDataProvider = dataProvider;
+ }
+
+ List<MotionEvent> getRecentMotionEvents() {
+ return mDataProvider.getRecentMotionEvents();
+ }
+
+ MotionEvent getFirstMotionEvent() {
+ return mDataProvider.getFirstRecentMotionEvent();
+ }
+
+ MotionEvent getLastMotionEvent() {
+ return mDataProvider.getLastMotionEvent();
+ }
+
+ boolean isHorizontal() {
+ return mDataProvider.isHorizontal();
+ }
+
+ boolean isRight() {
+ return mDataProvider.isRight();
+ }
+
+ boolean isVertical() {
+ return mDataProvider.isVertical();
+ }
+
+ boolean isUp() {
+ return mDataProvider.isUp();
+ }
+
+ float getAngle() {
+ return mDataProvider.getAngle();
+ }
+
+ int getWidthPixels() {
+ return mDataProvider.getWidthPixels();
+ }
+
+ int getHeightPixels() {
+ return mDataProvider.getHeightPixels();
+ }
+
+ float getXdpi() {
+ return mDataProvider.getXdpi();
+ }
+
+ float getYdpi() {
+ return mDataProvider.getYdpi();
+ }
+
+ final @Classifier.InteractionType int getInteractionType() {
+ return mDataProvider.getInteractionType();
+ }
+
+ final void setInteractionType(@Classifier.InteractionType int interactionType) {
+ mDataProvider.setInteractionType(interactionType);
+ }
+
+ /**
+ * Called whenever a MotionEvent occurs.
+ *
+ * Useful for classifiers that need to see every MotionEvent, but most can probably
+ * use {@link #getRecentMotionEvents()} instead, which will return a list of MotionEvents.
+ */
+ void onTouchEvent(MotionEvent motionEvent) {};
+
+ /**
+ * Called whenever a SensorEvent occurs, specifically the ProximitySensor.
+ */
+ void onSensorEvent(SensorEvent sensorEvent) {};
+
+ /**
+ * The phone screen has turned on and we need to begin falsing detection.
+ */
+ void onSessionStarted() {};
+
+ /**
+ * The phone screen has turned off and falsing data can be discarded.
+ */
+ void onSessionEnded() {};
+
+ /**
+ * Returns true if the data captured so far looks like a false touch.
+ */
+ abstract boolean isFalseTouch();
+
+ static void logDebug(String msg) {
+ BrightLineFalsingManager.logDebug(msg);
+ }
+
+ static void logInfo(String msg) {
+ BrightLineFalsingManager.logInfo(msg);
+ }
+
+ static void logError(String msg) {
+ BrightLineFalsingManager.logError(msg);
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/FalsingDataProvider.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/FalsingDataProvider.java
new file mode 100644
index 0000000..4975e63
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/FalsingDataProvider.java
@@ -0,0 +1,249 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import android.content.Context;
+import android.util.DisplayMetrics;
+import android.view.MotionEvent;
+import android.view.MotionEvent.PointerCoords;
+import android.view.MotionEvent.PointerProperties;
+
+import com.android.systemui.classifier.Classifier;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Acts as a cache and utility class for FalsingClassifiers.
+ */
+public class FalsingDataProvider {
+
+ private static final long MOTION_EVENT_AGE_MS = 1000;
+ private static final float THREE_HUNDRED_SIXTY_DEG = (float) (2 * Math.PI);
+
+ private final int mWidthPixels;
+ private final int mHeightPixels;
+ private final float mXdpi;
+ private final float mYdpi;
+
+ private @Classifier.InteractionType int mInteractionType;
+ private final TimeLimitedMotionEventBuffer mRecentMotionEvents =
+ new TimeLimitedMotionEventBuffer(MOTION_EVENT_AGE_MS);
+
+ private boolean mDirty = true;
+
+ private float mAngle = 0;
+ private MotionEvent mFirstActualMotionEvent;
+ private MotionEvent mFirstRecentMotionEvent;
+ private MotionEvent mLastMotionEvent;
+
+ public FalsingDataProvider(Context context) {
+ DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
+ mXdpi = displayMetrics.xdpi;
+ mYdpi = displayMetrics.ydpi;
+ mWidthPixels = displayMetrics.widthPixels;
+ mHeightPixels = displayMetrics.heightPixels;
+
+ FalsingClassifier.logInfo("xdpi, ydpi: " + getXdpi() + ", " + getYdpi());
+ FalsingClassifier.logInfo("width, height: " + getWidthPixels() + ", " + getHeightPixels());
+ }
+
+ void onMotionEvent(MotionEvent motionEvent) {
+ if (motionEvent.getActionMasked() == MotionEvent.ACTION_DOWN) {
+ mFirstActualMotionEvent = motionEvent;
+ }
+
+ List<MotionEvent> motionEvents = unpackMotionEvent(motionEvent);
+ FalsingClassifier.logDebug("Unpacked into: " + motionEvents.size());
+ if (BrightLineFalsingManager.DEBUG) {
+ for (MotionEvent m : motionEvents) {
+ FalsingClassifier.logDebug(
+ "x,y,t: " + m.getX() + "," + m.getY() + "," + m.getEventTime());
+ }
+ }
+
+ if (motionEvent.getActionMasked() == MotionEvent.ACTION_DOWN) {
+ mRecentMotionEvents.clear();
+ }
+ mRecentMotionEvents.addAll(motionEvents);
+
+ FalsingClassifier.logDebug("Size: " + mRecentMotionEvents.size());
+
+ mDirty = true;
+ }
+
+ /** Returns screen width in pixels. */
+ int getWidthPixels() {
+ return mWidthPixels;
+ }
+
+ /** Returns screen height in pixels. */
+ int getHeightPixels() {
+ return mHeightPixels;
+ }
+
+ float getXdpi() {
+ return mXdpi;
+ }
+
+ float getYdpi() {
+ return mYdpi;
+ }
+
+ List<MotionEvent> getRecentMotionEvents() {
+ return mRecentMotionEvents;
+ }
+
+ /**
+ * interactionType is defined by {@link com.android.systemui.classifier.Classifier}.
+ */
+ final void setInteractionType(@Classifier.InteractionType int interactionType) {
+ this.mInteractionType = interactionType;
+ }
+
+ final int getInteractionType() {
+ return mInteractionType;
+ }
+
+ MotionEvent getFirstActualMotionEvent() {
+ return mFirstActualMotionEvent;
+ }
+
+ MotionEvent getFirstRecentMotionEvent() {
+ recalculateData();
+ return mFirstRecentMotionEvent;
+ }
+
+ MotionEvent getLastMotionEvent() {
+ recalculateData();
+ return mLastMotionEvent;
+ }
+
+ /**
+ * Returns the angle between the first and last point of the recent points.
+ *
+ * The angle will be in radians, always be between 0 and 2*PI, inclusive.
+ */
+ float getAngle() {
+ recalculateData();
+ return mAngle;
+ }
+
+ boolean isHorizontal() {
+ recalculateData();
+ return Math.abs(mFirstRecentMotionEvent.getX() - mLastMotionEvent.getX()) > Math
+ .abs(mFirstRecentMotionEvent.getY() - mLastMotionEvent.getY());
+ }
+
+ boolean isRight() {
+ recalculateData();
+ return mLastMotionEvent.getX() > mFirstRecentMotionEvent.getX();
+ }
+
+ boolean isVertical() {
+ return !isHorizontal();
+ }
+
+ boolean isUp() {
+ recalculateData();
+ return mLastMotionEvent.getY() < mFirstRecentMotionEvent.getY();
+ }
+
+ private void recalculateData() {
+ if (!mDirty) {
+ return;
+ }
+
+ mFirstRecentMotionEvent = mRecentMotionEvents.get(0);
+ mLastMotionEvent = mRecentMotionEvents.get(mRecentMotionEvents.size() - 1);
+
+ calculateAngleInternal();
+
+ mDirty = false;
+ }
+
+ private void calculateAngleInternal() {
+ if (mRecentMotionEvents.size() < 2) {
+ mAngle = Float.MAX_VALUE;
+ } else {
+ float lastX = mLastMotionEvent.getX() - mFirstRecentMotionEvent.getX();
+ float lastY = mLastMotionEvent.getY() - mFirstRecentMotionEvent.getY();
+
+ mAngle = (float) Math.atan2(lastY, lastX);
+ while (mAngle < 0) {
+ mAngle += THREE_HUNDRED_SIXTY_DEG;
+ }
+ while (mAngle > THREE_HUNDRED_SIXTY_DEG) {
+ mAngle -= THREE_HUNDRED_SIXTY_DEG;
+ }
+ }
+ }
+
+ private List<MotionEvent> unpackMotionEvent(MotionEvent motionEvent) {
+ List<MotionEvent> motionEvents = new ArrayList<>();
+ List<PointerProperties> pointerPropertiesList = new ArrayList<>();
+ int pointerCount = motionEvent.getPointerCount();
+ for (int i = 0; i < pointerCount; i++) {
+ PointerProperties pointerProperties = new PointerProperties();
+ motionEvent.getPointerProperties(i, pointerProperties);
+ pointerPropertiesList.add(pointerProperties);
+ }
+ PointerProperties[] pointerPropertiesArray = new PointerProperties[pointerPropertiesList
+ .size()];
+ pointerPropertiesList.toArray(pointerPropertiesArray);
+
+ int historySize = motionEvent.getHistorySize();
+ for (int i = 0; i < historySize; i++) {
+ List<PointerCoords> pointerCoordsList = new ArrayList<>();
+ for (int j = 0; j < pointerCount; j++) {
+ PointerCoords pointerCoords = new PointerCoords();
+ motionEvent.getHistoricalPointerCoords(j, i, pointerCoords);
+ pointerCoordsList.add(pointerCoords);
+ }
+ motionEvents.add(MotionEvent.obtain(
+ motionEvent.getDownTime(),
+ motionEvent.getHistoricalEventTime(i),
+ motionEvent.getAction(),
+ pointerCount,
+ pointerPropertiesArray,
+ pointerCoordsList.toArray(new PointerCoords[0]),
+ motionEvent.getMetaState(),
+ motionEvent.getButtonState(),
+ motionEvent.getXPrecision(),
+ motionEvent.getYPrecision(),
+ motionEvent.getDeviceId(),
+ motionEvent.getEdgeFlags(),
+ motionEvent.getSource(),
+ motionEvent.getFlags()
+ ));
+ }
+
+ motionEvents.add(MotionEvent.obtainNoHistory(motionEvent));
+
+ return motionEvents;
+ }
+
+ void onSessionEnd() {
+ mFirstActualMotionEvent = null;
+
+ for (MotionEvent ev : mRecentMotionEvents) {
+ ev.recycle();
+ }
+
+ mRecentMotionEvents.clear();
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/PointerCountClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/PointerCountClassifier.java
new file mode 100644
index 0000000..40e141f
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/PointerCountClassifier.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import android.view.MotionEvent;
+
+/**
+ * False touch if more than one finger touches the screen.
+ *
+ * IMPORTANT: This should not be used for certain cases (i.e. a11y) as we expect multiple fingers
+ * for them.
+ */
+class PointerCountClassifier extends FalsingClassifier {
+
+ private static final int MAX_ALLOWED_POINTERS = 1;
+ private int mMaxPointerCount;
+
+ PointerCountClassifier(FalsingDataProvider dataProvider) {
+ super(dataProvider);
+ }
+
+ @Override
+ public void onTouchEvent(MotionEvent motionEvent) {
+ int pCount = mMaxPointerCount;
+ if (motionEvent.getActionMasked() == MotionEvent.ACTION_DOWN) {
+ mMaxPointerCount = motionEvent.getPointerCount();
+ } else {
+ mMaxPointerCount = Math.max(mMaxPointerCount, motionEvent.getPointerCount());
+ }
+ if (pCount != mMaxPointerCount) {
+ logDebug("Pointers observed:" + mMaxPointerCount);
+ }
+ }
+
+ @Override
+ public boolean isFalseTouch() {
+ return mMaxPointerCount > MAX_ALLOWED_POINTERS;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/ProximityClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/ProximityClassifier.java
new file mode 100644
index 0000000..94a8ac85
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/ProximityClassifier.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
+
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.view.MotionEvent;
+
+
+/**
+ * False touch if proximity sensor is covered for more than a certain percentage of the gesture.
+ *
+ * This classifer is essentially a no-op for QUICK_SETTINGS, as we assume the sensor may be
+ * covered when swiping from the top.
+ */
+class ProximityClassifier extends FalsingClassifier {
+
+ private static final double PERCENT_COVERED_THRESHOLD = 0.1;
+ private final DistanceClassifier mDistanceClassifier;
+
+ private boolean mNear;
+ private long mGestureStartTimeNs;
+ private long mPrevNearTimeNs;
+ private long mNearDurationNs;
+ private float mPercentNear;
+
+ ProximityClassifier(DistanceClassifier distanceClassifier,
+ FalsingDataProvider dataProvider) {
+ super(dataProvider);
+ this.mDistanceClassifier = distanceClassifier;
+ }
+
+ @Override
+ void onSessionStarted() {
+ mPrevNearTimeNs = 0;
+ mPercentNear = 0;
+ }
+
+ @Override
+ void onSessionEnded() {
+ mPrevNearTimeNs = 0;
+ mPercentNear = 0;
+ }
+
+ @Override
+ public void onTouchEvent(MotionEvent motionEvent) {
+ int action = motionEvent.getActionMasked();
+
+ if (action == MotionEvent.ACTION_DOWN) {
+ mGestureStartTimeNs = motionEvent.getEventTimeNano();
+ if (mPrevNearTimeNs > 0) {
+ // We only care about if the proximity sensor is triggered while a move event is
+ // happening.
+ mPrevNearTimeNs = motionEvent.getEventTimeNano();
+ }
+ logDebug("Gesture start time: " + mGestureStartTimeNs);
+ mNearDurationNs = 0;
+ }
+
+ if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
+ update(mNear, motionEvent.getEventTimeNano());
+ long duration = motionEvent.getEventTimeNano() - mGestureStartTimeNs;
+
+ logDebug("Gesture duration, Proximity duration: " + duration + ", " + mNearDurationNs);
+
+ if (duration == 0) {
+ mPercentNear = mNear ? 1.0f : 0.0f;
+ } else {
+ mPercentNear = (float) mNearDurationNs / (float) duration;
+ }
+ }
+
+ }
+
+ @Override
+ public void onSensorEvent(SensorEvent sensorEvent) {
+ if (sensorEvent.sensor.getType() == Sensor.TYPE_PROXIMITY) {
+ logDebug("Sensor is: " + (sensorEvent.values[0] < sensorEvent.sensor.getMaximumRange())
+ + " at time " + sensorEvent.timestamp);
+ update(
+ sensorEvent.values[0] < sensorEvent.sensor.getMaximumRange(),
+ sensorEvent.timestamp);
+ }
+ }
+
+ @Override
+ public boolean isFalseTouch() {
+ if (getInteractionType() == QUICK_SETTINGS) {
+ return false;
+ }
+
+ logInfo("Percent of gesture in proximity: " + mPercentNear);
+
+ if (mPercentNear > PERCENT_COVERED_THRESHOLD) {
+ return !mDistanceClassifier.isLongSwipe();
+ }
+
+ return false;
+ }
+
+ /**
+ * @param near is the sensor showing the near state right now
+ * @param timeStampNs time of this event in nanoseconds
+ */
+ private void update(boolean near, long timeStampNs) {
+ if (mPrevNearTimeNs != 0 && timeStampNs > mPrevNearTimeNs && mNear) {
+ mNearDurationNs += timeStampNs - mPrevNearTimeNs;
+ logDebug("Updating duration: " + mNearDurationNs);
+ }
+
+ if (near) {
+ logDebug("Set prevNearTimeNs: " + timeStampNs);
+ mPrevNearTimeNs = timeStampNs;
+ }
+
+ mNear = near;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/TimeLimitedMotionEventBuffer.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/TimeLimitedMotionEventBuffer.java
new file mode 100644
index 0000000..9a83b5b
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/TimeLimitedMotionEventBuffer.java
@@ -0,0 +1,242 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import android.view.MotionEvent;
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.ListIterator;
+
+/**
+ * Maintains an ordered list of the last N milliseconds of MotionEvents.
+ *
+ * This class is simply a convenience class designed to look like a simple list, but that
+ * automatically discards old MotionEvents. It functions much like a queue - first in first out -
+ * but does not have a fixed size like a circular buffer.
+ */
+public class TimeLimitedMotionEventBuffer implements List<MotionEvent> {
+
+ private final LinkedList<MotionEvent> mMotionEvents;
+ private long mMaxAgeMs;
+
+ TimeLimitedMotionEventBuffer(long maxAgeMs) {
+ super();
+ this.mMaxAgeMs = maxAgeMs;
+ this.mMotionEvents = new LinkedList<>();
+ }
+
+ private void ejectOldEvents() {
+ if (mMotionEvents.isEmpty()) {
+ return;
+ }
+ Iterator<MotionEvent> iter = listIterator();
+ long mostRecentMs = mMotionEvents.getLast().getEventTime();
+ while (iter.hasNext()) {
+ MotionEvent ev = iter.next();
+ if (mostRecentMs - ev.getEventTime() > mMaxAgeMs) {
+ iter.remove();
+ ev.recycle();
+ }
+ }
+ }
+
+ @Override
+ public void add(int index, MotionEvent element) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public MotionEvent remove(int index) {
+ return mMotionEvents.remove(index);
+ }
+
+ @Override
+ public int indexOf(Object o) {
+ return mMotionEvents.indexOf(o);
+ }
+
+ @Override
+ public int lastIndexOf(Object o) {
+ return mMotionEvents.lastIndexOf(o);
+ }
+
+ @Override
+ public int size() {
+ return mMotionEvents.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return mMotionEvents.isEmpty();
+ }
+
+ @Override
+ public boolean contains(Object o) {
+ return mMotionEvents.contains(o);
+ }
+
+ @Override
+ public Iterator<MotionEvent> iterator() {
+ return mMotionEvents.iterator();
+ }
+
+ @Override
+ public Object[] toArray() {
+ return mMotionEvents.toArray();
+ }
+
+ @Override
+ public <T> T[] toArray(T[] a) {
+ return mMotionEvents.toArray(a);
+ }
+
+ @Override
+ public boolean add(MotionEvent element) {
+ boolean result = mMotionEvents.add(element);
+ ejectOldEvents();
+ return result;
+ }
+
+ @Override
+ public boolean remove(Object o) {
+ return mMotionEvents.remove(o);
+ }
+
+ @Override
+ public boolean containsAll(Collection<?> c) {
+ return mMotionEvents.containsAll(c);
+ }
+
+ @Override
+ public boolean addAll(Collection<? extends MotionEvent> collection) {
+ boolean result = mMotionEvents.addAll(collection);
+ ejectOldEvents();
+ return result;
+ }
+
+ @Override
+ public boolean addAll(int index, Collection<? extends MotionEvent> elements) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean removeAll(Collection<?> c) {
+ return mMotionEvents.removeAll(c);
+ }
+
+ @Override
+ public boolean retainAll(Collection<?> c) {
+ return mMotionEvents.retainAll(c);
+ }
+
+ @Override
+ public void clear() {
+ mMotionEvents.clear();
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return mMotionEvents.equals(o);
+ }
+
+ @Override
+ public int hashCode() {
+ return mMotionEvents.hashCode();
+ }
+
+ @Override
+ public MotionEvent get(int index) {
+ return mMotionEvents.get(index);
+ }
+
+ @Override
+ public MotionEvent set(int index, MotionEvent element) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public ListIterator<MotionEvent> listIterator() {
+ return new Iter(0);
+ }
+
+ @Override
+ public ListIterator<MotionEvent> listIterator(int index) {
+ return new Iter(index);
+ }
+
+ @Override
+ public List<MotionEvent> subList(int fromIndex, int toIndex) {
+ throw new UnsupportedOperationException();
+ }
+
+ class Iter implements ListIterator<MotionEvent> {
+
+ private final ListIterator<MotionEvent> mIterator;
+
+ Iter(int index) {
+ this.mIterator = mMotionEvents.listIterator(index);
+ }
+
+ @Override
+ public boolean hasNext() {
+ return mIterator.hasNext();
+ }
+
+ @Override
+ public MotionEvent next() {
+ return mIterator.next();
+ }
+
+ @Override
+ public boolean hasPrevious() {
+ return mIterator.hasPrevious();
+ }
+
+ @Override
+ public MotionEvent previous() {
+ return mIterator.previous();
+ }
+
+ @Override
+ public int nextIndex() {
+ return mIterator.nextIndex();
+ }
+
+ @Override
+ public int previousIndex() {
+ return mIterator.previousIndex();
+ }
+
+ @Override
+ public void remove() {
+ mIterator.remove();
+ }
+
+ @Override
+ public void set(MotionEvent motionEvent) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void add(MotionEvent element) {
+ throw new UnsupportedOperationException();
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/TypeClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/TypeClassifier.java
new file mode 100644
index 0000000..b6ceab5
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/TypeClassifier.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+
+import static com.android.systemui.classifier.Classifier.BOUNCER_UNLOCK;
+import static com.android.systemui.classifier.Classifier.LEFT_AFFORDANCE;
+import static com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS;
+import static com.android.systemui.classifier.Classifier.NOTIFICATION_DRAG_DOWN;
+import static com.android.systemui.classifier.Classifier.PULSE_EXPAND;
+import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
+import static com.android.systemui.classifier.Classifier.RIGHT_AFFORDANCE;
+import static com.android.systemui.classifier.Classifier.UNLOCK;
+
+/**
+ * Ensure that the swipe direction generally matches that of the interaction type.
+ */
+public class TypeClassifier extends FalsingClassifier {
+ TypeClassifier(FalsingDataProvider dataProvider) {
+ super(dataProvider);
+ }
+
+ @Override
+ public boolean isFalseTouch() {
+ boolean vertical = isVertical();
+ boolean up = isUp();
+ boolean right = isRight();
+
+ switch (getInteractionType()) {
+ case QUICK_SETTINGS:
+ case PULSE_EXPAND:
+ case NOTIFICATION_DRAG_DOWN:
+ return !vertical || up;
+ case NOTIFICATION_DISMISS:
+ return vertical;
+ case UNLOCK:
+ case BOUNCER_UNLOCK:
+ return !vertical || !up;
+ case LEFT_AFFORDANCE: // Swiping from the bottom left corner for camera or similar.
+ return !right || !up;
+ case RIGHT_AFFORDANCE: // Swiping from the bottom right corner for camera or similar.
+ return right || !up;
+ default:
+ return true;
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/ZigZagClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/ZigZagClassifier.java
new file mode 100644
index 0000000..a62574f
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/ZigZagClassifier.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import android.graphics.Point;
+import android.view.MotionEvent;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Penalizes gestures that change direction in either the x or y too much.
+ */
+class ZigZagClassifier extends FalsingClassifier {
+
+ // Define how far one can move back and forth over one inch of travel before being falsed.
+ // `PRIMARY` defines how far one can deviate in the primary direction of travel. I.e. if you're
+ // swiping vertically, you shouldn't have a lot of zig zag in the vertical direction. Since
+ // most swipes will follow somewhat of a 'C' or 'S' shape, we allow more deviance along the
+ // `SECONDARY` axis.
+ private static final float MAX_X_PRIMARY_DEVIANCE = .05f;
+ private static final float MAX_Y_PRIMARY_DEVIANCE = .05f;
+ private static final float MAX_X_SECONDARY_DEVIANCE = .3f;
+ private static final float MAX_Y_SECONDARY_DEVIANCE = .3f;
+
+ ZigZagClassifier(FalsingDataProvider dataProvider) {
+ super(dataProvider);
+ }
+
+ @Override
+ boolean isFalseTouch() {
+ List<MotionEvent> motionEvents = getRecentMotionEvents();
+ // Rotate horizontal gestures to be horizontal between their first and last point.
+ // Rotate vertical gestures to be vertical between their first and last point.
+ // Sum the absolute value of every dx and dy along the gesture. Compare this with the dx
+ // and dy
+ // between the first and last point.
+ // For horizontal lines, the difference in the x direction should be small.
+ // For vertical lines, the difference in the y direction should be small.
+
+ if (motionEvents.size() < 3) {
+ return false;
+ }
+
+ List<Point> rotatedPoints;
+ if (isHorizontal()) {
+ rotatedPoints = rotateHorizontal();
+ } else {
+ rotatedPoints = rotateVertical();
+ }
+
+ float actualDx = Math
+ .abs(rotatedPoints.get(0).x - rotatedPoints.get(rotatedPoints.size() - 1).x);
+ float actualDy = Math
+ .abs(rotatedPoints.get(0).y - rotatedPoints.get(rotatedPoints.size() - 1).y);
+ logDebug("Actual: (" + actualDx + "," + actualDy + ")");
+ float runningAbsDx = 0;
+ float runningAbsDy = 0;
+ float pX = 0;
+ float pY = 0;
+ boolean firstLoop = true;
+ for (Point point : rotatedPoints) {
+ if (firstLoop) {
+ pX = point.x;
+ pY = point.y;
+ firstLoop = false;
+ continue;
+ }
+ runningAbsDx += Math.abs(point.x - pX);
+ runningAbsDy += Math.abs(point.y - pY);
+ pX = point.x;
+ pY = point.y;
+ logDebug("(x, y, runningAbsDx, runningAbsDy) - (" + pX + ", " + pY + ", " + runningAbsDx
+ + ", " + runningAbsDy + ")");
+ }
+
+ float devianceX = runningAbsDx - actualDx;
+ float devianceY = runningAbsDy - actualDy;
+ float distanceXIn = actualDx / getXdpi();
+ float distanceYIn = actualDy / getYdpi();
+ float totalDistanceIn = (float) Math
+ .sqrt(distanceXIn * distanceXIn + distanceYIn * distanceYIn);
+
+ float maxXDeviance;
+ float maxYDeviance;
+ if (actualDx > actualDy) {
+ maxXDeviance = MAX_X_PRIMARY_DEVIANCE * totalDistanceIn * getXdpi();
+ maxYDeviance = MAX_Y_SECONDARY_DEVIANCE * totalDistanceIn * getYdpi();
+ } else {
+ maxXDeviance = MAX_X_SECONDARY_DEVIANCE * totalDistanceIn * getXdpi();
+ maxYDeviance = MAX_Y_PRIMARY_DEVIANCE * totalDistanceIn * getYdpi();
+ }
+
+ logDebug("Straightness Deviance: (" + devianceX + "," + devianceY + ") vs "
+ + "(" + maxXDeviance + "," + maxYDeviance + ")");
+ return devianceX > maxXDeviance || devianceY > maxYDeviance;
+ }
+
+ private float getAtan2LastPoint() {
+ MotionEvent firstEvent = getFirstMotionEvent();
+ MotionEvent lastEvent = getLastMotionEvent();
+ float offsetX = firstEvent.getX();
+ float offsetY = firstEvent.getY();
+ float lastX = lastEvent.getX() - offsetX;
+ float lastY = lastEvent.getY() - offsetY;
+
+ return (float) Math.atan2(lastY, lastX);
+ }
+
+ private List<Point> rotateVertical() {
+ // Calculate the angle relative to the y axis.
+ double angle = Math.PI / 2 - getAtan2LastPoint();
+ logDebug("Rotating to vertical by: " + angle);
+ return rotateMotionEvents(getRecentMotionEvents(), -angle);
+ }
+
+ private List<Point> rotateHorizontal() {
+ // Calculate the angle relative to the x axis.
+ double angle = getAtan2LastPoint();
+ logDebug("Rotating to horizontal by: " + angle);
+ return rotateMotionEvents(getRecentMotionEvents(), angle);
+ }
+
+ private List<Point> rotateMotionEvents(List<MotionEvent> motionEvents, double angle) {
+ List<Point> points = new ArrayList<>();
+ double cosAngle = Math.cos(angle);
+ double sinAngle = Math.sin(angle);
+ MotionEvent firstEvent = motionEvents.get(0);
+ float offsetX = firstEvent.getX();
+ float offsetY = firstEvent.getY();
+ for (MotionEvent motionEvent : motionEvents) {
+ float x = motionEvent.getX() - offsetX;
+ float y = motionEvent.getY() - offsetY;
+ double rotatedX = cosAngle * x + sinAngle * y + offsetX;
+ double rotatedY = -sinAngle * x + cosAngle * y + offsetY;
+ points.add(new Point((int) rotatedX, (int) rotatedY));
+ }
+
+ MotionEvent lastEvent = motionEvents.get(motionEvents.size() - 1);
+ Point firstPoint = points.get(0);
+ Point lastPoint = points.get(points.size() - 1);
+ logDebug(
+ "Before: (" + firstEvent.getX() + "," + firstEvent.getY() + "), ("
+ + lastEvent.getX() + ","
+ + lastEvent.getY() + ")");
+ logDebug(
+ "After: (" + firstPoint.x + "," + firstPoint.y + "), (" + lastPoint.x + ","
+ + lastPoint.y
+ + ")");
+
+ return points;
+ }
+
+}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeAuthRemover.java b/packages/SystemUI/src/com/android/systemui/doze/DozeAuthRemover.java
new file mode 100644
index 0000000..e6a9e47
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeAuthRemover.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2019 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.systemui.doze;
+
+import android.content.Context;
+
+import com.android.keyguard.KeyguardUpdateMonitor;
+
+/**
+ * Controls removing Keyguard authorization when the phone goes to sleep.
+ */
+public class DozeAuthRemover implements DozeMachine.Part {
+
+ KeyguardUpdateMonitor mKeyguardUpdateMonitor;
+
+ public DozeAuthRemover(Context context) {
+ mKeyguardUpdateMonitor = KeyguardUpdateMonitor.getInstance(context);
+ }
+
+ @Override
+ public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) {
+ if (newState == DozeMachine.State.DOZE || newState == DozeMachine.State.DOZE_AOD) {
+ int currentUser = KeyguardUpdateMonitor.getCurrentUser();
+ if (mKeyguardUpdateMonitor.getUserUnlockedWithBiometric(currentUser)) {
+ mKeyguardUpdateMonitor.clearBiometricRecognized();
+ }
+ }
+ }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java
index 3c6dc73..1d7e9ea 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java
@@ -43,6 +43,7 @@
private final DockManager mDockManager;
private int mDockState = DockManager.STATE_NONE;
+ private boolean mPulsePending;
public DozeDockHandler(Context context, DozeMachine machine, DozeHost dozeHost,
AmbientDisplayConfiguration config, Handler handler, DockManager dockManager) {
@@ -66,7 +67,8 @@
}
// continue below
case DOZE:
- if (mDockState == DockManager.STATE_DOCKED) {
+ if (mDockState == DockManager.STATE_DOCKED && !mPulsePending) {
+ mPulsePending = true;
mHandler.post(() -> requestPulse(newState));
}
break;
@@ -79,11 +81,10 @@
}
private void requestPulse(State dozeState) {
- if (mDozeHost.isPulsingBlocked() || !dozeState.canPulse()) {
- return;
+ if (!mDozeHost.isPulsingBlocked() && dozeState.canPulse()) {
+ mMachine.requestPulse(DozeLog.PULSE_REASON_DOCKING);
}
-
- mMachine.requestPulse(DozeLog.PULSE_REASON_DOCKING);
+ mPulsePending = false;
}
private void requestPulseOutNow(State dozeState) {
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
index 8694d2a..fc3d1a5 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeFactory.java
@@ -71,7 +71,8 @@
createDozeScreenBrightness(context, wrappedService, sensorManager, host, params,
handler),
new DozeWallpaperState(context),
- new DozeDockHandler(context, machine, host, config, handler, dockManager)
+ new DozeDockHandler(context, machine, host, config, handler, dockManager),
+ new DozeAuthRemover(dozeService)
});
return machine;
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
index 0205bbf..0635231 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardSliceProvider.java
@@ -105,15 +105,19 @@
private final AlarmManager.OnAlarmListener mUpdateNextAlarm = this::updateNextAlarm;
private final HashSet<Integer> mMediaInvisibleStates;
private final Object mMediaToken = new Object();
- private SettableWakeLock mMediaWakeLock;
- private ZenModeController mZenModeController;
+ @VisibleForTesting
+ protected SettableWakeLock mMediaWakeLock;
+ @VisibleForTesting
+ protected ZenModeController mZenModeController;
private String mDatePattern;
private DateFormat mDateFormat;
private String mLastText;
private boolean mRegistered;
private String mNextAlarm;
private NextAlarmController mNextAlarmController;
+ @VisibleForTesting
protected AlarmManager mAlarmManager;
+ @VisibleForTesting
protected ContentResolver mContentResolver;
private AlarmManager.AlarmClockInfo mNextAlarmInfo;
private PendingIntent mPendingIntent;
@@ -303,22 +307,44 @@
@Override
public boolean onCreateSliceProvider() {
- mAlarmManager = getContext().getSystemService(AlarmManager.class);
- mContentResolver = getContext().getContentResolver();
- mNextAlarmController = new NextAlarmControllerImpl(getContext());
- mNextAlarmController.addCallback(this);
- mZenModeController = new ZenModeControllerImpl(getContext(), mHandler);
- mZenModeController.addCallback(this);
- mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern);
- mPendingIntent = PendingIntent.getActivity(getContext(), 0, new Intent(), 0);
- mMediaWakeLock = new SettableWakeLock(WakeLock.createPartial(getContext(), "media"),
- "media");
- KeyguardSliceProvider.sInstance = this;
- registerClockUpdate();
- updateClockLocked();
+ synchronized (this) {
+ KeyguardSliceProvider oldInstance = KeyguardSliceProvider.sInstance;
+ if (oldInstance != null) {
+ oldInstance.onDestroy();
+ }
+
+ mAlarmManager = getContext().getSystemService(AlarmManager.class);
+ mContentResolver = getContext().getContentResolver();
+ mNextAlarmController = new NextAlarmControllerImpl(getContext());
+ mNextAlarmController.addCallback(this);
+ mZenModeController = new ZenModeControllerImpl(getContext(), mHandler);
+ mZenModeController.addCallback(this);
+ mDatePattern = getContext().getString(R.string.system_ui_aod_date_pattern);
+ mPendingIntent = PendingIntent.getActivity(getContext(), 0, new Intent(), 0);
+ mMediaWakeLock = new SettableWakeLock(WakeLock.createPartial(getContext(), "media"),
+ "media");
+ KeyguardSliceProvider.sInstance = this;
+ registerClockUpdate();
+ updateClockLocked();
+ }
return true;
}
+ @VisibleForTesting
+ protected void onDestroy() {
+ synchronized (this) {
+ mNextAlarmController.removeCallback(this);
+ mZenModeController.removeCallback(this);
+ mMediaWakeLock.setAcquired(false);
+ mAlarmManager.cancel(mUpdateNextAlarm);
+ if (mRegistered) {
+ mRegistered = false;
+ getKeyguardUpdateMonitor().removeCallback(mKeyguardUpdateMonitorCallback);
+ getContext().unregisterReceiver(mIntentReceiver);
+ }
+ }
+ }
+
@Override
public void onZenChanged(int zen) {
notifyChange();
@@ -356,7 +382,8 @@
* Registers a broadcast receiver for clock updates, include date, time zone and manually
* changing the date/time via the settings app.
*/
- private void registerClockUpdate() {
+ @VisibleForTesting
+ protected void registerClockUpdate() {
synchronized (this) {
if (mRegistered) {
return;
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
index cc30fc8..d7ca4d0 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java
@@ -1800,6 +1800,10 @@
if (mStatusBarKeyguardViewManager.isUnlockWithWallpaper()) {
flags |= WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER;
}
+ if (mStatusBarKeyguardViewManager.shouldSubtleWindowAnimationsForUnlock()) {
+ flags |= WindowManagerPolicyConstants
+ .KEYGUARD_GOING_AWAY_FLAG_SUBTLE_WINDOW_ANIMATIONS;
+ }
mUpdateMonitor.setKeyguardGoingAway(true /* goingAway */);
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
index e22a21a..991d9fa 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java
@@ -244,7 +244,9 @@
private void emptyAndInflateOrRemovePages() {
final int nTiles = mTiles.size();
- int numPages = nTiles / mPages.get(0).maxTiles();
+ // We should always have at least one page, even if it's empty.
+ int numPages = Math.max(nTiles / mPages.get(0).maxTiles(), 1);
+
// Add one more not full page if needed
numPages += (nTiles % mPages.get(0).maxTiles() == 0 ? 0 : 1);
@@ -434,11 +436,14 @@
}
public boolean isFull() {
- return mRecords.size() >= mColumns * mRows;
+ return mRecords.size() >= maxTiles();
}
public int maxTiles() {
- return mColumns * mRows;
+ // Each page should be able to hold at least one tile. If there's not enough room to
+ // show even 1 or there are no tiles, it probably means we are in the middle of setting
+ // up.
+ return Math.max(mColumns * mRows, 1);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
index af7de0e6..fed59a5 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java
@@ -261,12 +261,19 @@
}
}
mCurrentUser = currentUser;
+ List<String> currentSpecs = new ArrayList(mTileSpecs);
mTileSpecs.clear();
mTileSpecs.addAll(tileSpecs);
mTiles.clear();
mTiles.putAll(newTiles);
- for (int i = 0; i < mCallbacks.size(); i++) {
- mCallbacks.get(i).onTilesChanged();
+ if (newTiles.isEmpty() && !tileSpecs.isEmpty()) {
+ // If we didn't manage to create any tiles, set it to empty (default)
+ if (DEBUG) Log.d(TAG, "No valid tiles on tuning changed. Setting to default.");
+ changeTiles(currentSpecs, loadTileSpecs(mContext, ""));
+ } else {
+ for (int i = 0; i < mCallbacks.size(); i++) {
+ mCallbacks.get(i).onTilesChanged();
+ }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
index e5caf68..99f9e99 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
@@ -746,6 +746,8 @@
try {
if (mOverviewProxy != null) {
mOverviewProxy.onAssistantVisibilityChanged(visibility);
+ } else {
+ Log.e(TAG_OPS, "Failed to get overview proxy for assistant visibility.");
}
} catch (RemoteException e) {
Log.e(TAG_OPS, "Failed to call onAssistantVisibilityChanged()", e);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java
index 04534ba..164215b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CrossFadeHelper.java
@@ -28,6 +28,10 @@
public class CrossFadeHelper {
public static final long ANIMATION_DURATION_LENGTH = 210;
+ public static void fadeOut(final View view) {
+ fadeOut(view, null);
+ }
+
public static void fadeOut(final View view, final Runnable endRunnable) {
fadeOut(view, ANIMATION_DURATION_LENGTH, 0, endRunnable);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java
index 3f1ff33..4597b16 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java
@@ -43,7 +43,6 @@
private static final String HEADS_UP_STATUS_BAR_VIEW_SUPER_PARCELABLE =
"heads_up_status_bar_view_super_parcelable";
private static final String FIRST_LAYOUT = "first_layout";
- private static final String PUBLIC_MODE = "public_mode";
private static final String VISIBILITY = "visibility";
private static final String ALPHA = "alpha";
private int mAbsoluteStartPadding;
@@ -54,7 +53,6 @@
private Rect mLayoutedIconRect = new Rect();
private int[] mTmpPosition = new int[2];
private boolean mFirstLayout = true;
- private boolean mPublicMode;
private int mMaxWidth;
private View mRootView;
private int mSysWinInset;
@@ -121,7 +119,6 @@
bundle.putParcelable(HEADS_UP_STATUS_BAR_VIEW_SUPER_PARCELABLE,
super.onSaveInstanceState());
bundle.putBoolean(FIRST_LAYOUT, mFirstLayout);
- bundle.putBoolean(PUBLIC_MODE, mPublicMode);
bundle.putInt(VISIBILITY, getVisibility());
bundle.putFloat(ALPHA, getAlpha());
@@ -139,7 +136,6 @@
Parcelable superState = bundle.getParcelable(HEADS_UP_STATUS_BAR_VIEW_SUPER_PARCELABLE);
super.onRestoreInstanceState(superState);
mFirstLayout = bundle.getBoolean(FIRST_LAYOUT, true);
- mPublicMode = bundle.getBoolean(PUBLIC_MODE, false);
if (bundle.containsKey(VISIBILITY)) {
setVisibility(bundle.getInt(VISIBILITY));
}
@@ -166,11 +162,13 @@
if (entry != null) {
mShowingEntry = entry;
CharSequence text = entry.headsUpStatusBarText;
- if (mPublicMode) {
+ if (entry.isSensitive()) {
text = entry.headsUpStatusBarTextPublic;
}
mTextView.setText(text);
- } else {
+ mShowingEntry.setOnSensitiveChangedListener(() -> setEntry(entry));
+ } else if (mShowingEntry != null){
+ mShowingEntry.setOnSensitiveChangedListener(null);
mShowingEntry = null;
}
}
@@ -273,10 +271,6 @@
mTextView.setTextColor(DarkIconDispatcher.getTint(area, this, tint));
}
- public void setPublicMode(boolean publicMode) {
- mPublicMode = publicMode;
- }
-
public void setOnDrawingRectChangedListener(Runnable onDrawingRectChangedListener) {
mOnDrawingRectChangedListener = onDrawingRectChangedListener;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index 6d6f074..4be93df 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -81,6 +81,7 @@
private static final int MSG_CLEAR_BIOMETRIC_MSG = 2;
private static final int MSG_SWIPE_UP_TO_UNLOCK = 3;
private static final long TRANSIENT_BIOMETRIC_ERROR_TIMEOUT = 1300;
+ private static final float BOUNCE_ANIMATION_FINAL_Y = 0f;
private final Context mContext;
private final ShadeController mShadeController;
@@ -422,7 +423,6 @@
int animateDownDuration = mContext.getResources().getInteger(
R.integer.wired_charging_keyguard_text_animation_duration_down);
textView.animate().cancel();
- float translation = textView.getTranslationY();
ViewClippingUtil.setClippingDeactivated(textView, true, mClippingParams);
textView.animate()
.translationYBy(yTranslation)
@@ -438,7 +438,7 @@
@Override
public void onAnimationCancel(Animator animation) {
- textView.setTranslationY(translation);
+ textView.setTranslationY(BOUNCE_ANIMATION_FINAL_Y);
mCancelled = true;
}
@@ -452,15 +452,11 @@
textView.animate()
.setDuration(animateDownDuration)
.setInterpolator(Interpolators.BOUNCE)
- .translationY(translation)
+ .translationY(BOUNCE_ANIMATION_FINAL_Y)
.setListener(new AnimatorListenerAdapter() {
@Override
- public void onAnimationCancel(Animator animation) {
- textView.setTranslationY(translation);
- }
-
- @Override
public void onAnimationEnd(Animator animation) {
+ textView.setTranslationY(BOUNCE_ANIMATION_FINAL_Y);
ViewClippingUtil.setClippingDeactivated(textView, false,
mClippingParams);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
index 0048211..787cc97 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
@@ -36,7 +36,7 @@
import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.NotificationGroupManager;
import com.android.systemui.statusbar.phone.ShadeController;
-import com.android.systemui.statusbar.phone.UnlockMethodCache;
+import com.android.systemui.util.Assert;
import java.util.ArrayList;
import java.util.HashMap;
@@ -86,6 +86,9 @@
private NotificationPresenter mPresenter;
private NotificationListContainer mListContainer;
+ // Used to help track down re-entrant calls to our update methods, which will cause bugs.
+ private boolean mPerformingUpdate;
+
@Inject
public NotificationViewHierarchyManager(Context context,
NotificationLockscreenUserManager notificationLockscreenUserManager,
@@ -123,6 +126,9 @@
*/
//TODO: Rewrite this to focus on Entries, or some other data object instead of views
public void updateNotificationViews() {
+ Assert.isMainThread();
+ beginUpdate();
+
ArrayList<NotificationEntry> activeNotifications = mEntryManager.getNotificationData()
.getActiveNotifications();
ArrayList<ExpandableNotificationRow> toShow = new ArrayList<>(activeNotifications.size());
@@ -155,7 +161,7 @@
boolean deviceSensitive = devicePublic
&& !mLockscreenUserManager.userAllowsPrivateNotificationsInPublic(
currentUserId);
- ent.getRow().setSensitive(sensitive, deviceSensitive);
+ ent.setSensitive(sensitive, deviceSensitive);
ent.getRow().setNeedsRedaction(needsRedaction);
if (mGroupManager.isChildInGroupWithSummary(ent.notification)) {
NotificationEntry summary = mGroupManager.getGroupSummary(ent.notification);
@@ -248,9 +254,11 @@
// clear the map again for the next usage
mTmpChildOrderMap.clear();
- updateRowStates();
+ updateRowStatesInternal();
mListContainer.onNotificationViewUpdateFinished();
+
+ endUpdate();
}
private void addNotificationChildrenAndSort() {
@@ -334,6 +342,13 @@
* Updates expanded, dimmed and locked states of notification rows.
*/
public void updateRowStates() {
+ Assert.isMainThread();
+ beginUpdate();
+ updateRowStatesInternal();
+ endUpdate();
+ }
+
+ private void updateRowStatesInternal() {
Trace.beginSection("NotificationViewHierarchyManager#updateRowStates");
final int N = mListContainer.getContainerChildCount();
@@ -425,4 +440,18 @@
public void onDynamicPrivacyChanged() {
updateNotificationViews();
}
+
+ private void beginUpdate() {
+ if (mPerformingUpdate) {
+ throw new IllegalStateException("Re-entrant code during update.");
+ }
+ mPerformingUpdate = true;
+ }
+
+ private void endUpdate() {
+ if (!mPerformingUpdate) {
+ throw new IllegalStateException("Manager state has become desynced.");
+ }
+ mPerformingUpdate = false;
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/PulseExpansionHandler.kt b/packages/SystemUI/src/com/android/systemui/statusbar/PulseExpansionHandler.kt
index bdc4d2a..986486a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/PulseExpansionHandler.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/PulseExpansionHandler.kt
@@ -36,9 +36,12 @@
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView
+import com.android.systemui.statusbar.notification.stack.NotificationRoundnessManager
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout
+import com.android.systemui.statusbar.phone.HeadsUpManagerPhone
import com.android.systemui.statusbar.phone.KeyguardBypassController
import com.android.systemui.statusbar.phone.ShadeController
+import com.android.systemui.statusbar.policy.HeadsUpManager
import javax.inject.Inject
import javax.inject.Singleton
@@ -51,7 +54,9 @@
class PulseExpansionHandler @Inject
constructor(context: Context,
private val wakeUpCoordinator: NotificationWakeUpCoordinator,
- private val bypassController: KeyguardBypassController) : Gefingerpoken {
+ private val bypassController: KeyguardBypassController,
+ private val headsUpManager: HeadsUpManagerPhone,
+ private val roundnessManager: NotificationRoundnessManager) : Gefingerpoken {
companion object {
private val RUBBERBAND_FACTOR_STATIC = 0.25f
private val SPRING_BACK_ANIMATION_LENGTH_MS = 375
@@ -67,9 +72,20 @@
val changed = field != value
field = value
bypassController.isPulseExpanding = value
- if (changed && !value && !leavingLockscreen) {
- bypassController.maybePerformPendingUnlock()
- pulseExpandAbortListener?.run()
+ if (changed) {
+ if (value) {
+ val topEntry = headsUpManager.topEntry
+ topEntry?.let {
+ roundnessManager.setTrackingHeadsUp(it.row)
+ }
+ } else {
+ roundnessManager.setTrackingHeadsUp(null)
+ if (!leavingLockscreen) {
+ bypassController.maybePerformPendingUnlock()
+ pulseExpandAbortListener?.run()
+ }
+ }
+ headsUpManager.unpinAll(true /* userUnPinned */)
}
}
var leavingLockscreen: Boolean = false
@@ -231,7 +247,7 @@
}
private fun captureStartingChild(x: Float, y: Float) {
- if (mStartingChild == null) {
+ if (mStartingChild == null && !bypassController.bypassEnabled) {
mStartingChild = findView(x, y)
if (mStartingChild != null) {
setUserLocked(mStartingChild!!, true)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt
index 95af9fd..6a3816c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationWakeUpCoordinator.kt
@@ -38,7 +38,7 @@
class NotificationWakeUpCoordinator @Inject constructor(
private val mContext: Context,
private val mHeadsUpManagerPhone: HeadsUpManagerPhone,
- private val mStatusBarStateController: StatusBarStateController,
+ private val statusBarStateController: StatusBarStateController,
private val bypassController: KeyguardBypassController)
: OnHeadsUpChangedListener, StatusBarStateController.StateListener {
@@ -69,6 +69,8 @@
private val mDozeParameters: DozeParameters
private var pulseExpanding: Boolean = false
private val wakeUpListeners = arrayListOf<WakeUpListener>()
+ private var state: Int = StatusBarState.KEYGUARD
+
var fullyAwake: Boolean = false
var willWakeUp = false
@@ -111,14 +113,14 @@
if (bypassController.bypassEnabled) {
// We also allow pulsing on the lock screen!
canShow = canShow || (mWakingUp || willWakeUp || fullyAwake)
- && mStatusBarStateController.state == StatusBarState.KEYGUARD
+ && statusBarStateController.state == StatusBarState.KEYGUARD
}
return canShow
}
init {
mHeadsUpManagerPhone.addListener(this)
- mStatusBarStateController.addCallback(this)
+ statusBarStateController.addCallback(this)
mDozeParameters = DozeParameters.getInstance(mContext)
}
@@ -217,13 +219,21 @@
override fun onStateChanged(newState: Int) {
updateDozeAmountIfBypass();
+ if (bypassController.bypassEnabled &&
+ newState == StatusBarState.KEYGUARD && state == StatusBarState.SHADE_LOCKED
+ && (!statusBarStateController.isDozing || shouldAnimateVisibility())) {
+ // We're leaving shade locked. Let's animate the notifications away
+ setNotificationsVisible(visible = true, increaseSpeed = false, animate = false)
+ setNotificationsVisible(visible = false, increaseSpeed = false, animate = true)
+ }
+ this.state = newState
}
private fun updateDozeAmountIfBypass(): Boolean {
if (bypassController.bypassEnabled) {
var amount = 1.0f;
- if (mStatusBarStateController.state == StatusBarState.SHADE
- || mStatusBarStateController.state == StatusBarState.SHADE_LOCKED) {
+ if (statusBarStateController.state == StatusBarState.SHADE
+ || statusBarStateController.state == StatusBarState.SHADE_LOCKED) {
amount = 0.0f;
}
setDozeAmount(amount, amount)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/PropertyAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/PropertyAnimator.java
index aacb22d..fe56552 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/PropertyAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/PropertyAnimator.java
@@ -115,7 +115,20 @@
view.setTag(animationEndTag, newEndValue);
}
- public static <T extends View> boolean isAnimating(T view, AnimatableProperty property) {
- return view.getTag(property.getAnimatorTag()) != null;
+ public static <T extends View> void applyImmediately(T view, AnimatableProperty property,
+ float newValue) {
+ cancelAnimation(view, property);
+ property.getProperty().set(view, newValue);
+ }
+
+ public static void cancelAnimation(View view, AnimatableProperty property) {
+ ValueAnimator animator = (ValueAnimator) view.getTag(property.getAnimatorTag());
+ if (animator != null) {
+ animator.cancel();
+ }
+ }
+
+ public static boolean isAnimating(View view, AnimatableProperty property) {
+ return view.getTag(property.getAnimatorTag()) != null;
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
index 9184dec..9db715d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
@@ -173,6 +173,8 @@
* the lock screen/status bar and in the top section in the shade.
*/
private boolean mHighPriority;
+ private boolean mSensitive = true;
+ private Runnable mOnSensitiveChangedListener;
public NotificationEntry(StatusBarNotification n) {
this(n, null);
@@ -859,6 +861,30 @@
return Objects.equals(n.category, category);
}
+ /**
+ * Set this notification to be sensitive.
+ *
+ * @param sensitive true if the content of this notification is sensitive right now
+ * @param deviceSensitive true if the device in general is sensitive right now
+ */
+ public void setSensitive(boolean sensitive, boolean deviceSensitive) {
+ getRow().setSensitive(sensitive, deviceSensitive);
+ if (sensitive != mSensitive) {
+ mSensitive = sensitive;
+ if (mOnSensitiveChangedListener != null) {
+ mOnSensitiveChangedListener.run();
+ }
+ }
+ }
+
+ public boolean isSensitive() {
+ return mSensitive;
+ }
+
+ public void setOnSensitiveChangedListener(Runnable listener) {
+ mOnSensitiveChangedListener = listener;
+ }
+
/** Information about a suggestion that is being edited. */
public static class EditedSuggestionInfo {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
index 6d9d5ec..dca152f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
@@ -1040,6 +1040,10 @@
return false;
}
+ public int getHeadsUpHeightWithoutHeader() {
+ return getHeight();
+ }
+
public interface OnActivatedListener {
void onActivated(ActivatableNotificationView view);
void onActivationReset(ActivatableNotificationView view);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
index 0ca8814..ae534d2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
@@ -2637,7 +2637,7 @@
private int getHeadsUpHeight() {
- return getShowingLayout().getHeadsUpHeight();
+ return getShowingLayout().getHeadsUpHeight(false /* forceNoHeader */);
}
public boolean areGutsExposed() {
@@ -2775,6 +2775,17 @@
}
@Override
+ public int getHeadsUpHeightWithoutHeader() {
+ if (!canShowHeadsUp() || !mIsHeadsUp) {
+ return getCollapsedHeight();
+ }
+ if (mIsSummaryWithChildren && !shouldShowPublic()) {
+ return mChildrenContainer.getCollapsedHeightWithoutHeader();
+ }
+ return getShowingLayout().getHeadsUpHeight(true /* forceNoHeader */);
+ }
+
+ @Override
public void setClipTopAmount(int clipTopAmount) {
super.setClipTopAmount(clipTopAmount);
for (NotificationContentView l : mLayouts) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
index d6b7cf3..90f6324 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java
@@ -713,11 +713,15 @@
}
private int getViewHeight(int visibleType) {
+ return getViewHeight(visibleType, false /* forceNoHeader */);
+ }
+
+ private int getViewHeight(int visibleType, boolean forceNoHeader) {
View view = getViewForVisibleType(visibleType);
int height = view.getHeight();
NotificationViewWrapper viewWrapper = getWrapperForView(view);
if (viewWrapper != null) {
- height += viewWrapper.getHeaderTranslation();
+ height += viewWrapper.getHeaderTranslation(forceNoHeader);
}
return height;
}
@@ -1748,14 +1752,15 @@
return getViewHeight(viewType) + getExtraRemoteInputHeight(mExpandedRemoteInput);
}
- public int getHeadsUpHeight() {
+ public int getHeadsUpHeight(boolean forceNoHeader) {
int viewType = VISIBLE_TYPE_HEADSUP;
if (mHeadsUpChild == null) {
viewType = VISIBLE_TYPE_CONTRACTED;
}
// The headsUp remote input quickly switches to the expanded one, so lets also include that
// one
- return getViewHeight(viewType) + getExtraRemoteInputHeight(mHeadsUpRemoteInput)
+ return getViewHeight(viewType, forceNoHeader)
+ + getExtraRemoteInputHeight(mHeadsUpRemoteInput)
+ getExtraRemoteInputHeight(mExpandedRemoteInput);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java
index 7ebdb93..97d8443 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java
@@ -51,7 +51,7 @@
*/
public class NotificationTemplateViewWrapper extends NotificationHeaderViewWrapper {
- private final int mTranslationForHeader;
+ private final int mFullHeaderTranslation;
protected ImageView mPicture;
private ProgressBar mProgressBar;
private TextView mTitle;
@@ -135,7 +135,7 @@
}
}, TRANSFORMING_VIEW_TEXT);
- mTranslationForHeader = ctx.getResources().getDimensionPixelSize(
+ mFullHeaderTranslation = ctx.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.notification_content_margin)
- ctx.getResources().getDimensionPixelSize(
com.android.internal.R.dimen.notification_content_margin_top);
@@ -340,20 +340,20 @@
// We also need to compensate for any header translation, since we're always at the end.
mActionsContainer.setTranslationY(constrainedContentHeight - mView.getHeight()
- - getHeaderTranslation());
+ - getHeaderTranslation(false /* forceNoHeader */));
}
}
@Override
- public int getHeaderTranslation() {
- return (int) mHeaderTranslation;
+ public int getHeaderTranslation(boolean forceNoHeader) {
+ return forceNoHeader ? mFullHeaderTranslation : (int) mHeaderTranslation;
}
@Override
public void setHeaderVisibleAmount(float headerVisibleAmount) {
super.setHeaderVisibleAmount(headerVisibleAmount);
mNotificationHeader.setAlpha(headerVisibleAmount);
- mHeaderTranslation = (1.0f - headerVisibleAmount) * mTranslationForHeader;
+ mHeaderTranslation = (1.0f - headerVisibleAmount) * mFullHeaderTranslation;
mView.setTranslationY(mHeaderTranslation);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
index 3808702..47906a7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationViewWrapper.java
@@ -224,7 +224,7 @@
return null;
}
- public int getHeaderTranslation() {
+ public int getHeaderTranslation(boolean forceNoHeader) {
return 0;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
index 1242431..45f7b3a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainer.java
@@ -1067,6 +1067,11 @@
false /* likeHighPriority */);
}
+ public int getCollapsedHeightWithoutHeader() {
+ return getMinHeight(getMaxAllowedVisibleChildren(true /* forceCollapsed */),
+ false /* likeHighPriority */, 0);
+ }
+
/**
* Get the minimum Height for this group.
*
@@ -1074,10 +1079,22 @@
* @param likeHighPriority if the height should be calculated as if it were not low priority
*/
private int getMinHeight(int maxAllowedVisibleChildren, boolean likeHighPriority) {
+ return getMinHeight(maxAllowedVisibleChildren, likeHighPriority, mCurrentHeaderTranslation);
+ }
+
+ /**
+ * Get the minimum Height for this group.
+ *
+ * @param maxAllowedVisibleChildren the number of children that should be visible
+ * @param likeHighPriority if the height should be calculated as if it were not low priority
+ * @param headerTranslation the translation amount of the header
+ */
+ private int getMinHeight(int maxAllowedVisibleChildren, boolean likeHighPriority,
+ int headerTranslation) {
if (!likeHighPriority && showingAsLowPriority()) {
return mNotificationHeaderLowPriority.getHeight();
}
- int minExpandHeight = mNotificationHeaderMargin + mCurrentHeaderTranslation;
+ int minExpandHeight = mNotificationHeaderMargin + headerTranslation;
int visibleChildren = 0;
boolean firstChild = true;
int childCount = mChildren.size();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java
index d8ccd3a..4221846 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManager.java
@@ -18,10 +18,14 @@
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.NUM_SECTIONS;
+
+import android.util.MathUtils;
+
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ActivatableNotificationView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
+import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import java.util.HashSet;
@@ -33,12 +37,13 @@
* A class that manages the roundness for notification views
*/
@Singleton
-class NotificationRoundnessManager implements OnHeadsUpChangedListener {
+public class NotificationRoundnessManager implements OnHeadsUpChangedListener {
private final ActivatableNotificationView[] mFirstInSectionViews;
private final ActivatableNotificationView[] mLastInSectionViews;
private final ActivatableNotificationView[] mTmpFirstInSectionViews;
private final ActivatableNotificationView[] mTmpLastInSectionViews;
+ private final KeyguardBypassController mBypassController;
private boolean mExpanded;
private HashSet<ExpandableView> mAnimatedChildren;
private Runnable mRoundingChangedCallback;
@@ -46,11 +51,12 @@
private float mAppearFraction;
@Inject
- NotificationRoundnessManager() {
+ NotificationRoundnessManager(KeyguardBypassController keyguardBypassController) {
mFirstInSectionViews = new ActivatableNotificationView[NUM_SECTIONS];
mLastInSectionViews = new ActivatableNotificationView[NUM_SECTIONS];
mTmpFirstInSectionViews = new ActivatableNotificationView[NUM_SECTIONS];
mTmpLastInSectionViews = new ActivatableNotificationView[NUM_SECTIONS];
+ mBypassController = keyguardBypassController;
}
@Override
@@ -124,18 +130,18 @@
if ((view.isPinned() || view.isHeadsUpAnimatingAway()) && !mExpanded) {
return 1.0f;
}
- if (view.showingPulsing()) {
- return 1.0f;
- }
if (isFirstInSection(view, true /* include first section */) && top) {
return 1.0f;
}
if (isLastInSection(view, true /* include last section */) && !top) {
return 1.0f;
}
- if (view == mTrackedHeadsUp && mAppearFraction <= 0.0f) {
+ if (view == mTrackedHeadsUp) {
// If we're pushing up on a headsup the appear fraction is < 0 and it needs to still be
// rounded.
+ return MathUtils.saturate(1.0f - mAppearFraction);
+ }
+ if (view.showingPulsing() && !mBypassController.getBypassEnabled()) {
return 1.0f;
}
return 0.0f;
@@ -232,6 +238,10 @@
}
public void setTrackingHeadsUp(ExpandableNotificationRow row) {
+ ExpandableNotificationRow previous = mTrackedHeadsUp;
mTrackedHeadsUp = row;
+ if (previous != null) {
+ updateView(previous, true /* animate */);
+ }
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index 2e58add..097f92c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -141,6 +141,7 @@
import com.android.systemui.statusbar.policy.HeadsUpUtil;
import com.android.systemui.statusbar.policy.ScrollAdapter;
import com.android.systemui.tuner.TunerService;
+import com.android.systemui.util.Assert;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -465,12 +466,10 @@
private int mCornerRadius;
private int mSidePaddings;
private final Rect mBackgroundAnimationRect = new Rect();
- private int mAntiBurnInOffsetX;
private ArrayList<BiConsumer<Float, Float>> mExpandedHeightListeners = new ArrayList<>();
private int mHeadsUpInset;
private HeadsUpAppearanceController mHeadsUpAppearanceController;
private NotificationIconAreaController mIconAreaController;
- private float mHorizontalPanelTranslation;
private final NotificationLockscreenUserManager mLockscreenUserManager =
Dependency.get(NotificationLockscreenUserManager.class);
private final Rect mTmpRect = new Rect();
@@ -499,6 +498,8 @@
mNotificationGutsManager = Dependency.get(NotificationGutsManager.class);
private final NotificationSectionsManager mSectionsManager;
private boolean mAnimateBottomOnLayout;
+ private float mLastSentAppear;
+ private float mLastSentExpandedHeight;
@Inject
public NotificationStackScrollLayout(
@@ -560,13 +561,13 @@
res.getBoolean(R.bool.config_fadeNotificationsOnDismiss);
mRoundnessManager.setAnimatedChildren(mChildrenToAddAnimated);
mRoundnessManager.setOnRoundingChangedCallback(this::invalidate);
- addOnExpandedHeightListener(mRoundnessManager::setExpanded);
+ addOnExpandedHeightChangedListener(mRoundnessManager::setExpanded);
setOutlineProvider(mOutlineProvider);
// Blocking helper manager wants to know the expanded state, update as well.
NotificationBlockingHelperManager blockingHelperManager =
Dependency.get(NotificationBlockingHelperManager.class);
- addOnExpandedHeightListener((height, unused) -> {
+ addOnExpandedHeightChangedListener((height, unused) -> {
blockingHelperManager.setNotificationShadeExpanded(height);
});
@@ -633,7 +634,11 @@
public float getWakeUpHeight() {
ActivatableNotificationView firstChild = getFirstChildWithBackground();
if (firstChild != null) {
- return firstChild.getCollapsedHeight();
+ if (mKeyguardBypassController.getBypassEnabled()) {
+ return firstChild.getHeadsUpHeightWithoutHeader();
+ } else {
+ return firstChild.getCollapsedHeight();
+ }
}
return 0f;
}
@@ -1305,7 +1310,7 @@
stackHeight = (int) height;
}
} else {
- appearFraction = getAppearFraction(height);
+ appearFraction = calculateAppearFraction(height);
if (appearFraction >= 0) {
translationY = NotificationUtils.interpolate(getExpandTranslationStart(), 0,
appearFraction);
@@ -1328,9 +1333,26 @@
requestChildrenUpdate();
}
setStackTranslation(translationY);
- for (int i = 0; i < mExpandedHeightListeners.size(); i++) {
- BiConsumer<Float, Float> listener = mExpandedHeightListeners.get(i);
- listener.accept(mExpandedHeight, appearFraction);
+ notifyAppearChangedListeners();
+ }
+
+ private void notifyAppearChangedListeners() {
+ float appear;
+ float expandAmount;
+ if (mKeyguardBypassController.getBypassEnabled() && onKeyguard()) {
+ appear = calculateAppearFractionBypass();
+ expandAmount = getPulseHeight();
+ } else {
+ appear = MathUtils.saturate(calculateAppearFraction(mExpandedHeight));
+ expandAmount = mExpandedHeight;
+ }
+ if (appear != mLastSentAppear || expandAmount != mLastSentExpandedHeight) {
+ mLastSentAppear = appear;
+ mLastSentExpandedHeight = expandAmount;
+ for (int i = 0; i < mExpandedHeightListeners.size(); i++) {
+ BiConsumer<Float, Float> listener = mExpandedHeightListeners.get(i);
+ listener.accept(expandAmount, appear);
+ }
}
}
@@ -1452,7 +1474,7 @@
* @return the fraction of the appear animation that has been performed
*/
@ShadeViewRefactor(RefactorComponent.COORDINATOR)
- public float getAppearFraction(float height) {
+ public float calculateAppearFraction(float height) {
float appearEndPosition = getAppearEndPosition();
float appearStartPosition = getAppearStartPosition();
return (height - appearStartPosition)
@@ -2855,6 +2877,7 @@
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
public void setChildTransferInProgress(boolean childTransferInProgress) {
+ Assert.isMainThread();
mChildTransferInProgress = childTransferInProgress;
}
@@ -3298,6 +3321,11 @@
@Override
@ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
public void changeViewPosition(ExpandableView child, int newIndex) {
+ Assert.isMainThread();
+ if (mChangePositionInProgress) {
+ throw new IllegalStateException("Reentrant call to changeViewPosition");
+ }
+
int currentIndex = indexOfChild(child);
if (currentIndex == -1) {
@@ -4700,17 +4728,6 @@
notifyHeightChangeListener(mShelf);
}
- @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
- private void updatePanelTranslation() {
- setTranslationX(mHorizontalPanelTranslation + mAntiBurnInOffsetX * mInterpolatedHideAmount);
- }
-
- @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
- public void setHorizontalPanelTranslation(float verticalPanelTranslation) {
- mHorizontalPanelTranslation = verticalPanelTranslation;
- updatePanelTranslation();
- }
-
/**
* Sets the current hide amount.
*
@@ -4740,7 +4757,6 @@
}
updateAlgorithmHeightAndPadding();
updateBackgroundDimming();
- updatePanelTranslation();
requestChildrenUpdate();
}
@@ -4992,12 +5008,14 @@
@Override
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
public void removeContainerView(View v) {
+ Assert.isMainThread();
removeView(v);
}
@Override
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
public void addContainerView(View v) {
+ Assert.isMainThread();
addView(v);
}
@@ -5232,7 +5250,7 @@
boolean publicMode = mLockscreenUserManager.isAnyProfilePublicMode();
if (mHeadsUpAppearanceController != null) {
- mHeadsUpAppearanceController.setPublicMode(publicMode);
+ mHeadsUpAppearanceController.onStateChanged();
}
SysuiStatusBarStateController state = (SysuiStatusBarStateController)
@@ -5288,12 +5306,6 @@
}
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
- public void setAntiBurnInOffsetX(int antiBurnInOffsetX) {
- mAntiBurnInOffsetX = antiBurnInOffsetX;
- updatePanelTranslation();
- }
-
- @ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
pw.println(String.format("[%s: pulsing=%s qsCustomizerShowing=%s visibility=%s"
+ " alpha:%f scrollY:%d maxTopPadding:%d showShelfOnly=%s"
@@ -5351,13 +5363,13 @@
}
/**
- * Add a listener whenever the expanded height changes. The first value passed as an argument
- * is the expanded height and the second one is the appearFraction.
+ * Add a listener whenever the expanded height changes. The first value passed as an
+ * argument is the expanded height and the second one is the appearFraction.
*
* @param listener the listener to notify.
*/
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
- public void addOnExpandedHeightListener(BiConsumer<Float, Float> listener) {
+ public void addOnExpandedHeightChangedListener(BiConsumer<Float, Float> listener) {
mExpandedHeightListeners.add(listener);
}
@@ -5365,7 +5377,7 @@
* Stop a listener from listening to the expandedHeight.
*/
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
- public void removeOnExpandedHeightListener(BiConsumer<Float, Float> listener) {
+ public void removeOnExpandedHeightChangedListener(BiConsumer<Float, Float> listener) {
mExpandedHeightListeners.remove(listener);
}
@@ -5586,6 +5598,9 @@
*/
public float setPulseHeight(float height) {
mAmbientState.setPulseHeight(height);
+ if (mKeyguardBypassController.getBypassEnabled()) {
+ notifyAppearChangedListeners();
+ }
requestChildrenUpdate();
return Math.max(0, height - mAmbientState.getInnerHeight(true /* ignorePulseHeight */));
}
@@ -5645,6 +5660,16 @@
mAmbientState.setOnPulseHeightChangedListener(listener);
}
+ public float calculateAppearFractionBypass() {
+ float pulseHeight = getPulseHeight();
+ float wakeUpHeight = getWakeUpHeight();
+ float dragDownAmount = pulseHeight - wakeUpHeight;
+
+ // The total distance required to fully reveal the header
+ float totalDistance = getIntrinsicPadding();
+ return MathUtils.smoothStep(0, totalDistance, dragDownAmount);
+ }
+
/**
* A listener that is notified when the empty space below the notifications is clicked on
*/
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java
index 8dd324b..4dfc343 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationSwipeHelper.java
@@ -23,7 +23,6 @@
import android.graphics.Rect;
import android.os.Handler;
import android.service.notification.StatusBarNotification;
-import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
@@ -313,8 +312,6 @@
public void setTranslation(View v, float translate) {
if (v instanceof ExpandableNotificationRow) {
((ExpandableNotificationRow) v).setTranslation(translate);
- } else {
- Log.wtf(TAG, "setTranslation should only be called on an ExpandableNotificationRow.");
}
}
@@ -324,7 +321,6 @@
return ((ExpandableNotificationRow) v).getTranslation();
}
else {
- Log.wtf(TAG, "getTranslation should only be called on an ExpandableNotificationRow.");
return 0f;
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
index 9f2f1ce..4f169eb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
@@ -61,6 +61,7 @@
public static final int DELAY_EFFECT_MAX_INDEX_DIFFERENCE = 2;
public static final int ANIMATION_DELAY_HEADS_UP = 120;
public static final int ANIMATION_DELAY_HEADS_UP_CLICKED= 120;
+ private static final int MAX_STAGGER_COUNT = 5;
private final int mGoToFullShadeAppearingTranslation;
private final int mPulsingAppearingTranslation;
@@ -78,8 +79,6 @@
private long mCurrentLength;
private long mCurrentAdditionalDelay;
- /** The current index for the last child which was not added in this event set. */
- private int mCurrentLastNotAddedIndex;
private ValueAnimator mTopOverScrollAnimator;
private ValueAnimator mBottomOverScrollAnimator;
private int mHeadsUpAppearHeightBottom;
@@ -137,7 +136,8 @@
mAnimationFilter.applyCombination(mNewEvents);
mCurrentAdditionalDelay = additionalDelay;
mCurrentLength = NotificationStackScrollLayout.AnimationEvent.combineLength(mNewEvents);
- mCurrentLastNotAddedIndex = findLastNotAddedIndex();
+ // Used to stagger concurrent animations' delays and durations for visual effect
+ int animationStaggerCount = 0;
for (int i = 0; i < childCount; i++) {
final ExpandableView child = (ExpandableView) mHostLayout.getChildAt(i);
@@ -147,7 +147,10 @@
continue;
}
- initAnimationProperties(child, viewState);
+ if (mAnimationProperties.wasAdded(child) && animationStaggerCount < MAX_STAGGER_COUNT) {
+ animationStaggerCount++;
+ }
+ initAnimationProperties(child, viewState, animationStaggerCount);
viewState.animateTo(child, mAnimationProperties);
}
if (!isRunning()) {
@@ -161,10 +164,10 @@
}
private void initAnimationProperties(ExpandableView child,
- ExpandableViewState viewState) {
+ ExpandableViewState viewState, int animationStaggerCount) {
boolean wasAdded = mAnimationProperties.wasAdded(child);
mAnimationProperties.duration = mCurrentLength;
- adaptDurationWhenGoingToFullShade(child, viewState, wasAdded);
+ adaptDurationWhenGoingToFullShade(child, viewState, wasAdded, animationStaggerCount);
mAnimationProperties.delay = 0;
if (wasAdded || mAnimationFilter.hasDelays
&& (viewState.yTranslation != child.getTranslationY()
@@ -173,16 +176,15 @@
|| viewState.height != child.getActualHeight()
|| viewState.clipTopAmount != child.getClipTopAmount())) {
mAnimationProperties.delay = mCurrentAdditionalDelay
- + calculateChildAnimationDelay(viewState);
+ + calculateChildAnimationDelay(viewState, animationStaggerCount);
}
}
private void adaptDurationWhenGoingToFullShade(ExpandableView child,
- ExpandableViewState viewState, boolean wasAdded) {
+ ExpandableViewState viewState, boolean wasAdded, int animationStaggerCount) {
if (wasAdded && mAnimationFilter.hasGoToFullShadeEvent) {
child.setTranslationY(child.getTranslationY() + mGoToFullShadeAppearingTranslation);
- float longerDurationFactor = viewState.notGoneIndex - mCurrentLastNotAddedIndex;
- longerDurationFactor = (float) Math.pow(longerDurationFactor, 0.7f);
+ float longerDurationFactor = (float) Math.pow(animationStaggerCount, 0.7f);
mAnimationProperties.duration = ANIMATION_DURATION_APPEAR_DISAPPEAR + 50 +
(long) (100 * longerDurationFactor);
}
@@ -213,25 +215,10 @@
return true;
}
- private int findLastNotAddedIndex() {
- int childCount = mHostLayout.getChildCount();
- for (int i = childCount - 1; i >= 0; i--) {
- final ExpandableView child = (ExpandableView) mHostLayout.getChildAt(i);
-
- ExpandableViewState viewState = child.getViewState();
- if (viewState == null || child.getVisibility() == View.GONE) {
- continue;
- }
- if (!mNewAddChildren.contains(child)) {
- return viewState.notGoneIndex;
- }
- }
- return -1;
- }
-
- private long calculateChildAnimationDelay(ExpandableViewState viewState) {
+ private long calculateChildAnimationDelay(ExpandableViewState viewState,
+ int animationStaggerCount) {
if (mAnimationFilter.hasGoToFullShadeEvent) {
- return calculateDelayGoToFullShade(viewState);
+ return calculateDelayGoToFullShade(viewState, animationStaggerCount);
}
if (mAnimationFilter.customDelay != AnimationFilter.NO_DELAY) {
return mAnimationFilter.customDelay;
@@ -285,13 +272,13 @@
return minDelay;
}
- private long calculateDelayGoToFullShade(ExpandableViewState viewState) {
+ private long calculateDelayGoToFullShade(ExpandableViewState viewState,
+ int animationStaggerCount) {
int shelfIndex = mShelf.getNotGoneIndex();
float index = viewState.notGoneIndex;
long result = 0;
if (index > shelfIndex) {
- float diff = index - shelfIndex;
- diff = (float) Math.pow(diff, 0.7f);
+ float diff = (float) Math.pow(animationStaggerCount, 0.7f);
result += (long) (diff * ANIMATION_DELAY_PER_ELEMENT_GO_TO_FULL_SHADE * 0.25);
index = shelfIndex;
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
index 3f6144e..fdf18e0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
@@ -84,15 +84,9 @@
public static final int MODE_UNLOCK = 5;
/**
- * Mode in which fingerprint brings up the bouncer because fingerprint unlocking is currently
- * not allowed.
- */
- public static final int MODE_DISMISS_BOUNCER = 6;
-
- /**
* Mode in which fingerprint wakes and unlocks the device from a dream.
*/
- public static final int MODE_WAKE_AND_UNLOCK_FROM_DREAM = 7;
+ public static final int MODE_WAKE_AND_UNLOCK_FROM_DREAM = 6;
/**
* How much faster we collapse the lockscreen when authenticating with biometric.
@@ -283,15 +277,18 @@
wakeUp.run();
}
switch (mMode) {
- case MODE_DISMISS_BOUNCER:
- Trace.beginSection("MODE_DISMISS");
- mStatusBarKeyguardViewManager.notifyKeyguardAuthenticated(
- false /* strongAuth */);
+ case MODE_UNLOCK:
+ Trace.beginSection("MODE_UNLOCK");
+ if (!wasDeviceInteractive) {
+ mPendingShowBouncer = true;
+ } else {
+ mStatusBarKeyguardViewManager.notifyKeyguardAuthenticated(
+ false /* strongAuth */);
+ }
Trace.endSection();
break;
- case MODE_UNLOCK:
case MODE_SHOW_BOUNCER:
- Trace.beginSection("MODE_UNLOCK or MODE_SHOW_BOUNCER");
+ Trace.beginSection("MODE_SHOW_BOUNCER");
if (!wasDeviceInteractive) {
mPendingShowBouncer = true;
} else {
@@ -381,6 +378,8 @@
if (!mStatusBarKeyguardViewManager.isShowing()) {
return MODE_ONLY_WAKE;
} else if (mDozeScrimController.isPulsing() && unlockingAllowed) {
+ // Let's not wake-up to lock screen when not bypassing, otherwise the notification
+ // would move as the user tried to tap it.
return faceStayingOnKeyguard ? MODE_NONE : MODE_WAKE_AND_UNLOCK_PULSING;
} else if (!face && (unlockingAllowed || !mUnlockMethodCache.isMethodSecure())) {
return MODE_WAKE_AND_UNLOCK;
@@ -388,9 +387,15 @@
if (!(mDozeScrimController.isPulsing() && !unlockingAllowed)) {
Log.wtf(TAG, "Face somehow arrived when the device was not interactive");
}
- // We could theoretically return MODE_NONE, but this means that the device
- // would be not interactive, unlocked, and the user would not see the device state.
- return MODE_ONLY_WAKE;
+ if (faceStayingOnKeyguard) {
+ // We could theoretically return MODE_NONE, but this means that the device
+ // would be not interactive, unlocked, and the user would not see the device
+ // state.
+ return MODE_ONLY_WAKE;
+ } else {
+ // Wake-up fading out nicely
+ return MODE_WAKE_AND_UNLOCK_PULSING;
+ }
} else {
return MODE_SHOW_BOUNCER;
}
@@ -399,10 +404,9 @@
return MODE_WAKE_AND_UNLOCK_FROM_DREAM;
}
if (mStatusBarKeyguardViewManager.isShowing()) {
- if ((mStatusBarKeyguardViewManager.isBouncerShowing()
- || mStatusBarKeyguardViewManager.isBouncerPartiallyVisible())
+ if ((mStatusBarKeyguardViewManager.isBouncerShowing())
&& unlockingAllowed) {
- return MODE_DISMISS_BOUNCER;
+ return MODE_UNLOCK;
} else if (unlockingAllowed) {
return faceStayingOnKeyguard ? MODE_ONLY_WAKE : MODE_UNLOCK;
} else if (face) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
index 58f457e..d655b2f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.java
@@ -35,6 +35,7 @@
import com.android.systemui.SysUiServiceProvider;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.phone.StatusBarIconController.DarkIconManager;
import com.android.systemui.statusbar.policy.EncryptionHelper;
import com.android.systemui.statusbar.policy.KeyguardMonitor;
@@ -201,20 +202,21 @@
}
protected int adjustDisableFlags(int state) {
+ boolean headsUpVisible = mStatusBarComponent.headsUpShouldBeVisible();
+ if (headsUpVisible) {
+ state |= DISABLE_CLOCK;
+ }
+
if (!mKeyguardMonitor.isLaunchTransitionFadingAway()
&& !mKeyguardMonitor.isKeyguardFadingAway()
- && shouldHideNotificationIcons()) {
+ && shouldHideNotificationIcons()
+ && !(mStatusBarStateController.getState() == StatusBarState.KEYGUARD
+ && headsUpVisible)) {
state |= DISABLE_NOTIFICATION_ICONS;
state |= DISABLE_SYSTEM_INFO;
state |= DISABLE_CLOCK;
}
- // In landscape, the heads up show but shouldHideNotificationIcons() return false
- // because the visual icon is in notification icon area rather than heads up's space.
- // whether the notification icon show or not, clock should hide when heads up show.
- if (mStatusBarComponent.isHeadsUpShouldBeVisible()) {
- state |= DISABLE_CLOCK;
- }
if (mNetworkController != null && EncryptionHelper.IS_DATA_ENCRYPTED) {
if (mNetworkController.hasEmergencyCryptKeeperText()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
index d9d74b9..a2438552 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeScrimController.java
@@ -84,6 +84,14 @@
public void onCancelled() {
pulseFinished();
}
+
+ /**
+ * Whether to timeout wallpaper or not.
+ */
+ @Override
+ public boolean shouldTimeoutWallpaper() {
+ return mPulseReason == DozeLog.PULSE_REASON_DOCKING;
+ }
};
public DozeScrimController(DozeParameters dozeParameters) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
index cc0bc5f..f9cdde8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/EdgeBackGestureHandler.java
@@ -66,6 +66,7 @@
public class EdgeBackGestureHandler implements DisplayListener {
private static final String TAG = "EdgeBackGestureHandler";
+ private static final int MAX_LONG_PRESS_TIMEOUT = 250;
private final IPinnedStackListener.Stub mImeChangedListener = new IPinnedStackListener.Stub() {
@Override
@@ -168,7 +169,8 @@
// before the app starts to react to it.
// TODO(b/130352502) Tune this value and extract into a constant
mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop() * 0.75f;
- mLongPressTimeout = ViewConfiguration.getLongPressTimeout();
+ mLongPressTimeout = Math.min(MAX_LONG_PRESS_TIMEOUT,
+ ViewConfiguration.getLongPressTimeout());
mNavBarHeight = res.getDimensionPixelSize(R.dimen.navigation_bar_frame_height);
mMinArrowPosition = res.getDimensionPixelSize(R.dimen.navigation_edge_arrow_min_y);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java
index 66903fa..46dd5e6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java
@@ -16,6 +16,8 @@
package com.android.systemui.statusbar.phone;
+import static com.android.systemui.SysUiServiceProvider.getComponent;
+
import android.graphics.Point;
import android.graphics.Rect;
import android.view.DisplayCutout;
@@ -27,11 +29,16 @@
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.plugins.DarkIconDispatcher;
+import com.android.systemui.plugins.statusbar.StatusBarStateController;
+import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.CrossFadeHelper;
import com.android.systemui.statusbar.HeadsUpStatusBarView;
+import com.android.systemui.statusbar.StatusBarState;
+import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
+import com.android.systemui.statusbar.policy.KeyguardMonitor;
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
import java.util.function.BiConsumer;
@@ -56,13 +63,16 @@
private final Consumer<ExpandableNotificationRow>
mSetTrackingHeadsUp = this::setTrackingHeadsUp;
private final Runnable mUpdatePanelTranslation = this::updatePanelTranslation;
- private final BiConsumer<Float, Float> mSetExpandedHeight = this::setExpandedHeight;
+ private final BiConsumer<Float, Float> mSetExpandedHeight = this::setAppearFraction;
+ private final KeyguardBypassController mBypassController;
+ private final StatusBarStateController mStatusBarStateController;
+ private final CommandQueue mCommandQueue;
@VisibleForTesting
float mExpandedHeight;
@VisibleForTesting
boolean mIsExpanded;
@VisibleForTesting
- float mExpandFraction;
+ float mAppearFraction;
private ExpandableNotificationRow mTrackedChild;
private boolean mShown;
private final View.OnLayoutChangeListener mStackScrollLayoutChangeListener =
@@ -77,13 +87,17 @@
};
private boolean mAnimationsEnabled = true;
Point mPoint;
+ private KeyguardMonitor mKeyguardMonitor;
public HeadsUpAppearanceController(
NotificationIconAreaController notificationIconAreaController,
HeadsUpManagerPhone headsUpManager,
- View statusbarView) {
- this(notificationIconAreaController, headsUpManager,
+ View statusbarView,
+ SysuiStatusBarStateController statusBarStateController,
+ KeyguardBypassController keyguardBypassController) {
+ this(notificationIconAreaController, headsUpManager, statusBarStateController,
+ keyguardBypassController,
statusbarView.findViewById(R.id.heads_up_status_bar_view),
statusbarView.findViewById(R.id.notification_stack_scroller),
statusbarView.findViewById(R.id.notification_panel),
@@ -96,6 +110,8 @@
public HeadsUpAppearanceController(
NotificationIconAreaController notificationIconAreaController,
HeadsUpManagerPhone headsUpManager,
+ StatusBarStateController stateController,
+ KeyguardBypassController bypassController,
HeadsUpStatusBarView headsUpStatusBarView,
NotificationStackScrollLayout stackScroller,
NotificationPanelView panelView,
@@ -114,7 +130,7 @@
panelView.addTrackingHeadsUpListener(mSetTrackingHeadsUp);
panelView.addVerticalTranslationListener(mUpdatePanelTranslation);
panelView.setHeadsUpAppearanceController(this);
- mStackScroller.addOnExpandedHeightListener(mSetExpandedHeight);
+ mStackScroller.addOnExpandedHeightChangedListener(mSetExpandedHeight);
mStackScroller.addOnLayoutChangeListener(mStackScrollLayoutChangeListener);
mStackScroller.setHeadsUpAppearanceController(this);
mClockView = clockView;
@@ -135,6 +151,10 @@
mHeadsUpStatusBarView.removeOnLayoutChangeListener(this);
}
});
+ mBypassController = bypassController;
+ mStatusBarStateController = stateController;
+ mCommandQueue = getComponent(headsUpStatusBarView.getContext(), CommandQueue.class);
+ mKeyguardMonitor = Dependency.get(KeyguardMonitor.class);
}
@@ -144,7 +164,7 @@
mPanelView.removeTrackingHeadsUpListener(mSetTrackingHeadsUp);
mPanelView.removeVerticalTranslationListener(mUpdatePanelTranslation);
mPanelView.setHeadsUpAppearanceController(null);
- mStackScroller.removeOnExpandedHeightListener(mSetExpandedHeight);
+ mStackScroller.removeOnExpandedHeightChangedListener(mSetExpandedHeight);
mStackScroller.removeOnLayoutChangeListener(mStackScrollLayoutChangeListener);
mDarkIconDispatcher.removeDarkReceiver(this);
}
@@ -219,7 +239,7 @@
private void updateTopEntry() {
NotificationEntry newEntry = null;
- if (!mIsExpanded && mHeadsUpManager.hasPinnedHeadsUp()) {
+ if (shouldBeVisible()) {
newEntry = mHeadsUpManager.getTopEntry();
}
NotificationEntry previousEntry = mHeadsUpStatusBarView.getShowingEntry();
@@ -342,7 +362,13 @@
* @return if the heads up status bar view should be shown
*/
public boolean shouldBeVisible() {
- return !mIsExpanded && mHeadsUpManager.hasPinnedHeadsUp();
+ boolean canShow = !mIsExpanded;
+ if (mBypassController.getBypassEnabled() &&
+ (mStatusBarStateController.getState() == StatusBarState.KEYGUARD
+ || mKeyguardMonitor.isKeyguardGoingAway())) {
+ canShow = true;
+ }
+ return canShow && mHeadsUpManager.hasPinnedHeadsUp();
}
@Override
@@ -351,12 +377,24 @@
updateHeader(entry);
}
- public void setExpandedHeight(float expandedHeight, float appearFraction) {
- boolean changedHeight = expandedHeight != mExpandedHeight;
+ @Override
+ public void onHeadsUpPinnedModeChanged(boolean inPinnedMode) {
+ if (mStatusBarStateController.getState() != StatusBarState.SHADE) {
+ // Show the status bar icons when the pinned mode changes
+ mCommandQueue.recomputeDisableFlags(
+ mHeadsUpStatusBarView.getContext().getDisplayId(), false);
+ }
+ }
+
+ public void setAppearFraction(float expandedHeight, float appearFraction) {
+ boolean changed = expandedHeight != mExpandedHeight;
mExpandedHeight = expandedHeight;
- mExpandFraction = appearFraction;
+ mAppearFraction = appearFraction;
boolean isExpanded = expandedHeight > 0;
- if (changedHeight) {
+ // We only notify if the expandedHeight changed and not on the appearFraction, since
+ // otherwise we may run into an infinite loop where the panel and this are constantly
+ // updating themselves over just a small fraction
+ if (changed) {
updateHeadsUpHeaders();
}
if (isExpanded != mIsExpanded) {
@@ -389,8 +427,9 @@
public void updateHeader(NotificationEntry entry) {
ExpandableNotificationRow row = entry.getRow();
float headerVisibleAmount = 1.0f;
- if (row.isPinned() || row.isHeadsUpAnimatingAway() || row == mTrackedChild) {
- headerVisibleAmount = mExpandFraction;
+ if (row.isPinned() || row.isHeadsUpAnimatingAway() || row == mTrackedChild
+ || row.showingPulsing()) {
+ headerVisibleAmount = mAppearFraction;
}
row.setHeaderVisibleAmount(headerVisibleAmount);
}
@@ -400,8 +439,7 @@
mHeadsUpStatusBarView.onDarkChanged(area, darkIntensity, tint);
}
- public void setPublicMode(boolean publicMode) {
- mHeadsUpStatusBarView.setPublicMode(publicMode);
+ public void onStateChanged() {
updateTopEntry();
}
@@ -410,7 +448,7 @@
mTrackedChild = oldController.mTrackedChild;
mExpandedHeight = oldController.mExpandedHeight;
mIsExpanded = oldController.mIsExpanded;
- mExpandFraction = oldController.mExpandFraction;
+ mAppearFraction = oldController.mAppearFraction;
}
}
}
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 bec655c..ade855e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
@@ -66,6 +66,7 @@
@VisibleForTesting
final int mExtensionTime;
private final StatusBarStateController mStatusBarStateController;
+ private final KeyguardBypassController mBypassController;
private View mStatusBarWindowView;
private NotificationGroupManager mGroupManager;
private VisualStabilityManager mVisualStabilityManager;
@@ -113,7 +114,8 @@
@Inject
public HeadsUpManagerPhone(@NonNull final Context context,
- StatusBarStateController statusBarStateController) {
+ StatusBarStateController statusBarStateController,
+ KeyguardBypassController bypassController) {
super(context);
Resources resources = mContext.getResources();
mAutoDismissNotificationDecayDozing = resources.getInteger(
@@ -121,6 +123,7 @@
mExtensionTime = resources.getInteger(R.integer.ambient_notification_extension_time);
mStatusBarStateController = statusBarStateController;
mStatusBarStateController.addCallback(this);
+ mBypassController = bypassController;
initResources();
}
@@ -231,6 +234,17 @@
mStatusBarState = newState;
}
+ @Override
+ public void onDozingChanged(boolean isDozing) {
+ if (!isDozing) {
+ // Let's make sure all huns we got while dozing time out within the normal timeout
+ // duration. Otherwise they could get stuck for a very long time
+ for (AlertEntry entry : mAlertEntries.values()) {
+ entry.updateEntry(true /* updatePostTime */);
+ }
+ }
+ }
+
/**
* Set that we are exiting the headsUp pinned mode, but some notifications might still be
* animating out. This is used to keep the touchable regions in a sane state.
@@ -412,8 +426,11 @@
@Override
protected boolean shouldHeadsUpBecomePinned(NotificationEntry entry) {
- return mStatusBarState != StatusBarState.KEYGUARD && !mIsExpanded
- || super.shouldHeadsUpBecomePinned(entry);
+ boolean pin = mStatusBarState == StatusBarState.SHADE && !mIsExpanded;
+ if (mBypassController.getBypassEnabled()) {
+ pin |= mStatusBarState == StatusBarState.KEYGUARD;
+ }
+ return pin || super.shouldHeadsUpBecomePinned(entry);
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
index f5d058c..4b198da 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
@@ -345,11 +345,6 @@
&& mExpansion == EXPANSION_VISIBLE && !isAnimatingAway();
}
- public boolean isPartiallyVisible() {
- return (mShowingSoon || (mRoot != null && mRoot.getVisibility() == View.VISIBLE))
- && mExpansion != EXPANSION_HIDDEN && !isAnimatingAway();
- }
-
/**
* @return {@code true} when bouncer's pre-hide animation already started but isn't completely
* hidden yet, {@code false} otherwise.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
index 4be4d90..58d1462 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
@@ -22,6 +22,7 @@
import android.provider.Settings
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.systemui.plugins.statusbar.StatusBarStateController
+import com.android.systemui.statusbar.NotificationLockscreenUserManager
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.tuner.TunerService
import javax.inject.Inject
@@ -49,10 +50,20 @@
private set
var bouncerShowing: Boolean = false
+ var launchingAffordance: Boolean = false
+ var qSExpanded = false
+ set(value) {
+ val changed = field != value
+ field = value
+ if (changed && !value) {
+ maybePerformPendingUnlock()
+ }
+ }
@Inject
constructor(context: Context, tunerService: TunerService,
- statusBarStateController: StatusBarStateController) {
+ statusBarStateController: StatusBarStateController,
+ lockscreenUserManager: NotificationLockscreenUserManager) {
unlockMethodCache = UnlockMethodCache.getInstance(context)
this.statusBarStateController = statusBarStateController
statusBarStateController.addCallback(object : StatusBarStateController.StateListener {
@@ -79,6 +90,7 @@
KeyguardUpdateMonitor.getCurrentUser()) != 0
}
}, Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD)
+ lockscreenUserManager.addUserChangedListener { pendingUnlockType = null }
}
/**
@@ -98,7 +110,10 @@
// to unlock
return false
}
- if (isPulseExpanding) {
+ if (launchingAffordance) {
+ return false
+ }
+ if (isPulseExpanding || qSExpanded) {
pendingUnlockType = biometricSourceType
return false
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
index 103a7c0..ca001c6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
@@ -149,6 +149,11 @@
public void onStrongAuthStateChanged(int userId) {
update();
}
+
+ @Override
+ public void onBiometricsCleared() {
+ update();
+ }
};
@Inject
@@ -452,7 +457,8 @@
private int getState() {
KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
- if ((mUnlockMethodCache.canSkipBouncer() || !mKeyguardShowing) && !mSimLocked) {
+ if ((mUnlockMethodCache.canSkipBouncer() || !mKeyguardShowing
+ || mKeyguardMonitor.isKeyguardGoingAway()) && !mSimLocked) {
return STATE_LOCK_OPEN;
} else if (mTransientBiometricsError) {
return STATE_BIOMETRICS_ERROR;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationModeController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationModeController.java
index 1124220..4d7cf27 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationModeController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationModeController.java
@@ -33,6 +33,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.om.IOverlayManager;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.ApkAssets;
import android.os.PatternMatcher;
@@ -69,6 +70,8 @@
private static final String TAG = NavigationModeController.class.getSimpleName();
private static final boolean DEBUG = false;
+ private static final int SYSTEM_APP_MASK =
+ ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;
static final String SHARED_PREFERENCES_NAME = "navigation_mode_controller_preferences";
static final String PREFS_SWITCHED_FROM_GESTURE_NAV_KEY = "switched_from_gesture_nav";
@@ -315,6 +318,10 @@
return;
}
+ Log.d(TAG, "Switching system navigation to 3-button mode:"
+ + " defaultLauncher=" + getDefaultLauncherPackageName(mCurrentUserContext)
+ + " contextUser=" + mCurrentUserContext.getUserId());
+
setModeOverlay(NAV_BAR_MODE_3BUTTON_OVERLAY, USER_CURRENT);
showNotification(mCurrentUserContext, R.string.notification_content_system_nav_changed);
mCurrentUserContext.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE)
@@ -355,9 +362,10 @@
if (defaultLauncherPackageName == null) {
return null;
}
- ComponentName recentsComponentName = ComponentName.unflattenFromString(
- context.getString(com.android.internal.R.string.config_recentsComponentName));
- return recentsComponentName.getPackageName().equals(defaultLauncherPackageName);
+ if (isSystemApp(context, defaultLauncherPackageName)) {
+ return true;
+ }
+ return false;
}
private String getDefaultLauncherPackageName(Context context) {
@@ -368,6 +376,17 @@
return cn.getPackageName();
}
+ /** Returns true if the app for the given package name is a system app for this device */
+ private boolean isSystemApp(Context context, String packageName) {
+ try {
+ ApplicationInfo ai = context.getPackageManager().getApplicationInfo(packageName,
+ PackageManager.GET_META_DATA);
+ return ai != null && ((ai.flags & SYSTEM_APP_MASK) != 0);
+ } catch (PackageManager.NameNotFoundException e) {
+ return false;
+ }
+ }
+
private void showNotification(Context context, int resId) {
final CharSequence message = context.getResources().getString(resId);
if (DEBUG) {
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 7b1d1c6..0bbfbef 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationGroupManager.java
@@ -435,18 +435,6 @@
}
@Override
- public void onHeadsUpPinnedModeChanged(boolean inPinnedMode) {
- }
-
- @Override
- public void onHeadsUpPinned(NotificationEntry entry) {
- }
-
- @Override
- public void onHeadsUpUnPinned(NotificationEntry entry) {
- }
-
- @Override
public void onHeadsUpStateChanged(NotificationEntry entry, boolean isHeadsUp) {
onAlertStateChanged(entry, isHeadsUp);
}
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 5310a54..cd97722 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconAreaController.java
@@ -4,6 +4,7 @@
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Rect;
+import android.provider.Settings;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -12,7 +13,6 @@
import androidx.annotation.NonNull;
import androidx.collection.ArrayMap;
-import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.util.ContrastColorUtil;
import com.android.settingslib.Utils;
@@ -22,7 +22,7 @@
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.statusbar.NotificationListener;
+import com.android.systemui.statusbar.CrossFadeHelper;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.StatusBarIconView;
@@ -32,6 +32,7 @@
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
+import com.android.systemui.tuner.TunerService;
import java.util.ArrayList;
import java.util.Objects;
@@ -56,20 +57,8 @@
private final NotificationWakeUpCoordinator mWakeUpCoordinator;
private final KeyguardBypassController mBypassController;
private final DozeParameters mDozeParameters;
- @VisibleForTesting
- final NotificationListener.NotificationSettingsListener mSettingsListener =
- new NotificationListener.NotificationSettingsListener() {
- @Override
- public void onStatusBarIconsBehaviorChanged(boolean hideSilentStatusIcons) {
- if (NotificationUtils.useNewInterruptionModel(mContext)) {
- mShowLowPriority = !hideSilentStatusIcons;
- if (mNotificationScrollLayout != null) {
- updateStatusBarIcons();
- }
- }
- }
- };
+ private boolean mShowSilentOnLockscreen = true;
private int mIconSize;
private int mIconHPadding;
private int mIconTint = Color.WHITE;
@@ -86,18 +75,17 @@
private final Rect mTintArea = new Rect();
private ViewGroup mNotificationScrollLayout;
private Context mContext;
- private boolean mShowLowPriority = true;
private int mAodIconAppearTranslation;
private boolean mAnimationsEnabled;
private int mAodIconTint;
private boolean mFullyHidden;
+ private boolean mAodIconsVisible;
public NotificationIconAreaController(Context context, StatusBar statusBar,
StatusBarStateController statusBarStateController,
NotificationWakeUpCoordinator wakeUpCoordinator,
KeyguardBypassController keyguardBypassController,
- NotificationListener notificationListener,
NotificationMediaManager notificationMediaManager) {
mStatusBar = statusBar;
mContrastColorUtil = ContrastColorUtil.getInstance(context);
@@ -106,7 +94,6 @@
mStatusBarStateController = statusBarStateController;
mStatusBarStateController.addCallback(this);
mMediaManager = notificationMediaManager;
- notificationListener.addNotificationSettingsListener(mSettingsListener);
mDozeParameters = DozeParameters.getInstance(mContext);
mWakeUpCoordinator = wakeUpCoordinator;
wakeUpCoordinator.addListener(this);
@@ -114,6 +101,11 @@
initializeNotificationAreaViews(context);
reloadAodColor();
+
+ TunerService tunerService = Dependency.get(TunerService.class);
+ tunerService.addTunable((key, newValue) -> {
+ mShowSilentOnLockscreen = "1".equals(newValue);
+ }, Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS);
}
protected View inflateIconArea(LayoutInflater inflater) {
@@ -147,10 +139,10 @@
mAodIcons = mStatusBar.getStatusBarWindow().findViewById(
R.id.clock_notification_icon_container);
mAodIcons.setOnLockScreen(true);
- updateAodIconsVisibility();
+ updateAodIconsVisibility(false /* animate */);
updateAnimations();
if (changed) {
- updateAodIcons();
+ updateAodNotificationIcons();
}
}
@@ -248,11 +240,15 @@
protected boolean shouldShowNotificationIcon(NotificationEntry entry,
boolean showAmbient, boolean showLowPriority, boolean hideDismissed,
boolean hideRepliedMessages, boolean hideCurrentMedia, boolean hideCenteredIcon,
- boolean hidePulsing) {
+ boolean hidePulsing, boolean onlyShowCenteredIcon) {
- final boolean isCenteredNotificationIcon = entry.centeredIcon != null
+ final boolean isCenteredNotificationIcon = mCenteredIconView != null
+ && entry.centeredIcon != null
&& Objects.equals(entry.centeredIcon, mCenteredIconView);
- if (hideCenteredIcon == isCenteredNotificationIcon) {
+ if (onlyShowCenteredIcon) {
+ return isCenteredNotificationIcon;
+ }
+ if (hideCenteredIcon && isCenteredNotificationIcon) {
return false;
}
if (mEntryManager.getNotificationData().isAmbient(entry.key) && !showAmbient) {
@@ -293,7 +289,7 @@
updateStatusBarIcons();
updateShelfIcons();
updateCenterIcon();
- updateAodIcons();
+ updateAodNotificationIcons();
applyNotificationIconsTint();
}
@@ -305,19 +301,21 @@
false /* hideDismissed */,
false /* hideRepliedMessages */,
false /* hideCurrentMedia */,
- true /* hide centered icon */,
- false /* hidePulsing */);
+ false /* hide centered icon */,
+ false /* hidePulsing */,
+ false /* onlyShowCenteredIcon */);
}
public void updateStatusBarIcons() {
updateIconsForLayout(entry -> entry.icon, mNotificationIcons,
false /* showAmbient */,
- mShowLowPriority /* showLowPriority */,
+ true /* showLowPriority */,
true /* hideDismissed */,
true /* hideRepliedMessages */,
false /* hideCurrentMedia */,
true /* hide centered icon */,
- false /* hidePulsing */);
+ false /* hidePulsing */,
+ false /* onlyShowCenteredIcon */);
}
private void updateCenterIcon() {
@@ -328,23 +326,20 @@
false /* hideRepliedMessages */,
false /* hideCurrentMedia */,
false /* hide centered icon */,
- false /* hidePulsing */);
+ false /* hidePulsing */,
+ true/* onlyShowCenteredIcon */);
}
- public void updateAodIcons() {
+ public void updateAodNotificationIcons() {
updateIconsForLayout(entry -> entry.aodIcon, mAodIcons,
false /* showAmbient */,
- mShowLowPriority /* showLowPriority */,
+ mShowSilentOnLockscreen /* showLowPriority */,
true /* hideDismissed */,
true /* hideRepliedMessages */,
true /* hideCurrentMedia */,
true /* hide centered icon */,
- mBypassController.getBypassEnabled() /* hidePulsing */);
- }
-
- @VisibleForTesting
- boolean shouldShouldLowPriorityIcons() {
- return mShowLowPriority;
+ mBypassController.getBypassEnabled() /* hidePulsing */,
+ false /* onlyShowCenteredIcon */);
}
/**
@@ -360,7 +355,7 @@
private void updateIconsForLayout(Function<NotificationEntry, StatusBarIconView> function,
NotificationIconContainer hostLayout, boolean showAmbient, boolean showLowPriority,
boolean hideDismissed, boolean hideRepliedMessages, boolean hideCurrentMedia,
- boolean hideCenteredIcon, boolean hidePulsing) {
+ boolean hideCenteredIcon, boolean hidePulsing, boolean onlyShowCenteredIcon) {
ArrayList<StatusBarIconView> toShow = new ArrayList<>(
mNotificationScrollLayout.getChildCount());
@@ -370,7 +365,8 @@
if (view instanceof ExpandableNotificationRow) {
NotificationEntry ent = ((ExpandableNotificationRow) view).getEntry();
if (shouldShowNotificationIcon(ent, showAmbient, showLowPriority, hideDismissed,
- hideRepliedMessages, hideCurrentMedia, hideCenteredIcon, hidePulsing)) {
+ hideRepliedMessages, hideCurrentMedia, hideCenteredIcon, hidePulsing,
+ onlyShowCenteredIcon)) {
StatusBarIconView iconView = function.apply(ent);
if (iconView != null) {
toShow.add(iconView);
@@ -532,7 +528,7 @@
@Override
public void onStateChanged(int newState) {
- updateAodIconsVisibility();
+ updateAodIconsVisibility(false /* animate */);
updateAnimations();
}
@@ -583,21 +579,25 @@
@Override
public void onFullyHiddenChanged(boolean fullyHidden) {
- if (fullyHidden && !mBypassController.getBypassEnabled()) {
- appearAodIcons();
+ boolean animate = true;
+ if (!mBypassController.getBypassEnabled()) {
+ animate = mDozeParameters.getAlwaysOn() && !mDozeParameters.getDisplayNeedsBlanking();
+ // We only want the appear animations to happen when the notifications get fully hidden,
+ // since otherwise the unhide animation overlaps
+ animate &= fullyHidden;
}
- updateAodIconsVisibility();
- updateAodIcons();
+ updateAodIconsVisibility(animate);
+ updateAodNotificationIcons();
}
@Override
public void onPulseExpansionChanged(boolean expandingChanged) {
if (expandingChanged) {
- updateAodIconsVisibility();
+ updateAodIconsVisibility(true /* animate */);
}
}
- private void updateAodIconsVisibility() {
+ private void updateAodIconsVisibility(boolean animate) {
boolean visible = mBypassController.getBypassEnabled()
|| mWakeUpCoordinator.getNotificationsFullyHidden();
if (mStatusBarStateController.getState() != StatusBarState.KEYGUARD) {
@@ -606,6 +606,28 @@
if (visible && mWakeUpCoordinator.isPulseExpanding()) {
visible = false;
}
- mAodIcons.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
+ if (mAodIconsVisible != visible) {
+ mAodIconsVisible = visible;
+ mAodIcons.animate().cancel();
+ if (animate) {
+ boolean wasFullyInvisible = mAodIcons.getVisibility() != View.VISIBLE;
+ if (mAodIconsVisible) {
+ if (wasFullyInvisible) {
+ // No fading here, let's just appear the icons instead!
+ mAodIcons.setVisibility(View.VISIBLE);
+ mAodIcons.setAlpha(1.0f);
+ appearAodIcons();
+ } else {
+ // We were fading out, let's fade in instead
+ CrossFadeHelper.fadeIn(mAodIcons);
+ }
+ } else {
+ CrossFadeHelper.fadeOut(mAodIcons);
+ }
+ } else {
+ mAodIcons.setAlpha(1.0f);
+ mAodIcons.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
+ }
+ }
}
}
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 4acf7b2..a53ce9b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationIconContainer.java
@@ -320,7 +320,7 @@
if (child instanceof StatusBarIconView) {
boolean isReplacingIcon = isReplacingIcon(child);
final StatusBarIconView icon = (StatusBarIconView) child;
- if (mAnimationsEnabled && icon.getVisibleState() != StatusBarIconView.STATE_HIDDEN
+ if (areAnimationsEnabled(icon) && icon.getVisibleState() != StatusBarIconView.STATE_HIDDEN
&& child.getVisibility() == VISIBLE && isReplacingIcon) {
int animationStartIndex = findFirstViewIndexAfter(icon.getTranslationX());
if (mAddAnimationStartIndex < 0) {
@@ -331,7 +331,7 @@
}
if (!mChangingViewPositions) {
mIconStates.remove(child);
- if (mAnimationsEnabled && !isReplacingIcon) {
+ if (areAnimationsEnabled(icon) && !isReplacingIcon) {
addTransientView(icon, 0);
boolean isIsolatedIcon = child == mIsolatedIcon;
icon.setVisibleState(StatusBarIconView.STATE_HIDDEN, true /* animate */,
@@ -342,6 +342,10 @@
}
}
+ private boolean areAnimationsEnabled(StatusBarIconView icon) {
+ return mAnimationsEnabled || icon == mIsolatedIcon;
+ }
+
/**
* Finds the first view with a translation bigger then a given value
*/
@@ -695,7 +699,7 @@
StatusBarIconView icon = (StatusBarIconView) view;
boolean animate = false;
AnimationProperties animationProperties = null;
- boolean animationsAllowed = mAnimationsEnabled && !mDisallowNextAnimation
+ boolean animationsAllowed = areAnimationsEnabled(icon) && !mDisallowNextAnimation
&& !noAnimations;
if (animationsAllowed) {
if (justAdded || justReplaced) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index e805575..32dc96d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -56,6 +56,7 @@
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.keyguard.KeyguardClockSwitch;
import com.android.keyguard.KeyguardStatusView;
+import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.DejankUtils;
import com.android.systemui.Dependency;
import com.android.systemui.Interpolators;
@@ -147,6 +148,15 @@
private static final AnimationProperties CLOCK_ANIMATION_PROPERTIES = new AnimationProperties()
.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD);
+ private static final AnimatableProperty KEYGUARD_HEADS_UP_SHOWING_AMOUNT
+ = AnimatableProperty.from("KEYGUARD_HEADS_UP_SHOWING_AMOUNT",
+ NotificationPanelView::setKeyguardHeadsUpShowingAmount,
+ NotificationPanelView::getKeyguardHeadsUpShowingAmount,
+ R.id.keyguard_hun_animator_tag,
+ R.id.keyguard_hun_animator_end_tag,
+ R.id.keyguard_hun_animator_start_tag);
+ private static final AnimationProperties KEYGUARD_HUN_PROPERTIES =
+ new AnimationProperties().setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD);
private final InjectionInflationController mInjectionInflationController;
private final PowerManager mPowerManager;
@@ -154,6 +164,7 @@
private final NotificationWakeUpCoordinator mWakeUpCoordinator;
private final PulseExpansionHandler mPulseExpansionHandler;
private final KeyguardBypassController mKeyguardBypassController;
+ private final KeyguardUpdateMonitor mUpdateMonitor;
@VisibleForTesting
protected KeyguardAffordanceHelper mAffordanceHelper;
@@ -354,6 +365,9 @@
private Runnable mOnReinflationListener;
private int mDarkIconSize;
private int mHeadsUpInset;
+ private boolean mHeadsUpPinnedMode;
+ private float mKeyguardHeadsUpShowingAmount = 0.0f;
+ private boolean mShowingKeyguardHeadsUp;
@Inject
public NotificationPanelView(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
@@ -382,6 +396,7 @@
});
mThemeResId = context.getThemeResId();
mKeyguardBypassController = bypassController;
+ mUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
dynamicPrivacyController.addListener(this);
mBottomAreaShadeAlphaAnimator = ValueAnimator.ofFloat(1f, 0);
@@ -710,6 +725,9 @@
int bottomPadding = Math.max(mIndicationBottomPadding, mAmbientIndicationBottomPadding);
int clockPreferredY = mKeyguardStatusView.getClockPreferredY(totalHeight);
boolean bypassEnabled = mKeyguardBypassController.getBypassEnabled();
+ final boolean hasVisibleNotifications =
+ !bypassEnabled && mNotificationStackScroller.getVisibleNotificationCount() != 0;
+ mKeyguardStatusView.setHasVisibleNotifications(hasVisibleNotifications);
mClockPositionAlgorithm.setup(
mStatusBarMinHeight,
totalHeight - bottomPadding,
@@ -720,7 +738,7 @@
- mShelfHeight / 2.0f - mDarkIconSize / 2.0f),
clockPreferredY,
hasCustomClock(),
- mNotificationStackScroller.getVisibleNotificationCount() != 0,
+ hasVisibleNotifications,
mInterpolatedDarkAmount,
mEmptyDragAmount,
bypassEnabled,
@@ -735,7 +753,6 @@
stackScrollerPadding = mClockPositionResult.stackScrollerPaddingExpanded;
}
mNotificationStackScroller.setIntrinsicPadding(stackScrollerPadding);
- mNotificationStackScroller.setAntiBurnInOffsetX(mClockPositionResult.clockX);
mKeyguardBottomArea.setAntiBurnInOffsetX(mClockPositionResult.clockX);
mStackScrollerMeasuringPass++;
@@ -1384,6 +1401,7 @@
mStatusBar.setQsExpanded(expanded);
mNotificationContainerParent.setQsExpanded(expanded);
mPulseExpansionHandler.setQsExpanded(expanded);
+ mKeyguardBypassController.setQSExpanded(expanded);
}
}
@@ -1408,6 +1426,7 @@
} else if (oldState == StatusBarState.SHADE_LOCKED
&& statusBarState == StatusBarState.KEYGUARD) {
animateKeyguardStatusBarIn(StackStateAnimator.ANIMATION_DURATION_STANDARD);
+ mNotificationStackScroller.resetScrollPosition();
// Only animate header if the header is visible. If not, it will partially animate out
// the top of QS
if (!mQsExpanded) {
@@ -1422,6 +1441,7 @@
}
}
}
+ updateKeyguardStatusBarForHeadsUp();
if (keyguardShowing) {
updateDozingVisibilities(false /* animate */);
}
@@ -1714,21 +1734,11 @@
} else {
int expandedPosition = mClockPositionResult.stackScrollerPadding;
return (int) MathUtils.lerp(collapsedPosition, expandedPosition,
- calculateHeaderAppearAmountBypass());
+ mNotificationStackScroller.calculateAppearFractionBypass());
}
}
- private float calculateHeaderAppearAmountBypass() {
- float pulseHeight = mNotificationStackScroller.getPulseHeight();
- float wakeUpHeight = mNotificationStackScroller.getWakeUpHeight();
- float dragDownAmount = pulseHeight - wakeUpHeight;
-
- // The total distance required to fully reveal the header
- float totalDistance = mClockPositionResult.stackScrollerPadding;
- return MathUtils.smoothStep(0, totalDistance, dragDownAmount);
- }
-
protected void requestScrollerTopPaddingUpdate(boolean animate) {
mNotificationStackScroller.updateTopPadding(calculateQsTopPadding(), animate);
if (mKeyguardShowing && mKeyguardBypassController.getBypassEnabled()) {
@@ -2022,7 +2032,8 @@
!mHeadsUpManager.hasPinnedHeadsUp()) {
alpha = getFadeoutAlpha();
}
- if (mBarState == StatusBarState.KEYGUARD && !mHintAnimationRunning) {
+ if (mBarState == StatusBarState.KEYGUARD && !mHintAnimationRunning
+ && !mKeyguardBypassController.getBypassEnabled()) {
alpha *= mClockPositionResult.clockAlpha;
}
mNotificationStackScroller.setAlpha(alpha);
@@ -2060,7 +2071,7 @@
if (mBarState == StatusBarState.KEYGUARD && !mKeyguardBypassController.getBypassEnabled()) {
return -mQs.getQsMinExpansionHeight();
}
- float appearAmount = mNotificationStackScroller.getAppearFraction(mExpandedHeight);
+ float appearAmount = mNotificationStackScroller.calculateAppearFraction(mExpandedHeight);
float startHeight = -mQsExpansionHeight;
if (mKeyguardBypassController.getBypassEnabled() && isOnKeyguard()
&& mNotificationStackScroller.isPulseExpanding()) {
@@ -2070,7 +2081,7 @@
// again after the header has animated away
appearAmount = 0;
} else {
- appearAmount = calculateHeaderAppearAmountBypass();
+ appearAmount = mNotificationStackScroller.calculateAppearFractionBypass();
}
startHeight = -mQs.getQsMinExpansionHeight();
}
@@ -2111,6 +2122,7 @@
float alphaQsExpansion = 1 - Math.min(1, getQsExpansionFraction() * 2);
float newAlpha = Math.min(getKeyguardContentsAlpha(), alphaQsExpansion)
* mKeyguardStatusBarAnimateAlpha;
+ newAlpha *= 1.0f - mKeyguardHeadsUpShowingAmount;
mKeyguardStatusBar.setAlpha(newAlpha);
mKeyguardStatusBar.setVisibility(newAlpha != 0f && !mDozing ? VISIBLE : INVISIBLE);
}
@@ -2643,10 +2655,14 @@
switch (mBarState) {
case StatusBarState.KEYGUARD:
if (!mDozingOnDown) {
- mLockscreenGestureLogger.write(
- MetricsEvent.ACTION_LS_HINT,
- 0 /* lengthDp - N/A */, 0 /* velocityDp - N/A */);
- startUnlockHintAnimation();
+ if (mKeyguardBypassController.getBypassEnabled()) {
+ mUpdateMonitor.requestFaceAuth();
+ } else {
+ mLockscreenGestureLogger.write(
+ MetricsEvent.ACTION_LS_HINT,
+ 0 /* lengthDp - N/A */, 0 /* velocityDp - N/A */);
+ startUnlockHintAnimation();
+ }
}
return true;
case StatusBarState.SHADE_LOCKED:
@@ -2739,16 +2755,51 @@
mHeadsUpExistenceChangedRunnable);
}
updateGestureExclusionRect();
+ mHeadsUpPinnedMode = inPinnedMode;
+ updateHeadsUpVisibility();
+ updateKeyguardStatusBarForHeadsUp();
+ }
+
+ private void updateKeyguardStatusBarForHeadsUp() {
+ boolean showingKeyguardHeadsUp = mKeyguardShowing
+ && mHeadsUpAppearanceController.shouldBeVisible();
+ if (mShowingKeyguardHeadsUp != showingKeyguardHeadsUp) {
+ mShowingKeyguardHeadsUp = showingKeyguardHeadsUp;
+ if (mKeyguardShowing) {
+ PropertyAnimator.setProperty(this, KEYGUARD_HEADS_UP_SHOWING_AMOUNT,
+ showingKeyguardHeadsUp ? 1.0f : 0.0f, KEYGUARD_HUN_PROPERTIES,
+ true /* animate */);
+ } else {
+ PropertyAnimator.applyImmediately(this, KEYGUARD_HEADS_UP_SHOWING_AMOUNT, 0.0f);
+ }
+ }
+ }
+
+ private void setKeyguardHeadsUpShowingAmount(float amount) {
+ mKeyguardHeadsUpShowingAmount = amount;
+ updateHeaderKeyguardAlpha();
+ }
+
+ private float getKeyguardHeadsUpShowingAmount() {
+ return mKeyguardHeadsUpShowingAmount;
}
public void setHeadsUpAnimatingAway(boolean headsUpAnimatingAway) {
mHeadsUpAnimatingAway = headsUpAnimatingAway;
mNotificationStackScroller.setHeadsUpAnimatingAway(headsUpAnimatingAway);
+ updateHeadsUpVisibility();
+ }
+
+ private void updateHeadsUpVisibility() {
+ ((PhoneStatusBarView) mBar).setHeadsUpVisible(mHeadsUpAnimatingAway || mHeadsUpPinnedMode);
}
@Override
public void onHeadsUpPinned(NotificationEntry entry) {
- mNotificationStackScroller.generateHeadsUpAnimation(entry.getHeadsUpAnimationView(), true);
+ if (!isOnKeyguard()) {
+ mNotificationStackScroller.generateHeadsUpAnimation(entry.getHeadsUpAnimationView(),
+ true);
+ }
}
@Override
@@ -2757,7 +2808,7 @@
// When we're unpinning the notification via active edge they remain heads-upped,
// we need to make sure that an animation happens in this case, otherwise the notification
// will stick to the top without any interaction.
- if (isFullyCollapsed() && entry.isRowHeadsUp()) {
+ if (isFullyCollapsed() && entry.isRowHeadsUp() && !isOnKeyguard()) {
mNotificationStackScroller.generateHeadsUpAnimation(
entry.getHeadsUpAnimationView(), false);
entry.setHeadsUpIsVisible();
@@ -2824,7 +2875,7 @@
}
protected void setHorizontalPanelTranslation(float translation) {
- mNotificationStackScroller.setHorizontalPanelTranslation(translation);
+ mNotificationStackScroller.setTranslationX(translation);
mQsFrame.setTranslationX(translation);
int size = mVerticalTranslationListener.size();
for (int i = 0; i < size; i++) {
@@ -2880,7 +2931,8 @@
@Override
protected boolean isPanelVisibleBecauseOfHeadsUp() {
- return mHeadsUpManager.hasPinnedHeadsUp() || mHeadsUpAnimatingAway;
+ return (mHeadsUpManager.hasPinnedHeadsUp() || mHeadsUpAnimatingAway)
+ && mBarState == StatusBarState.SHADE;
}
@Override
@@ -2905,7 +2957,6 @@
// nor setting these flags, since the occluded state doesn't change anymore, hence it's
// never reset.
if (!isFullyCollapsed()) {
- mLaunchingAffordance = true;
setLaunchingAffordance(true);
} else {
animate = false;
@@ -2915,7 +2966,6 @@
}
public void onAffordanceLaunchEnded() {
- mLaunchingAffordance = false;
setLaunchingAffordance(false);
}
@@ -2924,8 +2974,10 @@
* launched via a camera gesture.
*/
private void setLaunchingAffordance(boolean launchingAffordance) {
+ mLaunchingAffordance = launchingAffordance;
getLeftIcon().setLaunchingAffordance(launchingAffordance);
getRightIcon().setLaunchingAffordance(launchingAffordance);
+ mKeyguardBypassController.setLaunchingAffordance(launchingAffordance);
if (mAffordanceLaunchListener != null) {
mAffordanceLaunchListener.accept(launchingAffordance);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java
index 65b0ecc..063d00b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java
@@ -107,8 +107,12 @@
return mExpanded;
}
- private void updateVisibility() {
- mPanel.setVisibility(mExpanded || mBouncerShowing ? VISIBLE : INVISIBLE);
+ protected void updateVisibility() {
+ mPanel.setVisibility(shouldPanelBeVisible() ? VISIBLE : INVISIBLE);
+ }
+
+ protected boolean shouldPanelBeVisible() {
+ return mExpanded || mBouncerShowing;
}
public boolean panelEnabled() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
index 68eba50..660810f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@@ -46,6 +46,7 @@
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.DarkIconDispatcher.DarkReceiver;
import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.statusbar.policy.HeadsUpManager;
import java.util.Objects;
@@ -82,6 +83,7 @@
* Draw this many pixels into the left/right side of the cutout to optimally use the space
*/
private int mCutoutSideNudge = 0;
+ private boolean mHeadsUpVisible;
public PhoneStatusBarView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -379,4 +381,14 @@
}
return null;
}
+
+ public void setHeadsUpVisible(boolean headsUpVisible) {
+ mHeadsUpVisible = headsUpVisible;
+ updateVisibility();
+ }
+
+ @Override
+ protected boolean shouldPanelBeVisible() {
+ return mHeadsUpVisible || super.shouldPanelBeVisible();
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 5dcbea2..3f38c04 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -284,15 +284,12 @@
// AOD wallpapers should fade away after a while.
// Docking pulses may take a long time, wallpapers should also fade away after a while.
- if (mWallpaperSupportsAmbientMode && mDozeParameters.getAlwaysOn()
- && mState == ScrimState.AOD) {
- if (!mWallpaperVisibilityTimedOut) {
- mTimeTicker.schedule(mDozeParameters.getWallpaperAodDuration(),
- AlarmTimeout.MODE_IGNORE_IF_SCHEDULED);
- }
+ mWallpaperVisibilityTimedOut = false;
+ if (shouldFadeAwayWallpaper()) {
+ mTimeTicker.schedule(mDozeParameters.getWallpaperAodDuration(),
+ AlarmTimeout.MODE_IGNORE_IF_SCHEDULED);
} else {
mTimeTicker.cancel();
- mWallpaperVisibilityTimedOut = false;
}
if (mKeyguardUpdateMonitor.needsSlowUnlockTransition() && mState == ScrimState.UNLOCKED) {
@@ -313,6 +310,23 @@
dispatchScrimState(mScrimBehind.getViewAlpha());
}
+ private boolean shouldFadeAwayWallpaper() {
+ if (!mWallpaperSupportsAmbientMode) {
+ return false;
+ }
+
+ if (mState == ScrimState.AOD && mDozeParameters.getAlwaysOn()) {
+ return true;
+ }
+
+ if (mState == ScrimState.PULSING
+ && mCallback != null && mCallback.shouldTimeoutWallpaper()) {
+ return true;
+ }
+
+ return false;
+ }
+
public ScrimState getState() {
return mState;
}
@@ -387,6 +401,14 @@
setOrAdaptCurrentAnimation(mScrimInFront);
dispatchScrimState(mScrimBehind.getViewAlpha());
+
+ // Reset wallpaper timeout if it's already timeout like expanding panel while PULSING
+ // and docking.
+ if (mWallpaperVisibilityTimedOut) {
+ mWallpaperVisibilityTimedOut = false;
+ mTimeTicker.schedule(mDozeParameters.getWallpaperAodDuration(),
+ AlarmTimeout.MODE_IGNORE_IF_SCHEDULED);
+ }
}
}
@@ -925,6 +947,10 @@
}
default void onCancelled() {
}
+ /** Returns whether to timeout wallpaper or not. */
+ default boolean shouldTimeoutWallpaper() {
+ return false;
+ }
}
/**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 6149a38..2a14c51 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -680,6 +680,7 @@
mPowerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
mKeyguardUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
+ mKeyguardUpdateMonitor.setKeyguardBypassController(mKeyguardBypassController);
mBarService = IStatusBarService.Stub.asInterface(
ServiceManager.getService(Context.STATUS_BAR_SERVICE));
@@ -800,7 +801,7 @@
mNotificationIconAreaController = SystemUIFactory.getInstance()
.createNotificationIconAreaController(context, this,
mWakeUpCoordinator, mKeyguardBypassController,
- mStatusBarStateController, mNotificationListener);
+ mStatusBarStateController);
mWakeUpCoordinator.setIconAreaController(mNotificationIconAreaController);
inflateShelf();
mNotificationIconAreaController.setupShelf(mNotificationShelf);
@@ -846,7 +847,8 @@
mHeadsUpAppearanceController.destroy();
}
mHeadsUpAppearanceController = new HeadsUpAppearanceController(
- mNotificationIconAreaController, mHeadsUpManager, mStatusBarWindow);
+ mNotificationIconAreaController, mHeadsUpManager, mStatusBarWindow,
+ mStatusBarStateController, mKeyguardBypassController);
mHeadsUpAppearanceController.readFrom(oldController);
mStatusBarWindow.setStatusBarView(mStatusBarView);
updateAreThereNotifications();
@@ -1536,10 +1538,16 @@
});
}
} else {
- if (!mNotificationPanel.isFullyCollapsed() || mNotificationPanel.isTracking()) {
+ boolean bypassKeyguard = mKeyguardBypassController.getBypassEnabled()
+ && mState == StatusBarState.KEYGUARD;
+ if (!mNotificationPanel.isFullyCollapsed() || mNotificationPanel.isTracking()
+ || bypassKeyguard) {
// We are currently tracking or is open and the shade doesn't need to be kept
// open artificially.
mStatusBarWindowController.setHeadsUpShowing(false);
+ if (bypassKeyguard) {
+ mStatusBarWindowController.setForceStatusBarVisible(false);
+ }
} else {
// we need to keep the panel open artificially, let's wait until the animation
// is finished.
@@ -1556,15 +1564,6 @@
}
@Override
- public void onHeadsUpPinned(NotificationEntry entry) {
- dismissVolumeDialog();
- }
-
- @Override
- public void onHeadsUpUnPinned(NotificationEntry entry) {
- }
-
- @Override
public void onHeadsUpStateChanged(NotificationEntry entry, boolean isHeadsUp) {
mEntryManager.updateNotifications();
if (isDozing()) {
@@ -1670,7 +1669,7 @@
}
}
- public boolean isHeadsUpShouldBeVisible() {
+ public boolean headsUpShouldBeVisible() {
return mHeadsUpAppearanceController.shouldBeVisible();
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index 93168db..6dc2c8c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -677,10 +677,6 @@
return mBouncer.isShowing();
}
- public boolean isBouncerPartiallyVisible() {
- return mBouncer.isPartiallyVisible();
- }
-
public boolean isFullscreenBouncer() {
return mBouncer.isFullscreenBouncer();
}
@@ -812,6 +808,15 @@
return mStatusBar.isInLaunchTransition();
}
+
+ /**
+ * @return Whether subtle animation should be used for unlocking the device.
+ */
+ public boolean shouldSubtleWindowAnimationsForUnlock() {
+ return mStatusBar.mKeyguardBypassController.getBypassEnabled()
+ && mStatusBar.mState == StatusBarState.KEYGUARD;
+ }
+
public boolean isGoingToNotificationShade() {
return ((SysuiStatusBarStateController) Dependency.get(StatusBarStateController.class))
.leaveOpenOnKeyguardHide();
diff --git a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java
index 930016b..41e026a 100644
--- a/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java
+++ b/packages/SystemUI/src/com/android/systemui/theme/ThemeOverlayManager.java
@@ -172,10 +172,15 @@
private void setEnabledAsync(String pkg, UserHandle userHandle, boolean enabled) {
mExecutor.execute(() -> {
if (DEBUG) Log.d(TAG, String.format("setEnabled: %s %s %b", pkg, userHandle, enabled));
- if (enabled) {
- mOverlayManager.setEnabledExclusiveInCategory(pkg, userHandle);
- } else {
- mOverlayManager.setEnabled(pkg, false, userHandle);
+ try {
+ if (enabled) {
+ mOverlayManager.setEnabledExclusiveInCategory(pkg, userHandle);
+ } else {
+ mOverlayManager.setEnabled(pkg, false, userHandle);
+ }
+ } catch (IllegalStateException e) {
+ Log.e(TAG,
+ String.format("setEnabled failed: %s %s %b", pkg, userHandle, enabled), e);
}
});
}
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/clock/SettingsWrapperTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/clock/SettingsWrapperTest.kt
new file mode 100644
index 0000000..573581d
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/keyguard/clock/SettingsWrapperTest.kt
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2019 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.keyguard.clock
+
+import android.testing.AndroidTestingRunner
+import androidx.test.filters.SmallTest
+import com.android.systemui.SysuiTestCase
+import com.google.common.truth.Truth.assertThat
+import org.json.JSONObject
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mockito.mock
+import org.mockito.Mockito.never
+import org.mockito.Mockito.verify
+
+private const val PACKAGE = "com.android.keyguard.clock.Clock"
+private const val CLOCK_FIELD = "clock"
+private const val TIMESTAMP_FIELD = "_applied_timestamp"
+private const val USER_ID = 0
+
+@RunWith(AndroidTestingRunner::class)
+@SmallTest
+class SettingsWrapperTest : SysuiTestCase() {
+
+ private lateinit var wrapper: SettingsWrapper
+ private lateinit var migration: SettingsWrapper.Migration
+
+ @Before
+ fun setUp() {
+ migration = mock(SettingsWrapper.Migration::class.java)
+ wrapper = SettingsWrapper(getContext().contentResolver, migration)
+ }
+
+ @Test
+ fun testDecodeUnnecessary() {
+ // GIVEN a settings value that doesn't need to be decoded
+ val value = PACKAGE
+ // WHEN the value is decoded
+ val decoded = wrapper.decode(value, USER_ID)
+ // THEN the same value is returned, because decoding isn't necessary.
+ // TODO(b/135674383): Null should be returned when the migration code in removed.
+ assertThat(decoded).isEqualTo(value)
+ // AND the value is migrated to JSON format
+ verify(migration).migrate(value, USER_ID)
+ }
+
+ @Test
+ fun testDecodeJSON() {
+ // GIVEN a settings value that is encoded in JSON
+ val json: JSONObject = JSONObject()
+ json.put(CLOCK_FIELD, PACKAGE)
+ json.put(TIMESTAMP_FIELD, System.currentTimeMillis())
+ val value = json.toString()
+ // WHEN the value is decoded
+ val decoded = wrapper.decode(value, USER_ID)
+ // THEN the clock field should have been extracted
+ assertThat(decoded).isEqualTo(PACKAGE)
+ }
+
+ @Test
+ fun testDecodeJSONWithoutClockField() {
+ // GIVEN a settings value that doesn't contain the CLOCK_FIELD
+ val json: JSONObject = JSONObject()
+ json.put(TIMESTAMP_FIELD, System.currentTimeMillis())
+ val value = json.toString()
+ // WHEN the value is decoded
+ val decoded = wrapper.decode(value, USER_ID)
+ // THEN null is returned
+ assertThat(decoded).isNull()
+ // AND the value is not migrated to JSON format
+ verify(migration, never()).migrate(value, USER_ID)
+ }
+
+ @Test
+ fun testDecodeNullJSON() {
+ assertThat(wrapper.decode(null, USER_ID)).isNull()
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/FalsingManagerProxyTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/FalsingManagerProxyTest.java
new file mode 100644
index 0000000..329ef1c
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/FalsingManagerProxyTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier;
+
+import static com.android.internal.config.sysui.SystemUiDeviceConfigFlags.BRIGHTLINE_FALSING_MANAGER_ENABLED;
+
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.junit.Assert.assertThat;
+
+import android.os.Handler;
+import android.provider.DeviceConfig;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.classifier.brightline.BrightLineFalsingManager;
+import com.android.systemui.shared.plugins.PluginManager;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class FalsingManagerProxyTest extends SysuiTestCase {
+ @Mock
+ PluginManager mPluginManager;
+ private boolean mDefaultConfigValue;
+ private Handler mHandler;
+ private TestableLooper mTestableLooper;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ mTestableLooper = TestableLooper.get(this);
+ mHandler = new Handler(mTestableLooper.getLooper());
+ mDefaultConfigValue = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
+ BRIGHTLINE_FALSING_MANAGER_ENABLED, false);
+ }
+
+ @After
+ public void tearDown() {
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
+ BRIGHTLINE_FALSING_MANAGER_ENABLED, mDefaultConfigValue ? "true" : "false", false);
+ }
+
+ @Test
+ public void test_brightLineFalsingManagerDisabled() {
+ FalsingManagerProxy proxy = new FalsingManagerProxy(getContext(), mPluginManager, mHandler);
+
+ assertThat(proxy.getInternalFalsingManager(), instanceOf(FalsingManagerImpl.class));
+ }
+
+ @Test
+ public void test_brightLineFalsingManagerEnabled() {
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
+ BRIGHTLINE_FALSING_MANAGER_ENABLED, "true", false);
+ FalsingManagerProxy proxy = new FalsingManagerProxy(getContext(), mPluginManager, mHandler);
+
+ assertThat(proxy.getInternalFalsingManager(), instanceOf(BrightLineFalsingManager.class));
+ }
+
+ @Test
+ public void test_brightLineFalsingManagerToggled() {
+ FalsingManagerProxy proxy = new FalsingManagerProxy(getContext(), mPluginManager, mHandler);
+ assertThat(proxy.getInternalFalsingManager(), instanceOf(FalsingManagerImpl.class));
+
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
+ BRIGHTLINE_FALSING_MANAGER_ENABLED, "true", false);
+ mTestableLooper.processAllMessages();
+ proxy.setupFalsingManager(getContext());
+ assertThat(proxy.getInternalFalsingManager(), instanceOf(BrightLineFalsingManager.class));
+
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
+ BRIGHTLINE_FALSING_MANAGER_ENABLED, "false", false);
+ mTestableLooper.processAllMessages();
+ proxy.setupFalsingManager(getContext());
+ assertThat(proxy.getInternalFalsingManager(), instanceOf(FalsingManagerImpl.class));
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DiagonalClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DiagonalClassifierTest.java
new file mode 100644
index 0000000..ade5f36
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DiagonalClassifierTest.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static com.android.systemui.classifier.Classifier.LEFT_AFFORDANCE;
+import static com.android.systemui.classifier.Classifier.RIGHT_AFFORDANCE;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.when;
+
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class DiagonalClassifierTest extends SysuiTestCase {
+
+ // Next variable is not actually five, but is very close. 5 degrees is currently the value
+ // used in the diagonal classifier, so we want slightly less than that to deal with
+ // floating point errors.
+ private static final float FIVE_DEG_IN_RADIANS = (float) (4.99f / 360f * Math.PI * 2f);
+ private static final float UP_IN_RADIANS = (float) (Math.PI / 2f);
+ private static final float DOWN_IN_RADIANS = (float) (3 * Math.PI / 2f);
+ private static final float RIGHT_IN_RADIANS = 0;
+ private static final float LEFT_IN_RADIANS = (float) Math.PI;
+ private static final float FORTY_FIVE_DEG_IN_RADIANS = (float) (Math.PI / 4);
+
+ @Mock
+ private FalsingDataProvider mDataProvider;
+ private FalsingClassifier mClassifier;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ mClassifier = new DiagonalClassifier(mDataProvider);
+ }
+
+ @Test
+ public void testPass_UnknownAngle() {
+ when(mDataProvider.getAngle()).thenReturn(Float.MAX_VALUE);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_VerticalSwipe() {
+ when(mDataProvider.getAngle()).thenReturn(UP_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(DOWN_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_MostlyVerticalSwipe() {
+ when(mDataProvider.getAngle()).thenReturn(UP_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(UP_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(DOWN_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(DOWN_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS * 2);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_BarelyVerticalSwipe() {
+ when(mDataProvider.getAngle()).thenReturn(
+ UP_IN_RADIANS - FORTY_FIVE_DEG_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ UP_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ DOWN_IN_RADIANS - FORTY_FIVE_DEG_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ DOWN_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS * 2);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_HorizontalSwipe() {
+ when(mDataProvider.getAngle()).thenReturn(RIGHT_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(LEFT_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_MostlyHorizontalSwipe() {
+ when(mDataProvider.getAngle()).thenReturn(RIGHT_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(RIGHT_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(LEFT_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(LEFT_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_BarelyHorizontalSwipe() {
+ when(mDataProvider.getAngle()).thenReturn(
+ RIGHT_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ LEFT_IN_RADIANS - FORTY_FIVE_DEG_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ LEFT_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - 2 * FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ RIGHT_IN_RADIANS - FORTY_FIVE_DEG_IN_RADIANS + 2 * FIVE_DEG_IN_RADIANS * 2);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_AffordanceSwipe() {
+ when(mDataProvider.getInteractionType()).thenReturn(LEFT_AFFORDANCE);
+ when(mDataProvider.getAngle()).thenReturn(
+ RIGHT_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.getInteractionType()).thenReturn(RIGHT_AFFORDANCE);
+ when(mDataProvider.getAngle()).thenReturn(
+ LEFT_IN_RADIANS - FORTY_FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ // This classifier may return false for other angles, but these are the only
+ // two that actually matter, as affordances generally only travel in these two directions.
+ // We expect other classifiers to false in those cases, so it really doesn't matter what
+ // we do here.
+ }
+
+ @Test
+ public void testFail_DiagonalSwipe() {
+ // Horizontal Swipes
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.getAngle()).thenReturn(
+ RIGHT_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ UP_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS + FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ LEFT_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ DOWN_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS + FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ // Vertical Swipes
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.getAngle()).thenReturn(
+ RIGHT_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS + FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ UP_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+
+ when(mDataProvider.getAngle()).thenReturn(
+ LEFT_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS + FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.getAngle()).thenReturn(
+ DOWN_IN_RADIANS + FORTY_FIVE_DEG_IN_RADIANS - FIVE_DEG_IN_RADIANS);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DistanceClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DistanceClassifierTest.java
new file mode 100644
index 0000000..3d0471b
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DistanceClassifierTest.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.when;
+
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.view.MotionEvent;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class DistanceClassifierTest extends SysuiTestCase {
+
+ @Mock
+ private FalsingDataProvider mDataProvider;
+ private FalsingClassifier mClassifier;
+ private List<MotionEvent> mMotionEvents = new ArrayList<>();
+
+ private static final float DPI = 100;
+ private static final int SCREEN_SIZE = (int) (DPI * 10);
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ when(mDataProvider.getHeightPixels()).thenReturn(SCREEN_SIZE);
+ when(mDataProvider.getWidthPixels()).thenReturn(SCREEN_SIZE);
+ when(mDataProvider.getXdpi()).thenReturn(DPI);
+ when(mDataProvider.getYdpi()).thenReturn(DPI);
+ mClassifier = new DistanceClassifier(mDataProvider);
+ }
+
+ @Test
+ public void testPass_noPointer() {
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_fling() {
+ MotionEvent motionEventA = MotionEvent.obtain(1, 1, MotionEvent.ACTION_DOWN, 1, 1, 0);
+ MotionEvent motionEventB = MotionEvent.obtain(1, 2, MotionEvent.ACTION_MOVE, 1, 2, 0);
+ MotionEvent motionEventC = MotionEvent.obtain(1, 3, MotionEvent.ACTION_UP, 1, 40, 0);
+
+ appendMotionEvent(motionEventA);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ appendMotionEvent(motionEventB);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ appendMotionEvent(motionEventC);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ motionEventA.recycle();
+ motionEventB.recycle();
+ motionEventC.recycle();
+ }
+
+ @Test
+ public void testFail_flingShort() {
+ MotionEvent motionEventA = MotionEvent.obtain(1, 1, MotionEvent.ACTION_DOWN, 1, 1, 0);
+ MotionEvent motionEventB = MotionEvent.obtain(1, 2, MotionEvent.ACTION_MOVE, 1, 2, 0);
+ MotionEvent motionEventC = MotionEvent.obtain(1, 3, MotionEvent.ACTION_UP, 1, 10, 0);
+
+ appendMotionEvent(motionEventA);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ appendMotionEvent(motionEventB);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ appendMotionEvent(motionEventC);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ motionEventA.recycle();
+ motionEventB.recycle();
+ motionEventC.recycle();
+ }
+
+ @Test
+ public void testFail_flingSlowly() {
+ // These events, in testing, result in a fling that falls just short of the threshold.
+ MotionEvent motionEventA = MotionEvent.obtain(1, 1, MotionEvent.ACTION_DOWN, 1, 1, 0);
+ MotionEvent motionEventB = MotionEvent.obtain(1, 2, MotionEvent.ACTION_MOVE, 1, 15, 0);
+ MotionEvent motionEventC = MotionEvent.obtain(1, 3, MotionEvent.ACTION_MOVE, 1, 16, 0);
+ MotionEvent motionEventD = MotionEvent.obtain(1, 300, MotionEvent.ACTION_MOVE, 1, 17, 0);
+ MotionEvent motionEventE = MotionEvent.obtain(1, 301, MotionEvent.ACTION_MOVE, 1, 18, 0);
+ MotionEvent motionEventF = MotionEvent.obtain(1, 500, MotionEvent.ACTION_UP, 1, 19, 0);
+
+ appendMotionEvent(motionEventA);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ appendMotionEvent(motionEventB);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ appendMotionEvent(motionEventC);
+ appendMotionEvent(motionEventD);
+ appendMotionEvent(motionEventE);
+ appendMotionEvent(motionEventF);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ motionEventA.recycle();
+ motionEventB.recycle();
+ motionEventC.recycle();
+ motionEventD.recycle();
+ motionEventE.recycle();
+ motionEventF.recycle();
+ }
+
+ @Test
+ public void testPass_swipe() {
+ MotionEvent motionEventA = MotionEvent.obtain(1, 1, MotionEvent.ACTION_DOWN, 1, 1, 0);
+ MotionEvent motionEventB = MotionEvent.obtain(1, 3, MotionEvent.ACTION_MOVE, 1, DPI * 3, 0);
+ MotionEvent motionEventC = MotionEvent.obtain(1, 1000, MotionEvent.ACTION_UP, 1, DPI * 3,
+ 0);
+
+ appendMotionEvent(motionEventA);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+
+ appendMotionEvent(motionEventB);
+ appendMotionEvent(motionEventC);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ motionEventA.recycle();
+ motionEventB.recycle();
+ motionEventC.recycle();
+ }
+
+ private void appendMotionEvent(MotionEvent motionEvent) {
+ if (mMotionEvents.isEmpty()) {
+ when(mDataProvider.getFirstRecentMotionEvent()).thenReturn(motionEvent);
+ }
+
+ mMotionEvents.add(motionEvent);
+ when(mDataProvider.getRecentMotionEvents()).thenReturn(mMotionEvents);
+
+ when(mDataProvider.getLastMotionEvent()).thenReturn(motionEvent);
+
+ mClassifier.onTouchEvent(motionEvent);
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/FalsingDataProviderTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/FalsingDataProviderTest.java
new file mode 100644
index 0000000..1da4206
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/FalsingDataProviderTest.java
@@ -0,0 +1,293 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.Matchers.closeTo;
+import static org.junit.Assert.assertThat;
+
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.view.MotionEvent;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class FalsingDataProviderTest extends SysuiTestCase {
+
+ private FalsingDataProvider mDataProvider;
+
+ @Before
+ public void setup() {
+ mDataProvider = new FalsingDataProvider(getContext());
+ }
+
+ @Test
+ public void test_trackMotionEvents() {
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_DOWN, 1, 2, 9);
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 4, 7);
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_UP, 3, 6, 5);
+
+ mDataProvider.onMotionEvent(motionEventA);
+ mDataProvider.onMotionEvent(motionEventB);
+ mDataProvider.onMotionEvent(motionEventC);
+ List<MotionEvent> motionEventList = mDataProvider.getRecentMotionEvents();
+
+ assertThat(motionEventList.size(), is(3));
+ assertThat(motionEventList.get(0).getActionMasked(), is(MotionEvent.ACTION_DOWN));
+ assertThat(motionEventList.get(1).getActionMasked(), is(MotionEvent.ACTION_MOVE));
+ assertThat(motionEventList.get(2).getActionMasked(), is(MotionEvent.ACTION_UP));
+ assertThat(motionEventList.get(0).getEventTime(), is(1L));
+ assertThat(motionEventList.get(1).getEventTime(), is(2L));
+ assertThat(motionEventList.get(2).getEventTime(), is(3L));
+ assertThat(motionEventList.get(0).getX(), is(2f));
+ assertThat(motionEventList.get(1).getX(), is(4f));
+ assertThat(motionEventList.get(2).getX(), is(6f));
+ assertThat(motionEventList.get(0).getY(), is(9f));
+ assertThat(motionEventList.get(1).getY(), is(7f));
+ assertThat(motionEventList.get(2).getY(), is(5f));
+
+ motionEventA.recycle();
+ motionEventB.recycle();
+ motionEventC.recycle();
+ }
+
+ @Test
+ public void test_trackRecentMotionEvents() {
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_DOWN, 1, 2, 9);
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 800, 4, 7);
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_UP, 1200, 6, 5);
+
+ mDataProvider.onMotionEvent(motionEventA);
+ mDataProvider.onMotionEvent(motionEventB);
+ List<MotionEvent> motionEventList = mDataProvider.getRecentMotionEvents();
+
+ assertThat(motionEventList.size(), is(2));
+ assertThat(motionEventList.get(0).getActionMasked(), is(MotionEvent.ACTION_DOWN));
+ assertThat(motionEventList.get(1).getActionMasked(), is(MotionEvent.ACTION_MOVE));
+ assertThat(motionEventList.get(0).getEventTime(), is(1L));
+ assertThat(motionEventList.get(1).getEventTime(), is(800L));
+ assertThat(motionEventList.get(0).getX(), is(2f));
+ assertThat(motionEventList.get(1).getX(), is(4f));
+ assertThat(motionEventList.get(0).getY(), is(9f));
+ assertThat(motionEventList.get(1).getY(), is(7f));
+
+ mDataProvider.onMotionEvent(motionEventC);
+
+ // Still two events, but event a is gone.
+ assertThat(motionEventList.size(), is(2));
+ assertThat(motionEventList.get(0).getActionMasked(), is(MotionEvent.ACTION_MOVE));
+ assertThat(motionEventList.get(1).getActionMasked(), is(MotionEvent.ACTION_UP));
+ assertThat(motionEventList.get(0).getEventTime(), is(800L));
+ assertThat(motionEventList.get(1).getEventTime(), is(1200L));
+ assertThat(motionEventList.get(0).getX(), is(4f));
+ assertThat(motionEventList.get(1).getX(), is(6f));
+ assertThat(motionEventList.get(0).getY(), is(7f));
+ assertThat(motionEventList.get(1).getY(), is(5f));
+
+ // The first, real event should still be a, however.
+ MotionEvent firstRealMotionEvent = mDataProvider.getFirstActualMotionEvent();
+ assertThat(firstRealMotionEvent.getActionMasked(), is(MotionEvent.ACTION_DOWN));
+ assertThat(firstRealMotionEvent.getEventTime(), is(1L));
+ assertThat(firstRealMotionEvent.getX(), is(2f));
+ assertThat(firstRealMotionEvent.getY(), is(9f));
+
+ motionEventA.recycle();
+ motionEventB.recycle();
+ motionEventC.recycle();
+ }
+
+ @Test
+ public void test_unpackMotionEvents() {
+ // Batching only works for motion events of the same type.
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_MOVE, 1, 2, 9);
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 4, 7);
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_MOVE, 3, 6, 5);
+ motionEventA.addBatch(motionEventB);
+ motionEventA.addBatch(motionEventC);
+ // Note that calling addBatch changes properties on the original event, not just it's
+ // historical artifacts.
+
+ mDataProvider.onMotionEvent(motionEventA);
+ List<MotionEvent> motionEventList = mDataProvider.getRecentMotionEvents();
+
+ assertThat(motionEventList.size(), is(3));
+ assertThat(motionEventList.get(0).getActionMasked(), is(MotionEvent.ACTION_MOVE));
+ assertThat(motionEventList.get(1).getActionMasked(), is(MotionEvent.ACTION_MOVE));
+ assertThat(motionEventList.get(2).getActionMasked(), is(MotionEvent.ACTION_MOVE));
+ assertThat(motionEventList.get(0).getEventTime(), is(1L));
+ assertThat(motionEventList.get(1).getEventTime(), is(2L));
+ assertThat(motionEventList.get(2).getEventTime(), is(3L));
+ assertThat(motionEventList.get(0).getX(), is(2f));
+ assertThat(motionEventList.get(1).getX(), is(4f));
+ assertThat(motionEventList.get(2).getX(), is(6f));
+ assertThat(motionEventList.get(0).getY(), is(9f));
+ assertThat(motionEventList.get(1).getY(), is(7f));
+ assertThat(motionEventList.get(2).getY(), is(5f));
+
+ motionEventA.recycle();
+ motionEventB.recycle();
+ motionEventC.recycle();
+ }
+
+ @Test
+ public void test_getAngle() {
+ MotionEvent motionEventOrigin = obtainMotionEvent(MotionEvent.ACTION_DOWN, 1, 0, 0);
+
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 1, 1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventA);
+ assertThat((double) mDataProvider.getAngle(), closeTo(Math.PI / 4, .001));
+ motionEventA.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, -1, -1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventB);
+ assertThat((double) mDataProvider.getAngle(), closeTo(5 * Math.PI / 4, .001));
+ motionEventB.recycle();
+ mDataProvider.onSessionEnd();
+
+
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 2, 0);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventC);
+ assertThat((double) mDataProvider.getAngle(), closeTo(0, .001));
+ motionEventC.recycle();
+ mDataProvider.onSessionEnd();
+ }
+
+ @Test
+ public void test_isHorizontal() {
+ MotionEvent motionEventOrigin = obtainMotionEvent(MotionEvent.ACTION_DOWN, 1, 0, 0);
+
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 1, 1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventA);
+ assertThat(mDataProvider.isHorizontal(), is(false));
+ motionEventA.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 2, 1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventB);
+ assertThat(mDataProvider.isHorizontal(), is(true));
+ motionEventB.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, -3, -1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventC);
+ assertThat(mDataProvider.isHorizontal(), is(true));
+ motionEventC.recycle();
+ mDataProvider.onSessionEnd();
+ }
+
+ @Test
+ public void test_isVertical() {
+ MotionEvent motionEventOrigin = obtainMotionEvent(MotionEvent.ACTION_DOWN, 1, 0, 0);
+
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 1, 0);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventA);
+ assertThat(mDataProvider.isVertical(), is(false));
+ motionEventA.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 0, 1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventB);
+ assertThat(mDataProvider.isVertical(), is(true));
+ motionEventB.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, -3, -10);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventC);
+ assertThat(mDataProvider.isVertical(), is(true));
+ motionEventC.recycle();
+ mDataProvider.onSessionEnd();
+ }
+
+ @Test
+ public void test_isRight() {
+ MotionEvent motionEventOrigin = obtainMotionEvent(MotionEvent.ACTION_DOWN, 1, 0, 0);
+
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 1, 1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventA);
+ assertThat(mDataProvider.isRight(), is(true));
+ motionEventA.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 0, 1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventB);
+ assertThat(mDataProvider.isRight(), is(false));
+ motionEventB.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, -3, -10);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventC);
+ assertThat(mDataProvider.isRight(), is(false));
+ motionEventC.recycle();
+ mDataProvider.onSessionEnd();
+ }
+
+ @Test
+ public void test_isUp() {
+ // Remember that our y axis is flipped.
+
+ MotionEvent motionEventOrigin = obtainMotionEvent(MotionEvent.ACTION_DOWN, 1, 0, 0);
+
+ MotionEvent motionEventA = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 1, -1);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventA);
+ assertThat(mDataProvider.isUp(), is(true));
+ motionEventA.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventB = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, 0, 0);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventB);
+ assertThat(mDataProvider.isUp(), is(false));
+ motionEventB.recycle();
+ mDataProvider.onSessionEnd();
+
+ MotionEvent motionEventC = obtainMotionEvent(MotionEvent.ACTION_MOVE, 2, -3, 10);
+ mDataProvider.onMotionEvent(motionEventOrigin);
+ mDataProvider.onMotionEvent(motionEventC);
+ assertThat(mDataProvider.isUp(), is(false));
+ motionEventC.recycle();
+ mDataProvider.onSessionEnd();
+ }
+
+ private MotionEvent obtainMotionEvent(int action, long eventTimeMs, float x, float y) {
+ return MotionEvent.obtain(1, eventTimeMs, action, x, y, 0);
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/PointerCountClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/PointerCountClassifierTest.java
new file mode 100644
index 0000000..cba9ee38
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/PointerCountClassifierTest.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.view.MotionEvent;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class PointerCountClassifierTest extends SysuiTestCase {
+
+ @Mock
+ private FalsingDataProvider mDataProvider;
+ private FalsingClassifier mClassifier;
+
+ @Before
+ public void setup() {
+ mClassifier = new PointerCountClassifier(mDataProvider);
+ }
+
+ @Test
+ public void testPass_noPointer() {
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_singlePointer() {
+ MotionEvent motionEvent = MotionEvent.obtain(1, 1, MotionEvent.ACTION_DOWN, 1, 1, 0);
+ mClassifier.onTouchEvent(motionEvent);
+ motionEvent.recycle();
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFail_multiPointer() {
+ MotionEvent.PointerProperties[] pointerProperties =
+ MotionEvent.PointerProperties.createArray(2);
+ pointerProperties[0].id = 0;
+ pointerProperties[1].id = 1;
+ MotionEvent.PointerCoords[] pointerCoords = MotionEvent.PointerCoords.createArray(2);
+ MotionEvent motionEvent = MotionEvent.obtain(
+ 1, 1, MotionEvent.ACTION_DOWN, 2, pointerProperties, pointerCoords, 0, 0, 0, 0, 0,
+ 0,
+ 0, 0);
+ mClassifier.onTouchEvent(motionEvent);
+ motionEvent.recycle();
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ProximityClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ProximityClassifierTest.java
new file mode 100644
index 0000000..2ed7925
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ProximityClassifierTest.java
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static com.android.systemui.classifier.Classifier.GENERIC;
+import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.when;
+
+import android.hardware.Sensor;
+import android.hardware.SensorEvent;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.view.MotionEvent;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+
+import java.lang.reflect.Field;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class ProximityClassifierTest extends SysuiTestCase {
+
+ private static final long NS_PER_MS = 1000000;
+
+ @Mock
+ private FalsingDataProvider mDataProvider;
+ @Mock
+ private DistanceClassifier mDistanceClassifier;
+ private FalsingClassifier mClassifier;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ when(mDataProvider.getInteractionType()).thenReturn(GENERIC);
+ when(mDistanceClassifier.isLongSwipe()).thenReturn(false);
+ mClassifier = new ProximityClassifier(mDistanceClassifier, mDataProvider);
+ }
+
+ @Test
+ public void testPass_uncovered() {
+ touchDown();
+ touchUp(10);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_mostlyUncovered() {
+ touchDown();
+ mClassifier.onSensorEvent(createSensorEvent(true, 1));
+ mClassifier.onSensorEvent(createSensorEvent(false, 2));
+ touchUp(20);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_quickSettings() {
+ touchDown();
+ when(mDataProvider.getInteractionType()).thenReturn(QUICK_SETTINGS);
+ mClassifier.onSensorEvent(createSensorEvent(true, 1));
+ mClassifier.onSensorEvent(createSensorEvent(false, 11));
+ touchUp(10);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFail_covered() {
+ touchDown();
+ mClassifier.onSensorEvent(createSensorEvent(true, 1));
+ mClassifier.onSensorEvent(createSensorEvent(false, 11));
+ touchUp(10);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testFail_mostlyCovered() {
+ touchDown();
+ mClassifier.onSensorEvent(createSensorEvent(true, 1));
+ mClassifier.onSensorEvent(createSensorEvent(true, 95));
+ mClassifier.onSensorEvent(createSensorEvent(true, 96));
+ mClassifier.onSensorEvent(createSensorEvent(false, 100));
+ touchUp(100);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_coveredWithLongSwipe() {
+ touchDown();
+ mClassifier.onSensorEvent(createSensorEvent(true, 1));
+ mClassifier.onSensorEvent(createSensorEvent(false, 11));
+ touchUp(10);
+ when(mDistanceClassifier.isLongSwipe()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ private void touchDown() {
+ MotionEvent motionEvent = MotionEvent.obtain(1, 1, MotionEvent.ACTION_DOWN, 0, 0, 0);
+ mClassifier.onTouchEvent(motionEvent);
+ motionEvent.recycle();
+ }
+
+ private void touchUp(long duration) {
+ MotionEvent motionEvent = MotionEvent.obtain(1, 1 + duration, MotionEvent.ACTION_UP, 0,
+ 100, 0);
+
+ mClassifier.onTouchEvent(motionEvent);
+
+ motionEvent.recycle();
+ }
+
+ private SensorEvent createSensorEvent(boolean covered, long timestampMs) {
+ SensorEvent sensorEvent = Mockito.mock(SensorEvent.class);
+ Sensor sensor = Mockito.mock(Sensor.class);
+ when(sensor.getType()).thenReturn(Sensor.TYPE_PROXIMITY);
+ when(sensor.getMaximumRange()).thenReturn(1f);
+ sensorEvent.sensor = sensor;
+ sensorEvent.timestamp = timestampMs * NS_PER_MS;
+ try {
+ Field valuesField = SensorEvent.class.getField("values");
+ valuesField.setAccessible(true);
+ float[] sensorValue = {covered ? 0 : 1};
+ try {
+ valuesField.set(sensorEvent, sensorValue);
+ } catch (IllegalAccessException e) {
+ e.printStackTrace();
+ }
+ } catch (NoSuchFieldException e) {
+ e.printStackTrace();
+ }
+
+ return sensorEvent;
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/TypeClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/TypeClassifierTest.java
new file mode 100644
index 0000000..4bb3c15
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/TypeClassifierTest.java
@@ -0,0 +1,307 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static com.android.systemui.classifier.Classifier.BOUNCER_UNLOCK;
+import static com.android.systemui.classifier.Classifier.LEFT_AFFORDANCE;
+import static com.android.systemui.classifier.Classifier.NOTIFICATION_DISMISS;
+import static com.android.systemui.classifier.Classifier.NOTIFICATION_DRAG_DOWN;
+import static com.android.systemui.classifier.Classifier.PULSE_EXPAND;
+import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
+import static com.android.systemui.classifier.Classifier.RIGHT_AFFORDANCE;
+import static com.android.systemui.classifier.Classifier.UNLOCK;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.when;
+
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class TypeClassifierTest extends SysuiTestCase {
+
+ @Mock
+ private FalsingDataProvider mDataProvider;
+
+ private FalsingClassifier mClassifier;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ mClassifier = new TypeClassifier(mDataProvider);
+ }
+
+ @Test
+ public void testPass_QuickSettings() {
+ when(mDataProvider.getInteractionType()).thenReturn(QUICK_SETTINGS);
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(false);
+
+ when(mDataProvider.isRight()).thenReturn(false); // right should cause no effect.
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_QuickSettings() {
+ when(mDataProvider.getInteractionType()).thenReturn(QUICK_SETTINGS);
+
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_PulseExpand() {
+ when(mDataProvider.getInteractionType()).thenReturn(PULSE_EXPAND);
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(false);
+
+ when(mDataProvider.isRight()).thenReturn(false); // right should cause no effect.
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_PulseExpand() {
+ when(mDataProvider.getInteractionType()).thenReturn(PULSE_EXPAND);
+
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_NotificationDragDown() {
+ when(mDataProvider.getInteractionType()).thenReturn(NOTIFICATION_DRAG_DOWN);
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(false);
+
+ when(mDataProvider.isRight()).thenReturn(false); // right should cause no effect.
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_NotificationDragDown() {
+ when(mDataProvider.getInteractionType()).thenReturn(NOTIFICATION_DRAG_DOWN);
+
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_NotificationDismiss() {
+ when(mDataProvider.getInteractionType()).thenReturn(NOTIFICATION_DISMISS);
+ when(mDataProvider.isVertical()).thenReturn(false);
+
+ when(mDataProvider.isUp()).thenReturn(false); // up and right should cause no effect.
+ when(mDataProvider.isRight()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isUp()).thenReturn(true);
+ when(mDataProvider.isRight()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isUp()).thenReturn(false);
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isUp()).thenReturn(true);
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_NotificationDismiss() {
+ when(mDataProvider.getInteractionType()).thenReturn(NOTIFICATION_DISMISS);
+ when(mDataProvider.isVertical()).thenReturn(true);
+
+ when(mDataProvider.isUp()).thenReturn(false); // up and right should cause no effect.
+ when(mDataProvider.isRight()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isUp()).thenReturn(true);
+ when(mDataProvider.isRight()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isUp()).thenReturn(false);
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isUp()).thenReturn(true);
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+
+ @Test
+ public void testPass_Unlock() {
+ when(mDataProvider.getInteractionType()).thenReturn(UNLOCK);
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(true);
+
+
+ when(mDataProvider.isRight()).thenReturn(false); // right should cause no effect.
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_Unlock() {
+ when(mDataProvider.getInteractionType()).thenReturn(UNLOCK);
+
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_BouncerUnlock() {
+ when(mDataProvider.getInteractionType()).thenReturn(BOUNCER_UNLOCK);
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(true);
+
+
+ when(mDataProvider.isRight()).thenReturn(false); // right should cause no effect.
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_BouncerUnlock() {
+ when(mDataProvider.getInteractionType()).thenReturn(BOUNCER_UNLOCK);
+
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isVertical()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isVertical()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_LeftAffordance() {
+ when(mDataProvider.getInteractionType()).thenReturn(LEFT_AFFORDANCE);
+ when(mDataProvider.isUp()).thenReturn(true);
+ when(mDataProvider.isRight()).thenReturn(true);
+
+
+ when(mDataProvider.isVertical()).thenReturn(false); // vertical should cause no effect.
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isVertical()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_LeftAffordance() {
+ when(mDataProvider.getInteractionType()).thenReturn(LEFT_AFFORDANCE);
+
+ when(mDataProvider.isRight()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isRight()).thenReturn(true);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isRight()).thenReturn(false);
+ when(mDataProvider.isUp()).thenReturn(false);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_RightAffordance() {
+ when(mDataProvider.getInteractionType()).thenReturn(RIGHT_AFFORDANCE);
+ when(mDataProvider.isUp()).thenReturn(true);
+ when(mDataProvider.isRight()).thenReturn(false);
+
+
+ when(mDataProvider.isVertical()).thenReturn(false); // vertical should cause no effect.
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ when(mDataProvider.isVertical()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFalse_RightAffordance() {
+ when(mDataProvider.getInteractionType()).thenReturn(RIGHT_AFFORDANCE);
+
+ when(mDataProvider.isUp()).thenReturn(true);
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isUp()).thenReturn(false);
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+
+ when(mDataProvider.isUp()).thenReturn(false);
+ when(mDataProvider.isRight()).thenReturn(true);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ZigZagClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ZigZagClassifierTest.java
new file mode 100644
index 0000000..9d09a7e
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ZigZagClassifierTest.java
@@ -0,0 +1,470 @@
+/*
+ * Copyright (C) 2019 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.systemui.classifier.brightline;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Mockito.when;
+
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.view.MotionEvent;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SysuiTestCase;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class ZigZagClassifierTest extends SysuiTestCase {
+
+ private static final long NS_PER_MS = 1000000;
+
+ @Mock
+ private FalsingDataProvider mDataProvider;
+ private FalsingClassifier mClassifier;
+ private List<MotionEvent> mMotionEvents = new ArrayList<>();
+ private float mOffsetX = 0;
+ private float mOffsetY = 0;
+ private float mDx;
+ private float mDy;
+
+ @Before
+ public void setup() {
+ MockitoAnnotations.initMocks(this);
+ when(mDataProvider.getXdpi()).thenReturn(100f);
+ when(mDataProvider.getYdpi()).thenReturn(100f);
+ when(mDataProvider.getRecentMotionEvents()).thenReturn(mMotionEvents);
+ mClassifier = new ZigZagClassifier(mDataProvider);
+
+
+ // Calculate the response to these calls on the fly, otherwise Mockito gets bogged down
+ // everytime we call appendMotionEvent.
+ when(mDataProvider.getFirstRecentMotionEvent()).thenAnswer(
+ (Answer<MotionEvent>) invocation -> mMotionEvents.get(0));
+ when(mDataProvider.getLastMotionEvent()).thenAnswer(
+ (Answer<MotionEvent>) invocation -> mMotionEvents.get(mMotionEvents.size() - 1));
+ when(mDataProvider.isHorizontal()).thenAnswer(
+ (Answer<Boolean>) invocation -> Math.abs(mDy) < Math.abs(mDx));
+ when(mDataProvider.isVertical()).thenAnswer(
+ (Answer<Boolean>) invocation -> Math.abs(mDy) > Math.abs(mDx));
+ when(mDataProvider.isRight()).thenAnswer((Answer<Boolean>) invocation -> mDx > 0);
+ when(mDataProvider.isUp()).thenAnswer((Answer<Boolean>) invocation -> mDy < 0);
+ }
+
+ @After
+ public void tearDown() {
+ clearMotionEvents();
+ }
+
+ @Test
+ public void testPass_fewTouchesVertical() {
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ appendMotionEvent(0, 0);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ appendMotionEvent(0, 100);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_vertical() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(0, 100);
+ appendMotionEvent(0, 200);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_fewTouchesHorizontal() {
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ appendMotionEvent(0, 0);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ appendMotionEvent(100, 0);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_horizontal() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, 0);
+ appendMotionEvent(200, 0);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+
+ @Test
+ public void testFail_minimumTouchesVertical() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(0, 100);
+ appendMotionEvent(0, 1);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testFail_minimumTouchesHorizontal() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, 0);
+ appendMotionEvent(1, 0);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testPass_fortyFiveDegreesStraight() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(10, 10);
+ appendMotionEvent(20, 20);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_horizontalZigZagVerticalStraight() {
+ // This test looks just like testFail_horizontalZigZagVerticalStraight but with
+ // a longer y range, making it look straighter.
+ appendMotionEvent(0, 0);
+ appendMotionEvent(5, 100);
+ appendMotionEvent(-5, 200);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testPass_horizontalStraightVerticalZigZag() {
+ // This test looks just like testFail_horizontalStraightVerticalZigZag but with
+ // a longer x range, making it look straighter.
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, 5);
+ appendMotionEvent(200, -5);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+ }
+
+ @Test
+ public void testFail_horizontalZigZagVerticalStraight() {
+ // This test looks just like testPass_horizontalZigZagVerticalStraight but with
+ // a shorter y range, making it look more crooked.
+ appendMotionEvent(0, 0);
+ appendMotionEvent(5, 10);
+ appendMotionEvent(-5, 20);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void testFail_horizontalStraightVerticalZigZag() {
+ // This test looks just like testPass_horizontalStraightVerticalZigZag but with
+ // a shorter x range, making it look more crooked.
+ appendMotionEvent(0, 0);
+ appendMotionEvent(10, 5);
+ appendMotionEvent(20, -5);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between0And45() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, 5);
+ appendMotionEvent(200, 10);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, 0);
+ appendMotionEvent(200, 10);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, -10);
+ appendMotionEvent(200, 10);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, -10);
+ appendMotionEvent(200, 50);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between45And90() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(10, 50);
+ appendMotionEvent(8, 100);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(1, 800);
+ appendMotionEvent(2, 900);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-10, 600);
+ appendMotionEvent(30, 700);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(40, 100);
+ appendMotionEvent(0, 101);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between90And135() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-10, 50);
+ appendMotionEvent(-24, 100);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-20, 800);
+ appendMotionEvent(-20, 900);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(30, 600);
+ appendMotionEvent(-10, 700);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-80, 100);
+ appendMotionEvent(-10, 101);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between135And180() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-120, 10);
+ appendMotionEvent(-200, 20);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-20, 8);
+ appendMotionEvent(-40, 2);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-500, -2);
+ appendMotionEvent(-600, 70);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-80, 100);
+ appendMotionEvent(-100, 1);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between180And225() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-120, -10);
+ appendMotionEvent(-200, -20);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-20, -8);
+ appendMotionEvent(-40, -2);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-500, 2);
+ appendMotionEvent(-600, -70);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-80, -100);
+ appendMotionEvent(-100, -1);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between225And270() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-12, -20);
+ appendMotionEvent(-20, -40);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-20, -130);
+ appendMotionEvent(-40, -260);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(1, -100);
+ appendMotionEvent(-6, -200);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-80, -100);
+ appendMotionEvent(-10, -110);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between270And315() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(12, -20);
+ appendMotionEvent(20, -40);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(20, -130);
+ appendMotionEvent(40, -260);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(-1, -100);
+ appendMotionEvent(6, -200);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(80, -100);
+ appendMotionEvent(10, -110);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_between315And360() {
+ appendMotionEvent(0, 0);
+ appendMotionEvent(120, -20);
+ appendMotionEvent(200, -40);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(200, -13);
+ appendMotionEvent(400, -30);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(100, 10);
+ appendMotionEvent(600, -20);
+ assertThat(mClassifier.isFalseTouch(), is(false));
+
+ mMotionEvents.clear();
+ appendMotionEvent(0, 0);
+ appendMotionEvent(80, -100);
+ appendMotionEvent(100, -1);
+ assertThat(mClassifier.isFalseTouch(), is(true));
+ }
+
+ @Test
+ public void test_randomOrigins() {
+ // The purpose of this test is to try all the other tests from different starting points.
+ // We use a pre-determined seed to make this test repeatable.
+ Random rand = new Random(23);
+ for (int i = 0; i < 100; i++) {
+ mOffsetX = rand.nextInt(2000) - 1000;
+ mOffsetY = rand.nextInt(2000) - 1000;
+ try {
+ clearMotionEvents();
+ testPass_fewTouchesVertical();
+ clearMotionEvents();
+ testPass_vertical();
+ clearMotionEvents();
+ testFail_horizontalStraightVerticalZigZag();
+ clearMotionEvents();
+ testFail_horizontalZigZagVerticalStraight();
+ clearMotionEvents();
+ testFail_minimumTouchesHorizontal();
+ clearMotionEvents();
+ testFail_minimumTouchesVertical();
+ clearMotionEvents();
+ testPass_fewTouchesHorizontal();
+ clearMotionEvents();
+ testPass_fortyFiveDegreesStraight();
+ clearMotionEvents();
+ testPass_horizontal();
+ clearMotionEvents();
+ testPass_horizontalStraightVerticalZigZag();
+ clearMotionEvents();
+ testPass_horizontalZigZagVerticalStraight();
+ clearMotionEvents();
+ test_between0And45();
+ clearMotionEvents();
+ test_between45And90();
+ clearMotionEvents();
+ test_between90And135();
+ clearMotionEvents();
+ test_between135And180();
+ clearMotionEvents();
+ test_between180And225();
+ clearMotionEvents();
+ test_between225And270();
+ clearMotionEvents();
+ test_between270And315();
+ clearMotionEvents();
+ test_between315And360();
+ } catch (AssertionError e) {
+ throw new AssertionError("Random origin failure in iteration " + i, e);
+ }
+ }
+ }
+
+ private void clearMotionEvents() {
+ for (MotionEvent motionEvent : mMotionEvents) {
+ motionEvent.recycle();
+ }
+ mMotionEvents.clear();
+ }
+
+ private void appendMotionEvent(float x, float y) {
+ x += mOffsetX;
+ y += mOffsetY;
+
+ long eventTime = mMotionEvents.size() + 1;
+ MotionEvent motionEvent = MotionEvent.obtain(1, eventTime, MotionEvent.ACTION_DOWN, x, y,
+ 0);
+ mMotionEvents.add(motionEvent);
+
+ mDx = mDataProvider.getFirstRecentMotionEvent().getX()
+ - mDataProvider.getLastMotionEvent().getX();
+ mDy = mDataProvider.getFirstRecentMotionEvent().getY()
+ - mDataProvider.getLastMotionEvent().getY();
+
+ mClassifier.onTouchEvent(motionEvent);
+ }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
index c692359..bf06794 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
@@ -49,6 +49,8 @@
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.phone.KeyguardBypassController;
+import com.android.systemui.statusbar.policy.ZenModeController;
+import com.android.systemui.util.wakelock.SettableWakeLock;
import org.junit.Assert;
import org.junit.Before;
@@ -76,6 +78,12 @@
private StatusBarStateController mStatusBarStateController;
@Mock
private KeyguardBypassController mKeyguardBypassController;
+ @Mock
+ private ZenModeController mZenModeController;
+ @Mock
+ private SettableWakeLock mMediaWakeLock;
+ @Mock
+ private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
private TestableKeyguardSliceProvider mProvider;
private boolean mIsZenMode;
@@ -210,6 +218,20 @@
verify(mContentResolver, never()).notifyChange(eq(mProvider.getUri()), eq(null));
}
+ @Test
+ public void onDestroy_noCrash() {
+ mProvider.onDestroy();
+ }
+
+ @Test
+ public void onDestroy_unregisterListeners() {
+ mProvider.registerClockUpdate();
+ mProvider.onDestroy();
+ verify(mMediaWakeLock).setAcquired(eq(false));
+ verify(mAlarmManager).cancel(any(AlarmManager.OnAlarmListener.class));
+ verify(mKeyguardUpdateMonitor).removeCallback(any());
+ }
+
private class TestableKeyguardSliceProvider extends KeyguardSliceProvider {
int mCleanDateFormatInvokations;
private int mCounter;
@@ -223,6 +245,8 @@
super.onCreateSliceProvider();
mAlarmManager = KeyguardSliceProviderTest.this.mAlarmManager;
mContentResolver = KeyguardSliceProviderTest.this.mContentResolver;
+ mZenModeController = KeyguardSliceProviderTest.this.mZenModeController;
+ mMediaWakeLock = KeyguardSliceProviderTest.this.mMediaWakeLock;
return true;
}
@@ -239,7 +263,7 @@
@Override
public KeyguardUpdateMonitor getKeyguardUpdateMonitor() {
- return mock(KeyguardUpdateMonitor.class);
+ return mKeyguardUpdateMonitor;
}
@Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
index f73472f..f2292fd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java
@@ -18,23 +18,28 @@
import static junit.framework.Assert.assertEquals;
+import static junit.framework.Assert.assertTrue;
import static junit.framework.TestCase.assertFalse;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.Looper;
+import android.provider.Settings;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;
import androidx.test.filters.SmallTest;
+import com.android.internal.util.CollectionUtils;
import com.android.systemui.DumpController;
+import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.plugins.qs.QSFactory;
import com.android.systemui.plugins.qs.QSTile;
@@ -108,7 +113,6 @@
return null;
}
});
-
}
@Test
@@ -124,6 +128,26 @@
}
@Test
+ public void testInvalidSpecUsesDefault() {
+ mContext.getOrCreateTestableResources()
+ .addOverride(R.string.quick_settings_tiles, "spec1,spec2");
+ mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "not-valid");
+
+ assertEquals(2, mQSTileHost.getTiles().size());
+ }
+
+ @Test
+ public void testSpecWithInvalidDoesNotUseDefault() {
+ mContext.getOrCreateTestableResources()
+ .addOverride(R.string.quick_settings_tiles, "spec1,spec2");
+ mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec2,not-valid");
+
+ assertEquals(1, mQSTileHost.getTiles().size());
+ QSTile element = CollectionUtils.firstOrNull(mQSTileHost.getTiles());
+ assertTrue(element instanceof TestTile2);
+ }
+
+ @Test
public void testDump() {
mQSTileHost.onTuningChanged(QSTileHost.TILES_SETTING, "spec1,spec2");
StringWriter w = new StringWriter();
@@ -153,6 +177,21 @@
@Override
public void onPluginDisconnected(QSFactory plugin) {
}
+
+ @Override
+ public void changeTiles(List<String> previousTiles, List<String> newTiles) {
+ String previousSetting = Settings.Secure.getStringForUser(
+ getContext().getContentResolver(), TILES_SETTING,
+ ActivityManager.getCurrentUser());
+ super.changeTiles(previousTiles, newTiles);
+ // After tiles are changed, make sure to call onTuningChanged with the new setting if it
+ // changed
+ String newSetting = Settings.Secure.getStringForUser(getContext().getContentResolver(),
+ TILES_SETTING, ActivityManager.getCurrentUser());
+ if (!previousSetting.equals(newSetting)) {
+ onTuningChanged(TILES_SETTING, newSetting);
+ }
+ }
}
private class TestTile extends QSTileImpl<QSTile.State> {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
index de8dcfe..7063ddf 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
@@ -48,6 +48,7 @@
import com.android.systemui.statusbar.notification.row.NotificationContentInflater.InflationFlag;
import com.android.systemui.statusbar.notification.row.NotificationContentInflaterTest;
import com.android.systemui.statusbar.phone.HeadsUpManagerPhone;
+import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.phone.NotificationGroupManager;
import com.android.systemui.statusbar.policy.HeadsUpManager;
@@ -78,7 +79,8 @@
mInstrumentation = InstrumentationRegistry.getInstrumentation();
StatusBarStateController stateController = mock(StatusBarStateController.class);
mGroupManager = new NotificationGroupManager(stateController);
- mHeadsUpManager = new HeadsUpManagerPhone(mContext, stateController);
+ mHeadsUpManager = new HeadsUpManagerPhone(mContext, stateController,
+ mock(KeyguardBypassController.class));
mHeadsUpManager.setUp(null, mGroupManager, null, null);
mGroupManager.setHeadsUpManager(mHeadsUpManager);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManagerTest.java
index 7e6335d..524ad85 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationRoundnessManagerTest.java
@@ -35,6 +35,7 @@
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView;
+import com.android.systemui.statusbar.phone.KeyguardBypassController;
import org.junit.Assert;
import org.junit.Before;
@@ -57,11 +58,13 @@
private ExpandableNotificationRow mSecond;
@Mock
private StatusBarStateController mStatusBarStateController;
+ @Mock
+ private KeyguardBypassController mBypassController;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
- mRoundnessManager = new NotificationRoundnessManager();
+ mRoundnessManager = new NotificationRoundnessManager(mBypassController);
com.android.systemui.util.Assert.sMainLooper = TestableLooper.get(this).getLooper();
NotificationTestHelper testHelper = new NotificationTestHelper(getContext());
mFirst = testHelper.createRow();
@@ -260,15 +263,15 @@
}
@Test
- public void testTrackingHeadsUpNotRoundedIfPushingDown() {
+ public void testTrackingHeadsUpPartiallyRoundedIfPushingDown() {
mRoundnessManager.setExpanded(1.0f /* expandedHeight */, 0.5f /* appearFraction */);
mRoundnessManager.setTrackingHeadsUp(mFirst);
mRoundnessManager.updateRoundedChildren(new NotificationSection[]{
createSection(mSecond, mSecond),
createSection(null, null)
});
- Assert.assertEquals(0.0f, mFirst.getCurrentBottomRoundness(), 0.0f);
- Assert.assertEquals(0.0f, mFirst.getCurrentTopRoundness(), 0.0f);
+ Assert.assertEquals(0.5f, mFirst.getCurrentBottomRoundness(), 0.0f);
+ Assert.assertEquals(0.5f, mFirst.getCurrentTopRoundness(), 0.0f);
}
@Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
index 95cf90b96..92173cc 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
@@ -38,11 +38,12 @@
import android.metrics.LogMaker;
import android.provider.Settings;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
import android.view.View;
import androidx.test.annotation.UiThreadTest;
import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto;
@@ -95,7 +96,8 @@
* Tests for {@link NotificationStackScrollLayout}.
*/
@SmallTest
-@RunWith(AndroidJUnit4.class)
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
public class NotificationStackScrollLayoutTest extends SysuiTestCase {
private NotificationStackScrollLayout mStackScroller; // Normally test this
@@ -123,6 +125,8 @@
@Before
@UiThreadTest
public void setUp() throws Exception {
+ com.android.systemui.util.Assert.sMainLooper = TestableLooper.get(this).getLooper();
+
mOriginalInterruptionModelSetting = Settings.Secure.getInt(mContext.getContentResolver(),
NOTIFICATION_NEW_INTERRUPTION_MODEL, 0);
Settings.Secure.putInt(mContext.getContentResolver(),
@@ -196,17 +200,6 @@
}
@Test
- public void testAntiBurnInOffset() {
- final int burnInOffset = 30;
- mStackScroller.setAntiBurnInOffsetX(burnInOffset);
- mStackScroller.setHideAmount(0.0f, 0.0f);
- Assert.assertEquals(0 /* expected */, mStackScroller.getTranslationX(), 0.01 /* delta */);
- mStackScroller.setHideAmount(1.0f, 1.0f);
- Assert.assertEquals(burnInOffset /* expected */, mStackScroller.getTranslationX(),
- 0.01 /* delta */);
- }
-
- @Test
public void updateEmptyView_dndSuppressing() {
when(mEmptyShadeView.willBeGone()).thenReturn(true);
when(mBar.areNotificationsHidden()).thenReturn(true);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java
index 3d49d58..4e86f19 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/BiometricsUnlockControllerTest.java
@@ -120,7 +120,7 @@
BiometricSourceType.FINGERPRINT);
verify(mStatusBarKeyguardViewManager, never()).showBouncer(anyBoolean());
- verify(mStatusBarKeyguardViewManager).animateCollapsePanels(anyFloat());
+ verify(mStatusBarKeyguardViewManager).notifyKeyguardAuthenticated(eq(false));
}
@Test
@@ -151,7 +151,7 @@
mBiometricUnlockController.onBiometricAuthenticated(UserHandle.USER_CURRENT,
BiometricSourceType.FACE);
- verify(mStatusBarKeyguardViewManager).animateCollapsePanels(anyFloat());
+ verify(mStatusBarKeyguardViewManager).notifyKeyguardAuthenticated(eq(false));
}
@Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java
index 0479b4a..b45707e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java
@@ -32,6 +32,7 @@
import com.android.systemui.SysuiTestCase;
import com.android.systemui.plugins.DarkIconDispatcher;
+import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.HeadsUpStatusBarView;
import com.android.systemui.statusbar.NotificationTestHelper;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -56,6 +57,8 @@
private HeadsUpStatusBarView mHeadsUpStatusBarView;
private HeadsUpManagerPhone mHeadsUpManager;
private View mOperatorNameView;
+ private StatusBarStateController mStatusbarStateController;
+ private KeyguardBypassController mBypassController;
@Before
public void setUp() throws Exception {
@@ -67,16 +70,20 @@
mock(TextView.class));
mHeadsUpManager = mock(HeadsUpManagerPhone.class);
mOperatorNameView = new View(mContext);
+ mStatusbarStateController = mock(StatusBarStateController.class);
+ mBypassController = mock(KeyguardBypassController.class);
mHeadsUpAppearanceController = new HeadsUpAppearanceController(
mock(NotificationIconAreaController.class),
mHeadsUpManager,
+ mStatusbarStateController,
+ mBypassController,
mHeadsUpStatusBarView,
mStackScroller,
mPanelView,
new View(mContext),
mOperatorNameView,
new View(mContext));
- mHeadsUpAppearanceController.setExpandedHeight(0.0f, 0.0f);
+ mHeadsUpAppearanceController.setAppearFraction(0.0f, 0.0f);
}
@Test
@@ -139,11 +146,13 @@
@Test
public void testHeaderReadFromOldController() {
- mHeadsUpAppearanceController.setExpandedHeight(1.0f, 1.0f);
+ mHeadsUpAppearanceController.setAppearFraction(1.0f, 1.0f);
HeadsUpAppearanceController newController = new HeadsUpAppearanceController(
mock(NotificationIconAreaController.class),
mHeadsUpManager,
+ mStatusbarStateController,
+ mBypassController,
mHeadsUpStatusBarView,
mStackScroller,
mPanelView,
@@ -154,8 +163,8 @@
Assert.assertEquals(mHeadsUpAppearanceController.mExpandedHeight,
newController.mExpandedHeight, 0.0f);
- Assert.assertEquals(mHeadsUpAppearanceController.mExpandFraction,
- newController.mExpandFraction, 0.0f);
+ Assert.assertEquals(mHeadsUpAppearanceController.mAppearFraction,
+ newController.mAppearFraction, 0.0f);
Assert.assertEquals(mHeadsUpAppearanceController.mIsExpanded,
newController.mIsExpanded);
}
@@ -172,7 +181,7 @@
verify(mPanelView).removeVerticalTranslationListener(any());
verify(mPanelView).removeTrackingHeadsUpListener(any());
verify(mPanelView).setHeadsUpAppearanceController(any());
- verify(mStackScroller).removeOnExpandedHeightListener(any());
+ verify(mStackScroller).removeOnExpandedHeightChangedListener(any());
verify(mStackScroller).removeOnLayoutChangeListener(any());
}
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java
index a66345b..f8b9e68 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhoneTest.java
@@ -57,14 +57,16 @@
@Mock private VisualStabilityManager mVSManager;
@Mock private StatusBar mBar;
@Mock private StatusBarStateController mStatusBarStateController;
+ @Mock private KeyguardBypassController mBypassController;
private boolean mLivesPastNormalTime;
private final class TestableHeadsUpManagerPhone extends HeadsUpManagerPhone {
TestableHeadsUpManagerPhone(Context context, View statusBarWindowView,
NotificationGroupManager groupManager, StatusBar bar,
VisualStabilityManager vsManager,
- StatusBarStateController statusBarStateController) {
- super(context, statusBarStateController);
+ StatusBarStateController statusBarStateController,
+ KeyguardBypassController keyguardBypassController) {
+ super(context, statusBarStateController, keyguardBypassController);
setUp(statusBarWindowView, groupManager, bar, vsManager);
mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;
@@ -84,7 +86,7 @@
.thenReturn(TEST_AUTO_DISMISS_TIME);
when(mVSManager.isReorderingAllowed()).thenReturn(true);
mHeadsUpManager = new TestableHeadsUpManagerPhone(mContext, mStatusBarWindowView,
- mGroupManager, mBar, mVSManager, mStatusBarStateController);
+ mGroupManager, mBar, mVSManager, mStatusBarStateController, mBypassController);
super.setUp();
mHeadsUpManager.mHandler = mTestHandler;
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java
deleted file mode 100644
index b1d5d26..0000000
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationIconAreaControllerTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2019 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.systemui.statusbar.phone;
-
-import static android.provider.Settings.Secure.NOTIFICATION_NEW_INTERRUPTION_MODEL;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.when;
-
-import android.provider.Settings;
-import android.testing.AndroidTestingRunner;
-import android.testing.TestableLooper;
-
-import androidx.test.filters.SmallTest;
-
-import com.android.systemui.R;
-import com.android.systemui.SysuiTestCase;
-import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.statusbar.NotificationListener;
-import com.android.systemui.statusbar.NotificationMediaManager;
-import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@SmallTest
-@RunWith(AndroidTestingRunner.class)
-@TestableLooper.RunWithLooper
-public class NotificationIconAreaControllerTest extends SysuiTestCase {
-
- @Mock
- private NotificationListener mListener;
- @Mock
- StatusBar mStatusBar;
- @Mock
- StatusBarWindowView mStatusBarWindowView;
- @Mock
- NotificationIconContainer mIconContainer;
- @Mock
- StatusBarStateController mStatusBarStateController;
- @Mock
- NotificationWakeUpCoordinator mNotificationWakeUpCoordinator;
- @Mock
- KeyguardBypassController mBypassController;
- @Mock
- private NotificationMediaManager mMediaManager;
- private NotificationIconAreaController mController;
-
- @Before
- public void setup() {
- MockitoAnnotations.initMocks(this);
- when(mStatusBar.getStatusBarWindow()).thenReturn(mStatusBarWindowView);
- when(mStatusBarWindowView.findViewById(R.id.clock_notification_icon_container)).thenReturn(
- mIconContainer);
- mController = new NotificationIconAreaController(mContext, mStatusBar,
- mStatusBarStateController, mNotificationWakeUpCoordinator, mBypassController,
- mListener, mMediaManager);
- }
-
- @Test
- public void testNotificationIcons_featureOff() {
- Settings.Secure.putInt(
- mContext.getContentResolver(), NOTIFICATION_NEW_INTERRUPTION_MODEL, 0);
- assertTrue(mController.shouldShouldLowPriorityIcons());
- }
-
- @Test
- public void testNotificationIcons_featureOn_settingHideIcons() {
- Settings.Secure.putInt(
- mContext.getContentResolver(), NOTIFICATION_NEW_INTERRUPTION_MODEL, 1);
- mController.mSettingsListener.onStatusBarIconsBehaviorChanged(true);
-
- assertFalse(mController.shouldShouldLowPriorityIcons());
- }
-
- @Test
- public void testNotificationIcons_featureOn_settingShowIcons() {
- Settings.Secure.putInt(
- mContext.getContentResolver(), NOTIFICATION_NEW_INTERRUPTION_MODEL, 1);
- mController.mSettingsListener.onStatusBarIconsBehaviorChanged(false);
-
- assertTrue(mController.shouldShouldLowPriorityIcons());
- }
-}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
index 7742023..d14b460 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/NotificationPanelViewTest.java
@@ -45,6 +45,7 @@
import com.android.systemui.statusbar.SysuiStatusBarStateController;
import com.android.systemui.statusbar.notification.DynamicPrivacyController;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
+import com.android.systemui.statusbar.notification.stack.NotificationRoundnessManager;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.ZenModeController;
@@ -112,14 +113,15 @@
mDependency.injectMockDependency(ConfigurationController.class);
mDependency.injectMockDependency(ZenModeController.class);
KeyguardBypassController bypassController = new KeyguardBypassController(mContext,
- mock(TunerService.class), mStatusBarStateController);
+ mock(TunerService.class), mStatusBarStateController,
+ mock(NotificationLockscreenUserManager.class));
NotificationWakeUpCoordinator coordinator =
new NotificationWakeUpCoordinator(mContext,
mock(HeadsUpManagerPhone.class),
new StatusBarStateControllerImpl(),
bypassController);
PulseExpansionHandler expansionHandler = new PulseExpansionHandler(mContext, coordinator,
- bypassController);
+ bypassController, mHeadsUpManager, mock(NotificationRoundnessManager.class));
mNotificationPanelView = new TestableNotificationPanelView(coordinator, expansionHandler,
bypassController);
mNotificationPanelView.setHeadsUpManager(mHeadsUpManager);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
index 191c983..d8e90a5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
@@ -508,6 +508,38 @@
}
@Test
+ public void transitionToPulsing_withTimeoutWallpaperCallback_willHideWallpaper() {
+ mScrimController.setWallpaperSupportsAmbientMode(true);
+
+ mScrimController.transitionTo(ScrimState.PULSING, new ScrimController.Callback() {
+ @Override
+ public boolean shouldTimeoutWallpaper() {
+ return true;
+ }
+ });
+
+ verify(mAlarmManager).setExact(anyInt(), anyLong(), any(), any(), any());
+ }
+
+ @Test
+ public void transitionToPulsing_withDefaultCallback_wontHideWallpaper() {
+ mScrimController.setWallpaperSupportsAmbientMode(true);
+
+ mScrimController.transitionTo(ScrimState.PULSING, new ScrimController.Callback() {});
+
+ verify(mAlarmManager, never()).setExact(anyInt(), anyLong(), any(), any(), any());
+ }
+
+ @Test
+ public void transitionToPulsing_withoutCallback_wontHideWallpaper() {
+ mScrimController.setWallpaperSupportsAmbientMode(true);
+
+ mScrimController.transitionTo(ScrimState.PULSING);
+
+ verify(mAlarmManager, never()).setExact(anyInt(), anyLong(), any(), any(), any());
+ }
+
+ @Test
public void testConservesExpansionOpacityAfterTransition() {
mScrimController.transitionTo(ScrimState.UNLOCKED);
mScrimController.setPanelExpansion(0.5f);
diff --git a/proto/src/metrics_constants/metrics_constants.proto b/proto/src/metrics_constants/metrics_constants.proto
index c58e929..5a4892c 100644
--- a/proto/src/metrics_constants/metrics_constants.proto
+++ b/proto/src/metrics_constants/metrics_constants.proto
@@ -5780,7 +5780,7 @@
// OS: P
WIFI_SCANNING_NEEDED_DIALOG = 1373;
- // OPEN: Settings > System > Gestures > Swipe up gesture
+ // OPEN: Settings > System > Gestures > System navigation
// CATEGORY: SETTINGS
// OS: P
SETTINGS_GESTURE_SWIPE_UP = 1374;
@@ -7402,6 +7402,18 @@
// OS: Q
MODULE_LICENSES_DASHBOARD = 1746;
+ // OPEN: Settings > System > Gestures > System navigation > Info icon
+ // CATEGORY: SETTINGS
+ // OS: Q
+ // Note: Info icon is visible only when gesture navigation is not available and disabled
+ SETTINGS_GESTURE_NAV_NOT_AVAILABLE_DLG = 1747;
+
+ // OPEN: Settings > System > Gestures > System navigation > Gear icon
+ // CATEGORY: SETTINGS
+ // OS: Q
+ // Note: Gear icon is shown next to gesture navigation preference and opens sensitivity dialog
+ SETTINGS_GESTURE_NAV_BACK_SENSITIVITY_DLG = 1748;
+
// ---- End Q Constants, all Q constants go above this line ----
// Add new aosp constants above this line.
// END OF AOSP CONSTANTS
diff --git a/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java b/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java
index 10ba9a5..03c4542 100644
--- a/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java
+++ b/services/appprediction/java/com/android/server/appprediction/AppPredictionPerUserService.java
@@ -28,7 +28,7 @@
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ParceledListSlice;
import android.content.pm.ServiceInfo;
-import android.os.IBinder;
+import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.service.appprediction.AppPredictionService;
import android.util.ArrayMap;
@@ -37,7 +37,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.server.infra.AbstractPerUserSystemService;
-import java.util.ArrayList;
+import java.util.function.Consumer;
/**
* Per-user instance of {@link AppPredictionManagerService}.
@@ -108,15 +108,10 @@
if (service != null) {
service.onCreatePredictionSession(context, sessionId);
- mSessionInfos.put(sessionId, new AppPredictionSessionInfo(sessionId, context, () -> {
- synchronized (mLock) {
- AppPredictionSessionInfo sessionInfo = mSessionInfos.get(sessionId);
- if (sessionInfo != null) {
- sessionInfo.removeAllCallbacksLocked();
- mSessionInfos.remove(sessionId);
- }
- }
- }));
+ if (!mSessionInfos.containsKey(sessionId)) {
+ mSessionInfos.put(sessionId, new AppPredictionSessionInfo(sessionId, context,
+ this::removeAppPredictionSessionInfo));
+ }
}
}
@@ -212,8 +207,7 @@
AppPredictionSessionInfo sessionInfo = mSessionInfos.get(sessionId);
if (sessionInfo != null) {
- sessionInfo.removeAllCallbacksLocked();
- mSessionInfos.remove(sessionId);
+ sessionInfo.destroy();
}
}
}
@@ -273,6 +267,15 @@
}
}
+ private void removeAppPredictionSessionInfo(AppPredictionSessionId sessionId) {
+ if (isDebug()) {
+ Slog.d(TAG, "removeAppPredictionSessionInfo(): sessionId=" + sessionId);
+ }
+ synchronized (mLock) {
+ mSessionInfos.remove(sessionId);
+ }
+ }
+
@GuardedBy("mLock")
@Nullable
private RemoteAppPredictionService getRemoteServiceLocked() {
@@ -295,55 +298,71 @@
}
private static final class AppPredictionSessionInfo {
- private final AppPredictionSessionId mSessionId;
- private final AppPredictionContext mContext;
- private final ArrayList<IPredictionCallback> mCallbacks = new ArrayList<>();
- private final IBinder.DeathRecipient mBinderDeathHandler;
+ private static final boolean DEBUG = false; // Do not submit with true
- AppPredictionSessionInfo(AppPredictionSessionId id, AppPredictionContext context,
- IBinder.DeathRecipient binderDeathHandler) {
+ private final AppPredictionSessionId mSessionId;
+ private final AppPredictionContext mPredictionContext;
+ private final Consumer<AppPredictionSessionId> mRemoveSessionInfoAction;
+
+ private final RemoteCallbackList<IPredictionCallback> mCallbacks =
+ new RemoteCallbackList<IPredictionCallback>() {
+ @Override
+ public void onCallbackDied(IPredictionCallback callback) {
+ if (DEBUG) {
+ Slog.d(TAG, "Binder died for session Id=" + mSessionId
+ + " and callback=" + callback.asBinder());
+ }
+ if (mCallbacks.getRegisteredCallbackCount() == 0) {
+ destroy();
+ }
+ }
+ };
+
+ AppPredictionSessionInfo(AppPredictionSessionId id, AppPredictionContext predictionContext,
+ Consumer<AppPredictionSessionId> removeSessionInfoAction) {
+ if (DEBUG) {
+ Slog.d(TAG, "Creating AppPredictionSessionInfo for session Id=" + id);
+ }
mSessionId = id;
- mContext = context;
- mBinderDeathHandler = binderDeathHandler;
+ mPredictionContext = predictionContext;
+ mRemoveSessionInfoAction = removeSessionInfoAction;
}
void addCallbackLocked(IPredictionCallback callback) {
- if (mBinderDeathHandler != null) {
- try {
- callback.asBinder().linkToDeath(mBinderDeathHandler, 0);
- } catch (RemoteException e) {
- Slog.e(TAG, "Failed to link to death: " + e);
- }
+ if (DEBUG) {
+ Slog.d(TAG, "Storing callback for session Id=" + mSessionId
+ + " and callback=" + callback.asBinder());
}
- mCallbacks.add(callback);
+ mCallbacks.register(callback);
}
void removeCallbackLocked(IPredictionCallback callback) {
- if (mBinderDeathHandler != null) {
- callback.asBinder().unlinkToDeath(mBinderDeathHandler, 0);
+ if (DEBUG) {
+ Slog.d(TAG, "Removing callback for session Id=" + mSessionId
+ + " and callback=" + callback.asBinder());
}
- mCallbacks.remove(callback);
+ mCallbacks.unregister(callback);
}
- void removeAllCallbacksLocked() {
- if (mBinderDeathHandler != null) {
- for (IPredictionCallback callback : mCallbacks) {
- callback.asBinder().unlinkToDeath(mBinderDeathHandler, 0);
- }
+ void destroy() {
+ if (DEBUG) {
+ Slog.d(TAG, "Removing all callbacks for session Id=" + mSessionId
+ + " and " + mCallbacks.getRegisteredCallbackCount() + " callbacks.");
}
- mCallbacks.clear();
+ mCallbacks.kill();
+ mRemoveSessionInfoAction.accept(mSessionId);
}
void resurrectSessionLocked(AppPredictionPerUserService service) {
- if (service.isDebug()) {
+ int callbackCount = mCallbacks.getRegisteredCallbackCount();
+ if (DEBUG) {
Slog.d(TAG, "Resurrecting remote service (" + service.getRemoteServiceLocked()
+ ") for session Id=" + mSessionId + " and "
- + mCallbacks.size() + " callbacks.");
+ + callbackCount + " callbacks.");
}
- service.onCreatePredictionSessionLocked(mContext, mSessionId);
- for (IPredictionCallback callback : mCallbacks) {
- service.registerPredictionUpdatesLocked(mSessionId, callback);
- }
+ service.onCreatePredictionSessionLocked(mPredictionContext, mSessionId);
+ mCallbacks.broadcast(
+ callback -> service.registerPredictionUpdatesLocked(mSessionId, callback));
}
}
}
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index e81d172..e5fddef 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -193,6 +193,7 @@
import com.android.server.net.BaseNetworkObserver;
import com.android.server.net.LockdownVpnTracker;
import com.android.server.net.NetworkPolicyManagerInternal;
+import com.android.server.net.NetworkStatsFactory;
import com.android.server.utils.PriorityDump;
import com.google.android.collect.Lists;
@@ -2616,9 +2617,11 @@
final boolean valid = ((msg.arg1 & NETWORK_VALIDATION_RESULT_VALID) != 0);
final boolean wasValidated = nai.lastValidated;
final boolean wasDefault = isDefaultNetwork(nai);
- if (nai.everCaptivePortalDetected && !nai.captivePortalLoginNotified
- && valid) {
- nai.captivePortalLoginNotified = true;
+ // Only show a connected notification if the network is pending validation
+ // after the captive portal app was open, and it has now validated.
+ if (nai.captivePortalValidationPending && valid) {
+ // User is now logged in, network validated.
+ nai.captivePortalValidationPending = false;
showNetworkNotification(nai, NotificationType.LOGGED_IN);
}
@@ -2689,9 +2692,6 @@
final int oldScore = nai.getCurrentScore();
nai.lastCaptivePortalDetected = visible;
nai.everCaptivePortalDetected |= visible;
- if (visible) {
- nai.captivePortalLoginNotified = false;
- }
if (nai.lastCaptivePortalDetected &&
Settings.Global.CAPTIVE_PORTAL_MODE_AVOID == getCaptivePortalMode()) {
if (DBG) log("Avoiding captive portal network: " + nai.name());
@@ -3500,6 +3500,12 @@
new CaptivePortal(new CaptivePortalImpl(network).asBinder()));
appIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
+ // This runs on a random binder thread, but getNetworkAgentInfoForNetwork is thread-safe,
+ // and captivePortalValidationPending is volatile.
+ final NetworkAgentInfo nai = getNetworkAgentInfoForNetwork(network);
+ if (nai != null) {
+ nai.captivePortalValidationPending = true;
+ }
Binder.withCleanCallingIdentity(() ->
mContext.startActivityAsUser(appIntent, UserHandle.CURRENT));
}
@@ -4384,7 +4390,7 @@
/**
* @return VPN information for accounting, or null if we can't retrieve all required
- * information, e.g primary underlying iface.
+ * information, e.g underlying ifaces.
*/
@Nullable
private VpnInfo createVpnInfo(Vpn vpn) {
@@ -4396,17 +4402,28 @@
// see VpnService.setUnderlyingNetworks()'s javadoc about how to interpret
// the underlyingNetworks list.
if (underlyingNetworks == null) {
- NetworkAgentInfo defaultNetwork = getDefaultNetwork();
- if (defaultNetwork != null && defaultNetwork.linkProperties != null) {
- info.primaryUnderlyingIface = getDefaultNetwork().linkProperties.getInterfaceName();
- }
- } else if (underlyingNetworks.length > 0) {
- LinkProperties linkProperties = getLinkProperties(underlyingNetworks[0]);
- if (linkProperties != null) {
- info.primaryUnderlyingIface = linkProperties.getInterfaceName();
+ NetworkAgentInfo defaultNai = getDefaultNetwork();
+ if (defaultNai != null) {
+ underlyingNetworks = new Network[] { defaultNai.network };
}
}
- return info.primaryUnderlyingIface == null ? null : info;
+ if (underlyingNetworks != null && underlyingNetworks.length > 0) {
+ List<String> interfaces = new ArrayList<>();
+ for (Network network : underlyingNetworks) {
+ LinkProperties lp = getLinkProperties(network);
+ if (lp != null) {
+ for (String iface : lp.getAllInterfaceNames()) {
+ if (!TextUtils.isEmpty(iface)) {
+ interfaces.add(iface);
+ }
+ }
+ }
+ }
+ if (!interfaces.isEmpty()) {
+ info.underlyingIfaces = interfaces.toArray(new String[interfaces.size()]);
+ }
+ }
+ return info.underlyingIfaces == null ? null : info;
}
/**
@@ -6786,8 +6803,8 @@
}
/**
- * Notify NetworkStatsService that the set of active ifaces has changed, or that one of the
- * properties tracked by NetworkStatsService on an active iface has changed.
+ * Notify NetworkStatsService and NetworkStatsFactory that the set of active ifaces has changed,
+ * or that one of the active iface's trackedproperties has changed.
*/
private void notifyIfacesChangedForNetworkStats() {
ensureRunningOnConnectivityServiceThread();
@@ -6796,11 +6813,17 @@
if (activeLinkProperties != null) {
activeIface = activeLinkProperties.getInterfaceName();
}
+
+ // CAUTION: Ordering matters between updateVpnInfos() and forceUpdateIfaces(), which
+ // triggers a new poll. Trigger the poll first to ensure a snapshot is taken before
+ // switching to the new state. This ensures that traffic does not get mis-attributed to
+ // incorrect apps (including VPN app).
try {
mStatsService.forceUpdateIfaces(
- getDefaultNetworks(), getAllVpnInfo(), getAllNetworkState(), activeIface);
+ getDefaultNetworks(), getAllNetworkState(), activeIface);
} catch (Exception ignored) {
}
+ NetworkStatsFactory.updateVpnInfos(getAllVpnInfo());
}
@Override
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index 8d76634..e5fb506 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -36,7 +36,6 @@
import static android.net.NetworkStats.STATS_PER_UID;
import static android.net.NetworkStats.TAG_ALL;
import static android.net.NetworkStats.TAG_NONE;
-import static android.net.NetworkStats.UID_ALL;
import static android.net.TrafficStats.UID_TETHERING;
import static com.android.server.NetworkManagementSocketTagger.PROP_QTAGUID_ENABLED;
@@ -1236,7 +1235,7 @@
public NetworkStats getNetworkStatsDetail() {
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
try {
- return mStatsFactory.readNetworkStatsDetail(UID_ALL, null, TAG_ALL, null);
+ return mStatsFactory.readNetworkStatsDetail();
} catch (IOException e) {
throw new IllegalStateException(e);
}
@@ -1545,7 +1544,7 @@
public NetworkStats getNetworkStatsUidDetail(int uid, String[] ifaces) {
mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
try {
- return mStatsFactory.readNetworkStatsDetail(uid, ifaces, TAG_ALL, null);
+ return mStatsFactory.readNetworkStatsDetail(uid, ifaces, TAG_ALL);
} catch (IOException e) {
throw new IllegalStateException(e);
}
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 1a6faec..e66e596 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -1255,23 +1255,21 @@
}
}
- public void notifyPhysicalChannelConfiguration(List<PhysicalChannelConfig> configs) {
- notifyPhysicalChannelConfigurationForSubscriber(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID,
- configs);
- }
-
- public void notifyPhysicalChannelConfigurationForSubscriber(int subId,
+ /**
+ * Notify physical channel configuration according to subscripton ID and phone ID
+ */
+ public void notifyPhysicalChannelConfigurationForSubscriber(int phoneId, int subId,
List<PhysicalChannelConfig> configs) {
if (!checkNotifyPermission("notifyPhysicalChannelConfiguration()")) {
return;
}
if (VDBG) {
- log("notifyPhysicalChannelConfiguration: subId=" + subId + " configs=" + configs);
+ log("notifyPhysicalChannelConfiguration: subId=" + subId + " phoneId=" + phoneId
+ + " configs=" + configs);
}
synchronized (mRecords) {
- int phoneId = SubscriptionManager.getPhoneId(subId);
if (validatePhoneId(phoneId)) {
mPhysicalChannelConfigs.set(phoneId, configs);
for (Record r : mRecords) {
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index 59589cd2..bc7da3f 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -66,7 +66,6 @@
import java.io.FileDescriptor;
import java.io.PrintWriter;
-import java.util.Objects;
final class UiModeManagerService extends SystemService {
private static final String TAG = UiModeManager.class.getSimpleName();
@@ -334,12 +333,6 @@
mNightMode = defaultNightMode;
}
- if (UserManager.get(context).isPrimaryUser()) {
- final String newTheme = Integer.toString(mNightMode);
- if (!Objects.equals(SystemProperties.get(SYSTEM_PROPERTY_DEVICE_THEME), mNightMode)) {
- SystemProperties.set(SYSTEM_PROPERTY_DEVICE_THEME, newTheme);
- }
- }
return oldNightMode != mNightMode;
}
diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java
index 6eb9f0c..0748279 100644
--- a/services/core/java/com/android/server/VibratorService.java
+++ b/services/core/java/com/android/server/VibratorService.java
@@ -16,6 +16,7 @@
package com.android.server;
+import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.AppOpsManager;
import android.app.IUidObserver;
@@ -193,7 +194,7 @@
// with other system events, any duration calculations should be done use startTime so as
// not to be affected by discontinuities created by RTC adjustments.
public final long startTimeDebug;
- public final int usageHint;
+ public final AudioAttributes attrs;
public final int uid;
public final String opPkg;
public final String reason;
@@ -206,12 +207,12 @@
public VibrationEffect originalEffect;
private Vibration(IBinder token, VibrationEffect effect,
- int usageHint, int uid, String opPkg, String reason) {
+ AudioAttributes attrs, int uid, String opPkg, String reason) {
this.token = token;
this.effect = effect;
this.startTime = SystemClock.elapsedRealtime();
this.startTimeDebug = System.currentTimeMillis();
- this.usageHint = usageHint;
+ this.attrs = attrs;
this.uid = uid;
this.opPkg = opPkg;
this.reason = reason;
@@ -231,7 +232,7 @@
}
public boolean isHapticFeedback() {
- if (VibratorService.this.isHapticFeedback(usageHint)) {
+ if (VibratorService.this.isHapticFeedback(attrs.getUsage())) {
return true;
}
if (effect instanceof VibrationEffect.Prebaked) {
@@ -256,15 +257,15 @@
}
public boolean isNotification() {
- return VibratorService.this.isNotification(usageHint);
+ return VibratorService.this.isNotification(attrs.getUsage());
}
public boolean isRingtone() {
- return VibratorService.this.isRingtone(usageHint);
+ return VibratorService.this.isRingtone(attrs.getUsage());
}
public boolean isAlarm() {
- return VibratorService.this.isAlarm(usageHint);
+ return VibratorService.this.isAlarm(attrs.getUsage());
}
public boolean isFromSystem() {
@@ -273,7 +274,7 @@
public VibrationInfo toInfo() {
return new VibrationInfo(
- startTimeDebug, effect, originalEffect, usageHint, uid, opPkg, reason);
+ startTimeDebug, effect, originalEffect, attrs, uid, opPkg, reason);
}
}
@@ -281,18 +282,18 @@
private final long mStartTimeDebug;
private final VibrationEffect mEffect;
private final VibrationEffect mOriginalEffect;
- private final int mUsageHint;
+ private final AudioAttributes mAttrs;
private final int mUid;
private final String mOpPkg;
private final String mReason;
public VibrationInfo(long startTimeDebug, VibrationEffect effect,
- VibrationEffect originalEffect, int usageHint, int uid,
+ VibrationEffect originalEffect, AudioAttributes attrs, int uid,
String opPkg, String reason) {
mStartTimeDebug = startTimeDebug;
mEffect = effect;
mOriginalEffect = originalEffect;
- mUsageHint = usageHint;
+ mAttrs = attrs;
mUid = uid;
mOpPkg = opPkg;
mReason = reason;
@@ -307,8 +308,8 @@
.append(mEffect)
.append(", originalEffect: ")
.append(mOriginalEffect)
- .append(", usageHint: ")
- .append(mUsageHint)
+ .append(", attrs: ")
+ .append(mAttrs)
.append(", uid: ")
.append(mUid)
.append(", opPkg: ")
@@ -549,12 +550,11 @@
}
@Override // Binder call
- public void vibrate(int uid, String opPkg, VibrationEffect effect, int usageHint, String reason,
- IBinder token) {
+ public void vibrate(int uid, String opPkg, VibrationEffect effect,
+ @Nullable AudioAttributes attrs, String reason, IBinder token) {
Trace.traceBegin(Trace.TRACE_TAG_VIBRATOR, "vibrate, reason = " + reason);
try {
- if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.VIBRATE)
- != PackageManager.PERMISSION_GRANTED) {
+ if (!hasPermission(android.Manifest.permission.VIBRATE)) {
throw new SecurityException("Requires VIBRATE permission");
}
if (token == null) {
@@ -566,6 +566,22 @@
return;
}
+ if (attrs == null) {
+ attrs = new AudioAttributes.Builder()
+ .setUsage(AudioAttributes.USAGE_UNKNOWN)
+ .build();
+ }
+
+ if (shouldBypassDnd(attrs)) {
+ if (!(hasPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
+ || hasPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
+ || hasPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING))) {
+ final int flags = attrs.getAllFlags()
+ & ~AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY;
+ attrs = new AudioAttributes.Builder(attrs).replaceFlags(flags).build();
+ }
+ }
+
// If our current vibration is longer than the new vibration and is the same amplitude,
// then just let the current one finish.
synchronized (mLock) {
@@ -608,13 +624,13 @@
return;
}
- Vibration vib = new Vibration(token, effect, usageHint, uid, opPkg, reason);
+ Vibration vib = new Vibration(token, effect, attrs, uid, opPkg, reason);
if (mProcStatesCache.get(uid, ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND)
> ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND
&& !vib.isNotification() && !vib.isRingtone() && !vib.isAlarm()) {
Slog.e(TAG, "Ignoring incoming vibration as process with"
- + " uid = " + uid + " is background,"
- + " usage = " + AudioAttributes.usageToString(vib.usageHint));
+ + " uid= " + uid + " is background,"
+ + " attrs= " + vib.attrs);
return;
}
linkVibration(vib);
@@ -632,6 +648,11 @@
}
}
+ private boolean hasPermission(String permission) {
+ return mContext.checkCallingOrSelfPermission(permission)
+ == PackageManager.PERMISSION_GRANTED;
+ }
+
private static boolean isRepeatingVibration(VibrationEffect effect) {
return effect.getDuration() == Long.MAX_VALUE;
}
@@ -760,14 +781,14 @@
if (vib.effect instanceof VibrationEffect.OneShot) {
Trace.asyncTraceBegin(Trace.TRACE_TAG_VIBRATOR, "vibration", 0);
VibrationEffect.OneShot oneShot = (VibrationEffect.OneShot) vib.effect;
- doVibratorOn(oneShot.getDuration(), oneShot.getAmplitude(), vib.uid, vib.usageHint);
+ doVibratorOn(oneShot.getDuration(), oneShot.getAmplitude(), vib.uid, vib.attrs);
mH.postDelayed(mVibrationEndRunnable, oneShot.getDuration());
} else if (vib.effect instanceof VibrationEffect.Waveform) {
// mThread better be null here. doCancelVibrate should always be
// called before startNextVibrationLocked or startVibrationLocked.
Trace.asyncTraceBegin(Trace.TRACE_TAG_VIBRATOR, "vibration", 0);
VibrationEffect.Waveform waveform = (VibrationEffect.Waveform) vib.effect;
- mThread = new VibrateThread(waveform, vib.uid, vib.usageHint);
+ mThread = new VibrateThread(waveform, vib.uid, vib.attrs);
mThread.start();
} else if (vib.effect instanceof VibrationEffect.Prebaked) {
Trace.asyncTraceBegin(Trace.TRACE_TAG_VIBRATOR, "vibration", 0);
@@ -788,13 +809,14 @@
return true;
}
- if (vib.usageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE) {
+ if (vib.attrs.getUsage() == AudioAttributes.USAGE_NOTIFICATION_RINGTONE) {
return true;
}
- if (vib.usageHint == AudioAttributes.USAGE_ALARM ||
- vib.usageHint == AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY ||
- vib.usageHint == AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST) {
+ if (vib.attrs.getUsage() == AudioAttributes.USAGE_ALARM
+ || vib.attrs.getUsage() == AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY
+ || vib.attrs.getUsage()
+ == AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST) {
return true;
}
@@ -887,12 +909,24 @@
}
}
+ private static boolean shouldBypassDnd(AudioAttributes attrs) {
+ return (attrs.getAllFlags() & AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY) != 0;
+ }
+
private int getAppOpMode(Vibration vib) {
int mode = mAppOps.checkAudioOpNoThrow(AppOpsManager.OP_VIBRATE,
- vib.usageHint, vib.uid, vib.opPkg);
+ vib.attrs.getUsage(), vib.uid, vib.opPkg);
if (mode == AppOpsManager.MODE_ALLOWED) {
mode = mAppOps.startOpNoThrow(AppOpsManager.OP_VIBRATE, vib.uid, vib.opPkg);
}
+
+ if (mode == AppOpsManager.MODE_IGNORED && shouldBypassDnd(vib.attrs)) {
+ // If we're just ignoring the vibration op then this is set by DND and we should ignore
+ // if we're asked to bypass. AppOps won't be able to record this operation, so make
+ // sure we at least note it in the logs for debugging.
+ Slog.d(TAG, "Bypassing DND for vibration: " + vib);
+ mode = AppOpsManager.MODE_ALLOWED;
+ }
return mode;
}
@@ -1032,7 +1066,7 @@
return vibratorExists();
}
- private void doVibratorOn(long millis, int amplitude, int uid, int usageHint) {
+ private void doVibratorOn(long millis, int amplitude, int uid, AudioAttributes attrs) {
Trace.traceBegin(Trace.TRACE_TAG_VIBRATOR, "doVibratorOn");
try {
synchronized (mInputDeviceVibrators) {
@@ -1046,10 +1080,8 @@
noteVibratorOnLocked(uid, millis);
final int vibratorCount = mInputDeviceVibrators.size();
if (vibratorCount != 0) {
- final AudioAttributes attributes =
- new AudioAttributes.Builder().setUsage(usageHint).build();
for (int i = 0; i < vibratorCount; i++) {
- mInputDeviceVibrators.get(i).vibrate(millis, attributes);
+ mInputDeviceVibrators.get(i).vibrate(millis, attrs);
}
} else {
// Note: ordering is important here! Many haptic drivers will reset their
@@ -1118,7 +1150,7 @@
Slog.w(TAG, "Failed to play prebaked effect, no fallback");
return 0;
}
- Vibration fallbackVib = new Vibration(vib.token, effect, vib.usageHint, vib.uid,
+ Vibration fallbackVib = new Vibration(vib.token, effect, vib.attrs, vib.uid,
vib.opPkg, vib.reason + " (fallback)");
final int intensity = getCurrentIntensityLocked(fallbackVib);
linkVibration(fallbackVib);
@@ -1213,14 +1245,14 @@
private class VibrateThread extends Thread {
private final VibrationEffect.Waveform mWaveform;
private final int mUid;
- private final int mUsageHint;
+ private final AudioAttributes mAttrs;
private boolean mForceStop;
- VibrateThread(VibrationEffect.Waveform waveform, int uid, int usageHint) {
+ VibrateThread(VibrationEffect.Waveform waveform, int uid, AudioAttributes attrs) {
mWaveform = waveform;
mUid = uid;
- mUsageHint = usageHint;
+ mAttrs = attrs;
mTmpWorkSource.set(uid);
mWakeLock.setWorkSource(mTmpWorkSource);
}
@@ -1295,7 +1327,7 @@
// appropriate intervals.
onDuration = getTotalOnDuration(timings, amplitudes, index - 1,
repeat);
- doVibratorOn(onDuration, amplitude, mUid, mUsageHint);
+ doVibratorOn(onDuration, amplitude, mUid, mAttrs);
} else {
doVibratorSetAmplitude(amplitude);
}
@@ -1612,8 +1644,9 @@
VibrationEffect effect =
VibrationEffect.createOneShot(duration, VibrationEffect.DEFAULT_AMPLITUDE);
- vibrate(Binder.getCallingUid(), description, effect, AudioAttributes.USAGE_UNKNOWN,
- "Shell Command", mToken);
+ AudioAttributes attrs = createAudioAttributes(commonOptions);
+ vibrate(Binder.getCallingUid(), description, effect, attrs, "Shell Command",
+ mToken);
return 0;
} finally {
Trace.traceEnd(Trace.TRACE_TAG_VIBRATOR);
@@ -1672,8 +1705,9 @@
amplitudesList.stream().mapToInt(Integer::intValue).toArray();
effect = VibrationEffect.createWaveform(timings, amplitudes, repeat);
}
- vibrate(Binder.getCallingUid(), description, effect, AudioAttributes.USAGE_UNKNOWN,
- "Shell Command", mToken);
+ AudioAttributes attrs = createAudioAttributes(commonOptions);
+ vibrate(Binder.getCallingUid(), description, effect, attrs, "Shell Command",
+ mToken);
return 0;
} finally {
Trace.traceEnd(Trace.TRACE_TAG_VIBRATOR);
@@ -1703,14 +1737,25 @@
VibrationEffect effect =
VibrationEffect.get(id, false);
- vibrate(Binder.getCallingUid(), description, effect, AudioAttributes.USAGE_UNKNOWN,
- "Shell Command", mToken);
+ AudioAttributes attrs = createAudioAttributes(commonOptions);
+ vibrate(Binder.getCallingUid(), description, effect, attrs, "Shell Command",
+ mToken);
return 0;
} finally {
Trace.traceEnd(Trace.TRACE_TAG_VIBRATOR);
}
}
+ private AudioAttributes createAudioAttributes(CommonOptions commonOptions) {
+ final int flags = commonOptions.force
+ ? AudioAttributes.FLAG_BYPASS_INTERRUPTION_POLICY
+ : 0;
+ return new AudioAttributes.Builder()
+ .setUsage(AudioAttributes.USAGE_UNKNOWN)
+ .setFlags(flags)
+ .build();
+ }
+
@Override
public void onHelp() {
try (PrintWriter pw = getOutPrintWriter();) {
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 627ca91..b342d37 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -120,8 +120,6 @@
import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM;
import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.am.MemoryStatUtil.hasMemcg;
-import static com.android.server.am.MemoryStatUtil.readMemoryStatFromFilesystem;
-import static com.android.server.am.MemoryStatUtil.readRssHighWaterMarkFromProcfs;
import static com.android.server.pm.PackageManagerService.PLATFORM_PACKAGE_NAME;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_CLEANUP;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_CONFIGURATION;
@@ -178,7 +176,6 @@
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
-import android.app.ProcessMemoryHighWaterMark;
import android.app.ProcessMemoryState;
import android.app.ProfilerInfo;
import android.app.WaitResult;
@@ -349,7 +346,6 @@
import com.android.server.ThreadPriorityBooster;
import com.android.server.Watchdog;
import com.android.server.am.ActivityManagerServiceDumpProcessesProto.UidObserverRegistrationProto;
-import com.android.server.am.MemoryStatUtil.MemoryStat;
import com.android.server.appop.AppOpsService;
import com.android.server.contentcapture.ContentCaptureManagerInternal;
import com.android.server.firewall.IntentFirewall;
@@ -17861,43 +17857,14 @@
synchronized (mPidsSelfLocked) {
for (int i = 0, size = mPidsSelfLocked.size(); i < size; i++) {
final ProcessRecord r = mPidsSelfLocked.valueAt(i);
- final int pid = r.pid;
- final int uid = r.uid;
- final MemoryStat memoryStat = readMemoryStatFromFilesystem(uid, pid);
- if (memoryStat == null) {
- continue;
- }
- ProcessMemoryState processMemoryState =
- new ProcessMemoryState(uid,
- r.processName,
- r.curAdj,
- memoryStat.pgfault,
- memoryStat.pgmajfault,
- memoryStat.rssInBytes,
- memoryStat.cacheInBytes,
- memoryStat.swapInBytes,
- memoryStat.startTimeNanos);
- processMemoryStates.add(processMemoryState);
+ processMemoryStates.add(
+ new ProcessMemoryState(r.uid, r.pid, r.processName, r.curAdj));
}
}
return processMemoryStates;
}
@Override
- public List<ProcessMemoryHighWaterMark> getMemoryHighWaterMarkForProcesses() {
- List<ProcessMemoryHighWaterMark> results = new ArrayList<>();
- synchronized (mPidsSelfLocked) {
- for (int i = 0, size = mPidsSelfLocked.size(); i < size; i++) {
- final ProcessRecord r = mPidsSelfLocked.valueAt(i);
- final long rssHighWaterMarkInBytes = readRssHighWaterMarkFromProcfs(r.pid);
- results.add(new ProcessMemoryHighWaterMark(r.uid, r.processName,
- rssHighWaterMarkInBytes));
- }
- }
- return results;
- }
-
- @Override
public int handleIncomingUser(int callingPid, int callingUid, int userId,
boolean allowAll, int allowMode, String name, String callerPackage) {
return mUserController.handleIncomingUser(callingPid, callingUid, userId, allowAll,
diff --git a/services/core/java/com/android/server/am/MemoryStatUtil.java b/services/core/java/com/android/server/am/MemoryStatUtil.java
index 78d2634..95eb2c69 100644
--- a/services/core/java/com/android/server/am/MemoryStatUtil.java
+++ b/services/core/java/com/android/server/am/MemoryStatUtil.java
@@ -26,12 +26,17 @@
import android.system.Os;
import android.system.OsConstants;
import android.util.Slog;
+import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
import java.util.Locale;
+import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -69,11 +74,15 @@
Pattern.compile("VmHWM:\\s*(\\d+)\\s*kB");
private static final Pattern PROCFS_RSS_IN_KILOBYTES =
Pattern.compile("VmRSS:\\s*(\\d+)\\s*kB");
+ private static final Pattern PROCFS_ANON_RSS_IN_KILOBYTES =
+ Pattern.compile("RssAnon:\\s*(\\d+)\\s*kB");
private static final Pattern PROCFS_SWAP_IN_KILOBYTES =
Pattern.compile("VmSwap:\\s*(\\d+)\\s*kB");
private static final Pattern ION_HEAP_SIZE_IN_BYTES =
Pattern.compile("\n\\s*total\\s*(\\d+)\\s*\n");
+ private static final Pattern PROCESS_ION_HEAP_SIZE_IN_BYTES =
+ Pattern.compile("\n\\s+\\S+\\s+(\\d+)\\s+(\\d+)");
private static final int PGFAULT_INDEX = 9;
private static final int PGMAJFAULT_INDEX = 11;
@@ -145,6 +154,16 @@
return parseIonHeapSizeFromDebugfs(readFileContents(DEBUG_SYSTEM_ION_HEAP_FILE));
}
+ /**
+ * Reads process allocation sizes on the system ion heap from debugfs.
+ *
+ * Returns values of allocation sizes in bytes on the system ion heap from
+ * /sys/kernel/debug/ion/heaps/system.
+ */
+ public static List<IonAllocations> readProcessSystemIonHeapSizesFromDebugfs() {
+ return parseProcessIonHeapSizesFromDebugfs(readFileContents(DEBUG_SYSTEM_ION_HEAP_FILE));
+ }
+
private static String readFileContents(String path) {
final File file = new File(path);
if (!file.exists()) {
@@ -204,6 +223,8 @@
memoryStat.pgmajfault = Long.parseLong(splits[PGMAJFAULT_INDEX]);
memoryStat.rssInBytes =
tryParseLong(PROCFS_RSS_IN_KILOBYTES, procStatusContents) * BYTES_IN_KILOBYTE;
+ memoryStat.anonRssInBytes =
+ tryParseLong(PROCFS_ANON_RSS_IN_KILOBYTES, procStatusContents) * BYTES_IN_KILOBYTE;
memoryStat.swapInBytes =
tryParseLong(PROCFS_SWAP_IN_KILOBYTES, procStatusContents) * BYTES_IN_KILOBYTE;
memoryStat.startTimeNanos = Long.parseLong(splits[START_TIME_INDEX]) * JIFFY_NANOS;
@@ -259,6 +280,43 @@
}
/**
+ * Parses per-process allocation sizes on the ion heap from the contents of a file under
+ * /sys/kernel/debug/ion/heaps in debugfs.
+ */
+ @VisibleForTesting
+ static List<IonAllocations> parseProcessIonHeapSizesFromDebugfs(String contents) {
+ if (contents == null || contents.isEmpty()) {
+ return Collections.emptyList();
+ }
+
+ final Matcher m = PROCESS_ION_HEAP_SIZE_IN_BYTES.matcher(contents);
+ final SparseArray<IonAllocations> entries = new SparseArray<>();
+ while (m.find()) {
+ try {
+ final int pid = Integer.parseInt(m.group(1));
+ final long sizeInBytes = Long.parseLong(m.group(2));
+ IonAllocations allocations = entries.get(pid);
+ if (allocations == null) {
+ allocations = new IonAllocations();
+ entries.put(pid, allocations);
+ }
+ allocations.pid = pid;
+ allocations.totalSizeInBytes += sizeInBytes;
+ allocations.count += 1;
+ allocations.maxSizeInBytes = Math.max(allocations.maxSizeInBytes, sizeInBytes);
+ } catch (NumberFormatException e) {
+ Slog.e(TAG, "Failed to parse value", e);
+ }
+ }
+
+ final List<IonAllocations> result = new ArrayList<>(entries.size());
+ for (int i = 0; i < entries.size(); i++) {
+ result.add(entries.valueAt(i));
+ }
+ return result;
+ }
+
+ /**
* Returns whether per-app memcg is available on device.
*/
static boolean hasMemcg() {
@@ -284,13 +342,51 @@
public long pgfault;
/** Number of major page faults */
public long pgmajfault;
- /** Number of bytes of anonymous and swap cache memory */
+ /** For memcg stats, the anon rss + swap cache size. Otherwise total RSS. */
public long rssInBytes;
- /** Number of bytes of page cache memory */
+ /** Number of bytes of the anonymous RSS. Only present for non-memcg stats. */
+ public long anonRssInBytes;
+ /** Number of bytes of page cache memory. Only present for memcg stats. */
public long cacheInBytes;
/** Number of bytes of swap usage */
public long swapInBytes;
/** Device time when the processes started. */
public long startTimeNanos;
}
+
+ /** Summary information about process ion allocations. */
+ public static final class IonAllocations {
+ /** PID these allocations belong to. */
+ public int pid;
+ /** Size of all individual allocations added together. */
+ public long totalSizeInBytes;
+ /** Number of allocations. */
+ public int count;
+ /** Size of the largest allocation. */
+ public long maxSizeInBytes;
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ IonAllocations that = (IonAllocations) o;
+ return pid == that.pid && totalSizeInBytes == that.totalSizeInBytes
+ && count == that.count && maxSizeInBytes == that.maxSizeInBytes;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(pid, totalSizeInBytes, count, maxSizeInBytes);
+ }
+
+ @Override
+ public String toString() {
+ return "IonAllocations{"
+ + "pid=" + pid
+ + ", totalSizeInBytes=" + totalSizeInBytes
+ + ", count=" + count
+ + ", maxSizeInBytes=" + maxSizeInBytes
+ + '}';
+ }
+ }
}
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 5ae5113..4b08db6 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -2052,8 +2052,11 @@
setRingerMode(getNewRingerMode(stream, index, flags),
TAG + ".onSetStreamVolume", false /*external*/);
}
- // setting non-zero volume for a muted stream unmutes the stream and vice versa
- mStreamStates[stream].mute(index == 0);
+ // setting non-zero volume for a muted stream unmutes the stream and vice versa,
+ // except for BT SCO stream where only explicit mute is allowed to comply to BT requirements
+ if (streamType != AudioSystem.STREAM_BLUETOOTH_SCO) {
+ mStreamStates[stream].mute(index == 0);
+ }
}
private void enforceModifyAudioRoutingPermission() {
@@ -2131,14 +2134,11 @@
+ " CHANGE_ACCESSIBILITY_VOLUME callingPackage=" + callingPackage);
return;
}
- if ((streamType == AudioManager.STREAM_VOICE_CALL ||
- streamType == AudioManager.STREAM_BLUETOOTH_SCO) &&
- (index == 0) &&
- (mContext.checkCallingOrSelfPermission(
- android.Manifest.permission.MODIFY_PHONE_STATE)
+ if ((streamType == AudioManager.STREAM_VOICE_CALL) && (index == 0)
+ && (mContext.checkCallingOrSelfPermission(
+ android.Manifest.permission.MODIFY_PHONE_STATE)
!= PackageManager.PERMISSION_GRANTED)) {
- Log.w(TAG, "Trying to call setStreamVolume() for STREAM_VOICE_CALL or"
- + " STREAM_BLUETOOTH_SCO and index 0 without"
+ Log.w(TAG, "Trying to call setStreamVolume() for STREAM_VOICE_CALL and index 0 without"
+ " MODIFY_PHONE_STATE callingPackage=" + callingPackage);
return;
}
@@ -4641,6 +4641,16 @@
return index;
}
+ private void setStreamVolumeIndex(int index, int device) {
+ // Only set audio policy BT SCO stream volume to 0 when the stream is actually muted.
+ // This allows RX path muting by the audio HAL only when explicitly muted but not when
+ // index is just set to 0 to repect BT requirements
+ if (mStreamType == AudioSystem.STREAM_BLUETOOTH_SCO && index == 0 && !mIsMuted) {
+ index = 1;
+ }
+ AudioSystem.setStreamVolumeIndexAS(mStreamType, index, device);
+ }
+
// must be called while synchronized VolumeStreamState.class
/*package*/ void applyDeviceVolume_syncVSS(int device, boolean isAvrcpAbsVolSupported) {
int index;
@@ -4655,7 +4665,7 @@
} else {
index = (getIndex(device) + 5)/10;
}
- AudioSystem.setStreamVolumeIndexAS(mStreamType, index, device);
+ setStreamVolumeIndex(index, device);
}
public void applyAllVolumes() {
@@ -4678,7 +4688,7 @@
} else {
index = (mIndexMap.valueAt(i) + 5)/10;
}
- AudioSystem.setStreamVolumeIndexAS(mStreamType, index, device);
+ setStreamVolumeIndex(index, device);
}
}
// apply default volume last: by convention , default device volume will be used
@@ -4688,8 +4698,7 @@
} else {
index = (getIndex(AudioSystem.DEVICE_OUT_DEFAULT) + 5)/10;
}
- AudioSystem.setStreamVolumeIndexAS(
- mStreamType, index, AudioSystem.DEVICE_OUT_DEFAULT);
+ setStreamVolumeIndex(index, AudioSystem.DEVICE_OUT_DEFAULT);
}
}
diff --git a/services/core/java/com/android/server/biometrics/AuthenticationClient.java b/services/core/java/com/android/server/biometrics/AuthenticationClient.java
index b899d02..4a9ccde 100644
--- a/services/core/java/com/android/server/biometrics/AuthenticationClient.java
+++ b/services/core/java/com/android/server/biometrics/AuthenticationClient.java
@@ -46,6 +46,7 @@
// authentication while the device is already locked out. In that case, the client is created
// but not started yet. The user shouldn't receive the error haptics in this case.
private boolean mStarted;
+ private long mStartTimeMs;
/**
* This method is called when authentication starts.
@@ -75,6 +76,10 @@
mRequireConfirmation = requireConfirmation;
}
+ protected long getStartTimeMs() {
+ return mStartTimeMs;
+ }
+
@Override
public void binderDied() {
super.binderDied();
@@ -228,6 +233,7 @@
mStarted = true;
onStart();
try {
+ mStartTimeMs = System.currentTimeMillis();
final int result = getDaemonWrapper().authenticate(mOpId, getGroupId());
if (result != 0) {
Slog.w(getLogTag(), "startAuthentication failed, result=" + result);
diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java
index a09fdd2..df6f73b 100644
--- a/services/core/java/com/android/server/biometrics/BiometricService.java
+++ b/services/core/java/com/android/server/biometrics/BiometricService.java
@@ -170,6 +170,8 @@
// the authentication.
byte[] mTokenEscrow;
+ // Timestamp when authentication started
+ private long mStartTimeMs;
// Timestamp when hardware authentication occurred
private long mAuthenticatedTimeMs;
@@ -1076,6 +1078,9 @@
latency,
Utils.isDebugEnabled(getContext(), mCurrentAuthSession.mUserId));
} else {
+
+ final long latency = System.currentTimeMillis() - mCurrentAuthSession.mStartTimeMs;
+
int error = reason == BiometricPrompt.DISMISSED_REASON_NEGATIVE
? BiometricConstants.BIOMETRIC_ERROR_NEGATIVE_BUTTON
: reason == BiometricPrompt.DISMISSED_REASON_USER_CANCEL
@@ -1087,7 +1092,8 @@
+ ", IsCrypto: " + mCurrentAuthSession.isCrypto()
+ ", Action: " + BiometricsProtoEnums.ACTION_AUTHENTICATE
+ ", Client: " + BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT
- + ", Error: " + error);
+ + ", Error: " + error
+ + ", Latency: " + latency);
}
// Auth canceled
StatsLog.write(StatsLog.BIOMETRIC_ERROR_OCCURRED,
@@ -1098,7 +1104,8 @@
BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT,
error,
0 /* vendorCode */,
- Utils.isDebugEnabled(getContext(), mCurrentAuthSession.mUserId));
+ Utils.isDebugEnabled(getContext(), mCurrentAuthSession.mUserId),
+ latency);
}
}
@@ -1422,6 +1429,9 @@
&& mCurrentAuthSession.mState == STATE_AUTH_PAUSED;
mCurrentAuthSession = mPendingAuthSession;
+
+ // Time starts when lower layers are ready to start the client.
+ mCurrentAuthSession.mStartTimeMs = System.currentTimeMillis();
mPendingAuthSession = null;
mCurrentAuthSession.mState = STATE_AUTH_STARTED;
diff --git a/services/core/java/com/android/server/biometrics/LoggableMonitor.java b/services/core/java/com/android/server/biometrics/LoggableMonitor.java
index 9c04088..6c7cbc1 100644
--- a/services/core/java/com/android/server/biometrics/LoggableMonitor.java
+++ b/services/core/java/com/android/server/biometrics/LoggableMonitor.java
@@ -33,6 +33,10 @@
private long mFirstAcquireTimeMs;
+ protected long getFirstAcquireTimeMs() {
+ return mFirstAcquireTimeMs;
+ }
+
/**
* Only valid for AuthenticationClient.
* @return true if the client is authenticating for a crypto operation.
@@ -94,6 +98,10 @@
}
protected final void logOnError(Context context, int error, int vendorCode, int targetUserId) {
+
+ final long latency = mFirstAcquireTimeMs != 0
+ ? (System.currentTimeMillis() - mFirstAcquireTimeMs) : -1;
+
if (DEBUG) {
Slog.v(TAG, "Error! Modality: " + statsModality()
+ ", User: " + targetUserId
@@ -101,7 +109,10 @@
+ ", Action: " + statsAction()
+ ", Client: " + statsClient()
+ ", Error: " + error
- + ", VendorCode: " + vendorCode);
+ + ", VendorCode: " + vendorCode
+ + ", Latency: " + latency);
+ } else {
+ Slog.v(TAG, "Error latency: " + latency);
}
StatsLog.write(StatsLog.BIOMETRIC_ERROR_OCCURRED,
statsModality(),
@@ -111,7 +122,8 @@
statsClient(),
error,
vendorCode,
- Utils.isDebugEnabled(context, targetUserId));
+ Utils.isDebugEnabled(context, targetUserId),
+ latency);
}
protected final void logOnAuthenticated(Context context, boolean authenticated,
diff --git a/services/core/java/com/android/server/biometrics/face/FaceService.java b/services/core/java/com/android/server/biometrics/face/FaceService.java
index 1ee0a0b..def7f75 100644
--- a/services/core/java/com/android/server/biometrics/face/FaceService.java
+++ b/services/core/java/com/android/server/biometrics/face/FaceService.java
@@ -54,7 +54,6 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Slog;
-import android.util.proto.ProtoOutputStream;
import com.android.internal.R;
import com.android.internal.annotations.GuardedBy;
@@ -79,7 +78,9 @@
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* A service to manage multiple clients that want to access the face HAL API.
@@ -100,6 +101,104 @@
private static final String NOTIFICATION_TAG = "FaceService";
private static final int NOTIFICATION_ID = 1;
+ /**
+ * Events for bugreports.
+ */
+ public static final class AuthenticationEvent {
+ private long mStartTime;
+ private long mLatency;
+ // Only valid if mError is 0
+ private boolean mAuthenticated;
+ private int mError;
+ // Only valid if mError is ERROR_VENDOR
+ private int mVendorError;
+
+ AuthenticationEvent(long startTime, long latency, boolean authenticated, int error,
+ int vendorError) {
+ mStartTime = startTime;
+ mLatency = latency;
+ mAuthenticated = authenticated;
+ mError = error;
+ mVendorError = vendorError;
+ }
+
+ public String toString(Context context) {
+ return "Start: " + mStartTime
+ + "\tLatency: " + mLatency
+ + "\tAuthenticated: " + mAuthenticated
+ + "\tError: " + mError
+ + "\tVendorCode: " + mVendorError
+ + "\t" + FaceManager.getErrorString(context, mError, mVendorError);
+ }
+ }
+
+ /**
+ * Keep a short historical buffer of stats, with an aggregated usage time.
+ */
+ private class UsageStats {
+ static final int EVENT_LOG_SIZE = 100;
+
+ Context mContext;
+ List<AuthenticationEvent> mAuthenticationEvents;
+
+ int acceptCount;
+ int rejectCount;
+ Map<Integer, Integer> mErrorCount;
+
+ long acceptLatency;
+ long rejectLatency;
+ Map<Integer, Long> mErrorLatency;
+
+ UsageStats(Context context) {
+ mAuthenticationEvents = new ArrayList<>();
+ mErrorCount = new HashMap<>();
+ mErrorLatency = new HashMap<>();
+ mContext = context;
+ }
+
+ void addEvent(AuthenticationEvent event) {
+ if (mAuthenticationEvents.size() >= EVENT_LOG_SIZE) {
+ mAuthenticationEvents.remove(0);
+ }
+ mAuthenticationEvents.add(event);
+
+ if (event.mAuthenticated) {
+ acceptCount++;
+ acceptLatency += event.mLatency;
+ } else if (event.mError == 0) {
+ rejectCount++;
+ rejectLatency += event.mLatency;
+ } else {
+ mErrorCount.put(event.mError, mErrorCount.getOrDefault(event.mError, 0) + 1);
+ mErrorLatency.put(event.mError,
+ mErrorLatency.getOrDefault(event.mError, 0l) + event.mLatency);
+ }
+ }
+
+ void print(PrintWriter pw) {
+ pw.println("Events since last reboot: " + mAuthenticationEvents.size());
+ for (int i = 0; i < mAuthenticationEvents.size(); i++) {
+ pw.println(mAuthenticationEvents.get(i).toString(mContext));
+ }
+
+ // Dump aggregated usage stats
+ // TODO: Remove or combine with json dump in a future release
+ pw.println("Accept\tCount: " + acceptCount + "\tLatency: " + acceptLatency
+ + "\tAverage: " + (acceptCount > 0 ? acceptLatency / acceptCount : 0));
+ pw.println("Reject\tCount: " + rejectCount + "\tLatency: " + rejectLatency
+ + "\tAverage: " + (rejectCount > 0 ? rejectLatency / rejectCount : 0));
+
+ for (Integer key : mErrorCount.keySet()) {
+ final int count = mErrorCount.get(key);
+ pw.println("Error" + key + "\tCount: " + count
+ + "\tLatency: " + mErrorLatency.getOrDefault(key, 0l)
+ + "\tAverage: " + (count > 0 ? mErrorLatency.getOrDefault(key, 0l) / count
+ : 0)
+ + "\t" + FaceManager.getErrorString(mContext, key, 0 /* vendorCode */));
+ }
+ }
+ }
+
private final class FaceAuthClient extends AuthenticationClientImpl {
private int mLastAcquire;
@@ -131,6 +230,13 @@
boolean authenticated, ArrayList<Byte> token) {
final boolean result = super.onAuthenticated(identifier, authenticated, token);
+ mUsageStats.addEvent(new AuthenticationEvent(
+ getStartTimeMs(),
+ System.currentTimeMillis() - getStartTimeMs() /* latency */,
+ authenticated,
+ 0 /* error */,
+ 0 /* vendorError */));
+
// For face, the authentication lifecycle ends either when
// 1) Authenticated == true
// 2) Error occurred
@@ -141,6 +247,18 @@
}
@Override
+ public boolean onError(long deviceId, int error, int vendorCode) {
+ mUsageStats.addEvent(new AuthenticationEvent(
+ getStartTimeMs(),
+ System.currentTimeMillis() - getStartTimeMs() /* latency */,
+ false /* authenticated */,
+ error,
+ vendorCode));
+
+ return super.onError(deviceId, error, vendorCode);
+ }
+
+ @Override
public int[] getAcquireIgnorelist() {
if (isBiometricPrompt()) {
return mBiometricPromptIgnoreList;
@@ -384,8 +502,6 @@
try {
if (args.length > 1 && "--hal".equals(args[0])) {
dumpHal(fd, Arrays.copyOfRange(args, 1, args.length, args.getClass()));
- } else if (args.length > 0 && "--proto".equals(args[0])) {
- dumpProto(fd);
} else {
dumpInternal(pw);
}
@@ -690,6 +806,7 @@
@GuardedBy("this")
private IBiometricsFace mDaemon;
+ private UsageStats mUsageStats;
// One of the AuthenticationClient constants
private int mCurrentUserLockoutMode;
@@ -900,6 +1017,8 @@
public FaceService(Context context) {
super(context);
+ mUsageStats = new UsageStats(context);
+
mNotificationManager = getContext().getSystemService(NotificationManager.class);
mBiometricPromptIgnoreList = getContext().getResources()
@@ -1169,51 +1288,9 @@
Slog.e(TAG, "dump formatting failure", e);
}
pw.println(dump);
- pw.println("HAL Deaths: " + mHALDeathCount);
- mHALDeathCount = 0;
- }
+ pw.println("HAL deaths since last reboot: " + mHALDeathCount);
- private void dumpProto(FileDescriptor fd) {
- final ProtoOutputStream proto = new ProtoOutputStream(fd);
- for (UserInfo user : UserManager.get(getContext()).getUsers()) {
- final int userId = user.getUserHandle().getIdentifier();
-
- final long userToken = proto.start(FaceServiceDumpProto.USERS);
-
- proto.write(FaceUserStatsProto.USER_ID, userId);
- proto.write(FaceUserStatsProto.NUM_FACES,
- getBiometricUtils().getBiometricsForUser(getContext(), userId).size());
-
- // Normal face authentications (e.g. lockscreen)
- final PerformanceStats normal = mPerformanceMap.get(userId);
- if (normal != null) {
- final long countsToken = proto.start(FaceUserStatsProto.NORMAL);
- proto.write(FaceActionStatsProto.ACCEPT, normal.accept);
- proto.write(FaceActionStatsProto.REJECT, normal.reject);
- proto.write(FaceActionStatsProto.ACQUIRE, normal.acquire);
- proto.write(FaceActionStatsProto.LOCKOUT, normal.lockout);
- proto.write(FaceActionStatsProto.LOCKOUT_PERMANENT, normal.lockout);
- proto.end(countsToken);
- }
-
- // Statistics about secure face transactions (e.g. to unlock password
- // storage, make secure purchases, etc.)
- final PerformanceStats crypto = mCryptoPerformanceMap.get(userId);
- if (crypto != null) {
- final long countsToken = proto.start(FaceUserStatsProto.CRYPTO);
- proto.write(FaceActionStatsProto.ACCEPT, crypto.accept);
- proto.write(FaceActionStatsProto.REJECT, crypto.reject);
- proto.write(FaceActionStatsProto.ACQUIRE, crypto.acquire);
- proto.write(FaceActionStatsProto.LOCKOUT, crypto.lockout);
- proto.write(FaceActionStatsProto.LOCKOUT_PERMANENT, crypto.lockout);
- proto.end(countsToken);
- }
-
- proto.end(userToken);
- }
- proto.flush();
- mPerformanceMap.clear();
- mCryptoPerformanceMap.clear();
+ mUsageStats.print(pw);
}
private void dumpHal(FileDescriptor fd, String[] args) {
diff --git a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
index 24fd1b7..28336f45 100644
--- a/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
+++ b/services/core/java/com/android/server/biometrics/fingerprint/FingerprintService.java
@@ -1035,8 +1035,7 @@
Slog.e(TAG, "dump formatting failure", e);
}
pw.println(dump);
- pw.println("HAL Deaths: " + mHALDeathCount);
- mHALDeathCount = 0;
+ pw.println("HAL deaths since last reboot: " + mHALDeathCount);
}
private void dumpProto(FileDescriptor fd) {
diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
index 864a793..5b04379 100644
--- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
+++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
@@ -155,9 +155,9 @@
// Whether a captive portal was found during the last network validation attempt.
public boolean lastCaptivePortalDetected;
- // Indicates the user was notified of a successful captive portal login since a portal was
- // last detected.
- public boolean captivePortalLoginNotified;
+ // Indicates the captive portal app was opened to show a login UI to the user, but the network
+ // has not validated yet.
+ public volatile boolean captivePortalValidationPending;
// Set to true when partial connectivity was detected.
public boolean partialConnectivity;
@@ -629,7 +629,7 @@
+ "acceptUnvalidated{" + networkMisc.acceptUnvalidated + "} "
+ "everCaptivePortalDetected{" + everCaptivePortalDetected + "} "
+ "lastCaptivePortalDetected{" + lastCaptivePortalDetected + "} "
- + "captivePortalLoginNotified{" + captivePortalLoginNotified + "} "
+ + "captivePortalValidationPending{" + captivePortalValidationPending + "} "
+ "partialConnectivity{" + partialConnectivity + "} "
+ "acceptPartialConnectivity{" + networkMisc.acceptPartialConnectivity + "} "
+ "clat{" + clatd + "} "
diff --git a/services/core/java/com/android/server/display/color/ColorDisplayService.java b/services/core/java/com/android/server/display/color/ColorDisplayService.java
index 27acb6b..2e5aafe 100644
--- a/services/core/java/com/android/server/display/color/ColorDisplayService.java
+++ b/services/core/java/com/android/server/display/color/ColorDisplayService.java
@@ -226,7 +226,7 @@
}
}
- private void onUserChanged(int userHandle) {
+ @VisibleForTesting void onUserChanged(int userHandle) {
final ContentResolver cr = getContext().getContentResolver();
if (mCurrentUser != UserHandle.USER_NULL) {
diff --git a/services/core/java/com/android/server/incident/PendingReports.java b/services/core/java/com/android/server/incident/PendingReports.java
index c45a904..9fcbab7 100644
--- a/services/core/java/com/android/server/incident/PendingReports.java
+++ b/services/core/java/com/android/server/incident/PendingReports.java
@@ -17,6 +17,7 @@
package com.android.server.incident;
import android.app.AppOpsManager;
+import android.app.BroadcastOptions;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -358,10 +359,12 @@
private void sendBroadcast(ComponentName receiver, int primaryUser) {
final Intent intent = new Intent(Intent.ACTION_PENDING_INCIDENT_REPORTS_CHANGED);
intent.setComponent(receiver);
+ final BroadcastOptions options = BroadcastOptions.makeBasic();
+ options.setBackgroundActivityStartsAllowed(true);
// Send it to the primary user.
mContext.sendBroadcastAsUser(intent, UserHandle.getUserHandleForUid(primaryUser),
- android.Manifest.permission.APPROVE_INCIDENT_REPORTS);
+ android.Manifest.permission.APPROVE_INCIDENT_REPORTS, options.toBundle());
}
/**
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index e7636ae..c312b76 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -222,6 +222,8 @@
private static final long LOCATION_UPDATE_MIN_TIME_INTERVAL_MILLIS = 1000;
// Default update duration in milliseconds for REQUEST_LOCATION.
private static final long LOCATION_UPDATE_DURATION_MILLIS = 10 * 1000;
+ // Update duration extension multiplier for emergency REQUEST_LOCATION.
+ private static final int EMERGENCY_LOCATION_UPDATE_DURATION_MULTIPLIER = 3;
/** simpler wrapper for ProviderRequest + Worksource */
private static class GpsRequest {
@@ -724,15 +726,28 @@
Context.LOCATION_SERVICE);
String provider;
LocationChangeListener locationListener;
+ LocationRequest locationRequest = new LocationRequest()
+ .setInterval(LOCATION_UPDATE_MIN_TIME_INTERVAL_MILLIS)
+ .setFastestInterval(LOCATION_UPDATE_MIN_TIME_INTERVAL_MILLIS);
if (independentFromGnss) {
// For fast GNSS TTFF
provider = LocationManager.NETWORK_PROVIDER;
locationListener = mNetworkLocationListener;
+ locationRequest.setQuality(LocationRequest.POWER_LOW);
} else {
// For Device-Based Hybrid (E911)
provider = LocationManager.FUSED_PROVIDER;
locationListener = mFusedLocationListener;
+ locationRequest.setQuality(LocationRequest.ACCURACY_FINE);
+ }
+
+ locationRequest.setProvider(provider);
+
+ // Ignore location settings if in emergency mode.
+ if (isUserEmergency && mNIHandler.getInEmergency()) {
+ locationRequest.setLocationSettingsIgnored(true);
+ durationMillis *= EMERGENCY_LOCATION_UPDATE_DURATION_MULTIPLIER;
}
Log.i(TAG,
@@ -740,14 +755,6 @@
"GNSS HAL Requesting location updates from %s provider for %d millis.",
provider, durationMillis));
- LocationRequest locationRequest = LocationRequest.createFromDeprecatedProvider(provider,
- LOCATION_UPDATE_MIN_TIME_INTERVAL_MILLIS, /* minDistance= */ 0,
- /* singleShot= */ false);
-
- // Ignore location settings if in emergency mode.
- if (isUserEmergency && mNIHandler.getInEmergency()) {
- locationRequest.setLocationSettingsIgnored(true);
- }
try {
locationManager.requestLocationUpdates(locationRequest,
locationListener, mHandler.getLooper());
@@ -765,6 +772,9 @@
}
private void injectBestLocation(Location location) {
+ if (DEBUG) {
+ Log.d(TAG, "injectBestLocation: " + location);
+ }
int gnssLocationFlags = LOCATION_HAS_LAT_LONG |
(location.hasAltitude() ? LOCATION_HAS_ALTITUDE : 0) |
(location.hasSpeed() ? LOCATION_HAS_SPEED : 0) |
@@ -869,6 +879,9 @@
private void handleUpdateLocation(Location location) {
if (location.hasAccuracy()) {
+ if (DEBUG) {
+ Log.d(TAG, "injectLocation: " + location);
+ }
native_inject_location(location.getLatitude(), location.getLongitude(),
location.getAccuracy());
}
diff --git a/services/core/java/com/android/server/net/NetworkStatsFactory.java b/services/core/java/com/android/server/net/NetworkStatsFactory.java
index 69efd02..7687718 100644
--- a/services/core/java/com/android/server/net/NetworkStatsFactory.java
+++ b/services/core/java/com/android/server/net/NetworkStatsFactory.java
@@ -16,6 +16,7 @@
package com.android.server.net;
+import static android.net.NetworkStats.INTERFACES_ALL;
import static android.net.NetworkStats.SET_ALL;
import static android.net.NetworkStats.TAG_ALL;
import static android.net.NetworkStats.TAG_NONE;
@@ -33,6 +34,7 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.net.VpnInfo;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.ProcFileReader;
@@ -66,15 +68,29 @@
/** Path to {@code /proc/net/xt_qtaguid/stats}. */
private final File mStatsXtUid;
- private boolean mUseBpfStats;
+ private final boolean mUseBpfStats;
private INetd mNetdService;
- // A persistent Snapshot since device start for eBPF stats
- @GuardedBy("mPersistSnapshot")
- private final NetworkStats mPersistSnapshot;
+ /**
+ * Guards persistent data access in this class
+ *
+ * <p>In order to prevent deadlocks, critical sections protected by this lock SHALL NOT call out
+ * to other code that will acquire other locks within the system server. See b/134244752.
+ */
+ private static final Object sPersistentDataLock = new Object();
- // TODO: only do adjustments in NetworkStatsService and remove this.
+ /** Set containing info about active VPNs and their underlying networks. */
+ private static volatile VpnInfo[] sVpnInfos = new VpnInfo[0];
+
+ // A persistent snapshot of cumulative stats since device start
+ @GuardedBy("sPersistentDataLock")
+ private NetworkStats mPersistSnapshot;
+
+ // The persistent snapshot of tun and 464xlat adjusted stats since device start
+ @GuardedBy("sPersistentDataLock")
+ private NetworkStats mTunAnd464xlatAdjustedStats;
+
/**
* (Stacked interface) -> (base interface) association for all connected ifaces since boot.
*
@@ -91,6 +107,24 @@
}
/**
+ * Set active VPN information for data usage migration purposes
+ *
+ * <p>Traffic on TUN-based VPNs inherently all appear to be originated from the VPN providing
+ * app's UID. This method is used to support migration of VPN data usage, ensuring data is
+ * accurately billed to the real owner of the traffic.
+ *
+ * @param vpnArray The snapshot of the currently-running VPNs.
+ */
+ public static void updateVpnInfos(VpnInfo[] vpnArray) {
+ sVpnInfos = vpnArray.clone();
+ }
+
+ @VisibleForTesting
+ public static VpnInfo[] getVpnInfos() {
+ return sVpnInfos.clone();
+ }
+
+ /**
* Get a set of interfaces containing specified ifaces and stacked interfaces.
*
* <p>The added stacked interfaces are ifaces stacked on top of the specified ones, or ifaces
@@ -146,6 +180,7 @@
mStatsXtUid = new File(procRoot, "net/xt_qtaguid/stats");
mUseBpfStats = useBpfStats;
mPersistSnapshot = new NetworkStats(SystemClock.elapsedRealtime(), -1);
+ mTunAnd464xlatAdjustedStats = new NetworkStats(SystemClock.elapsedRealtime(), -1);
}
public NetworkStats readBpfNetworkStatsDev() throws IOException {
@@ -264,47 +299,43 @@
}
public NetworkStats readNetworkStatsDetail() throws IOException {
- return readNetworkStatsDetail(UID_ALL, null, TAG_ALL, null);
+ return readNetworkStatsDetail(UID_ALL, INTERFACES_ALL, TAG_ALL);
}
- public NetworkStats readNetworkStatsDetail(int limitUid, String[] limitIfaces, int limitTag,
- NetworkStats lastStats) throws IOException {
- final NetworkStats stats =
- readNetworkStatsDetailInternal(limitUid, limitIfaces, limitTag, lastStats);
-
- // No locking here: apply464xlatAdjustments behaves fine with an add-only ConcurrentHashMap.
- // TODO: remove this and only apply adjustments in NetworkStatsService.
- stats.apply464xlatAdjustments(sStackedIfaces, mUseBpfStats);
-
- return stats;
- }
-
- @GuardedBy("mPersistSnapshot")
+ @GuardedBy("sPersistentDataLock")
private void requestSwapActiveStatsMapLocked() throws RemoteException {
// Ask netd to do a active map stats swap. When the binder call successfully returns,
// the system server should be able to safely read and clean the inactive map
// without race problem.
- if (mUseBpfStats) {
- if (mNetdService == null) {
- mNetdService = NetdService.getInstance();
- }
- mNetdService.trafficSwapActiveStatsMap();
+ if (mNetdService == null) {
+ mNetdService = NetdService.getInstance();
}
+ mNetdService.trafficSwapActiveStatsMap();
}
- // TODO: delete the lastStats parameter
- private NetworkStats readNetworkStatsDetailInternal(int limitUid, String[] limitIfaces,
- int limitTag, NetworkStats lastStats) throws IOException {
- if (USE_NATIVE_PARSING) {
- final NetworkStats stats;
- if (lastStats != null) {
- stats = lastStats;
- stats.setElapsedRealtime(SystemClock.elapsedRealtime());
- } else {
- stats = new NetworkStats(SystemClock.elapsedRealtime(), -1);
- }
- if (mUseBpfStats) {
- synchronized (mPersistSnapshot) {
+ /**
+ * Reads the detailed UID stats based on the provided parameters
+ *
+ * @param limitUid the UID to limit this query to
+ * @param limitIfaces the interfaces to limit this query to. Use {@link
+ * NetworkStats.INTERFACES_ALL} to select all interfaces
+ * @param limitTag the tags to limit this query to
+ * @return the NetworkStats instance containing network statistics at the present time.
+ */
+ public NetworkStats readNetworkStatsDetail(
+ int limitUid, String[] limitIfaces, int limitTag) throws IOException {
+ // In order to prevent deadlocks, anything protected by this lock MUST NOT call out to other
+ // code that will acquire other locks within the system server. See b/134244752.
+ synchronized (sPersistentDataLock) {
+ // Take a reference. If this gets swapped out, we still have the old reference.
+ final VpnInfo[] vpnArray = sVpnInfos;
+ // Take a defensive copy. mPersistSnapshot is mutated in some cases below
+ final NetworkStats prev = mPersistSnapshot.clone();
+
+ if (USE_NATIVE_PARSING) {
+ final NetworkStats stats =
+ new NetworkStats(SystemClock.elapsedRealtime(), 0 /* initialSize */);
+ if (mUseBpfStats) {
try {
requestSwapActiveStatsMapLocked();
} catch (RemoteException e) {
@@ -313,32 +344,66 @@
// Stats are always read from the inactive map, so they must be read after the
// swap
if (nativeReadNetworkStatsDetail(stats, mStatsXtUid.getAbsolutePath(), UID_ALL,
- null, TAG_ALL, mUseBpfStats) != 0) {
+ INTERFACES_ALL, TAG_ALL, mUseBpfStats) != 0) {
throw new IOException("Failed to parse network stats");
}
+
+ // BPF stats are incremental; fold into mPersistSnapshot.
mPersistSnapshot.setElapsedRealtime(stats.getElapsedRealtime());
mPersistSnapshot.combineAllValues(stats);
- NetworkStats result = mPersistSnapshot.clone();
- result.filter(limitUid, limitIfaces, limitTag);
- return result;
+ } else {
+ if (nativeReadNetworkStatsDetail(stats, mStatsXtUid.getAbsolutePath(), UID_ALL,
+ INTERFACES_ALL, TAG_ALL, mUseBpfStats) != 0) {
+ throw new IOException("Failed to parse network stats");
+ }
+ if (SANITY_CHECK_NATIVE) {
+ final NetworkStats javaStats = javaReadNetworkStatsDetail(mStatsXtUid,
+ UID_ALL, INTERFACES_ALL, TAG_ALL);
+ assertEquals(javaStats, stats);
+ }
+
+ mPersistSnapshot = stats;
}
} else {
- if (nativeReadNetworkStatsDetail(stats, mStatsXtUid.getAbsolutePath(), limitUid,
- limitIfaces, limitTag, mUseBpfStats) != 0) {
- throw new IOException("Failed to parse network stats");
- }
- if (SANITY_CHECK_NATIVE) {
- final NetworkStats javaStats = javaReadNetworkStatsDetail(mStatsXtUid, limitUid,
- limitIfaces, limitTag);
- assertEquals(javaStats, stats);
- }
- return stats;
+ mPersistSnapshot = javaReadNetworkStatsDetail(mStatsXtUid, UID_ALL, INTERFACES_ALL,
+ TAG_ALL);
}
- } else {
- return javaReadNetworkStatsDetail(mStatsXtUid, limitUid, limitIfaces, limitTag);
+
+ NetworkStats adjustedStats = adjustForTunAnd464Xlat(mPersistSnapshot, prev, vpnArray);
+
+ // Filter return values
+ adjustedStats.filter(limitUid, limitIfaces, limitTag);
+ return adjustedStats;
}
}
+ @GuardedBy("sPersistentDataLock")
+ private NetworkStats adjustForTunAnd464Xlat(
+ NetworkStats uidDetailStats, NetworkStats previousStats, VpnInfo[] vpnArray) {
+ // Calculate delta from last snapshot
+ final NetworkStats delta = uidDetailStats.subtract(previousStats);
+
+ // Apply 464xlat adjustments before VPN adjustments. If VPNs are using v4 on a v6 only
+ // network, the overhead is their fault.
+ // No locking here: apply464xlatAdjustments behaves fine with an add-only
+ // ConcurrentHashMap.
+ delta.apply464xlatAdjustments(sStackedIfaces, mUseBpfStats);
+
+ // Migrate data usage over a VPN to the TUN network.
+ for (VpnInfo info : vpnArray) {
+ delta.migrateTun(info.ownerUid, info.vpnIface, info.underlyingIfaces);
+ }
+
+ // Filter out debug entries as that may lead to over counting.
+ delta.filterDebugEntries();
+
+ // Update mTunAnd464xlatAdjustedStats with migrated delta.
+ mTunAnd464xlatAdjustedStats.combineAllValues(delta);
+ mTunAnd464xlatAdjustedStats.setElapsedRealtime(uidDetailStats.getElapsedRealtime());
+
+ return mTunAnd464xlatAdjustedStats.clone();
+ }
+
/**
* Parse and return {@link NetworkStats} with UID-level details. Values are
* expected to monotonically increase since device boot.
diff --git a/services/core/java/com/android/server/net/NetworkStatsObservers.java b/services/core/java/com/android/server/net/NetworkStatsObservers.java
index d840873..2564dae 100644
--- a/services/core/java/com/android/server/net/NetworkStatsObservers.java
+++ b/services/core/java/com/android/server/net/NetworkStatsObservers.java
@@ -39,7 +39,6 @@
import android.util.SparseArray;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.net.VpnInfo;
import java.util.concurrent.atomic.AtomicInteger;
@@ -104,9 +103,9 @@
public void updateStats(NetworkStats xtSnapshot, NetworkStats uidSnapshot,
ArrayMap<String, NetworkIdentitySet> activeIfaces,
ArrayMap<String, NetworkIdentitySet> activeUidIfaces,
- VpnInfo[] vpnArray, long currentTime) {
+ long currentTime) {
StatsContext statsContext = new StatsContext(xtSnapshot, uidSnapshot, activeIfaces,
- activeUidIfaces, vpnArray, currentTime);
+ activeUidIfaces, currentTime);
getHandler().sendMessage(mHandler.obtainMessage(MSG_UPDATE_STATS, statsContext));
}
@@ -354,7 +353,7 @@
// thread will update it. We pass a null VPN array because usage is aggregated by uid
// for this snapshot, so VPN traffic can't be reattributed to responsible apps.
mRecorder.recordSnapshotLocked(statsContext.mXtSnapshot, statsContext.mActiveIfaces,
- null /* vpnArray */, statsContext.mCurrentTime);
+ statsContext.mCurrentTime);
}
/**
@@ -396,7 +395,7 @@
// thread will update it. We pass the VPN info so VPN traffic is reattributed to
// responsible apps.
mRecorder.recordSnapshotLocked(statsContext.mUidSnapshot, statsContext.mActiveUidIfaces,
- statsContext.mVpnArray, statsContext.mCurrentTime);
+ statsContext.mCurrentTime);
}
/**
@@ -427,18 +426,16 @@
NetworkStats mUidSnapshot;
ArrayMap<String, NetworkIdentitySet> mActiveIfaces;
ArrayMap<String, NetworkIdentitySet> mActiveUidIfaces;
- VpnInfo[] mVpnArray;
long mCurrentTime;
StatsContext(NetworkStats xtSnapshot, NetworkStats uidSnapshot,
ArrayMap<String, NetworkIdentitySet> activeIfaces,
ArrayMap<String, NetworkIdentitySet> activeUidIfaces,
- VpnInfo[] vpnArray, long currentTime) {
+ long currentTime) {
mXtSnapshot = xtSnapshot;
mUidSnapshot = uidSnapshot;
mActiveIfaces = activeIfaces;
mActiveUidIfaces = activeUidIfaces;
- mVpnArray = vpnArray;
mCurrentTime = currentTime;
}
}
diff --git a/services/core/java/com/android/server/net/NetworkStatsRecorder.java b/services/core/java/com/android/server/net/NetworkStatsRecorder.java
index a2e7e0c..06ec341 100644
--- a/services/core/java/com/android/server/net/NetworkStatsRecorder.java
+++ b/services/core/java/com/android/server/net/NetworkStatsRecorder.java
@@ -23,7 +23,6 @@
import static com.android.internal.util.Preconditions.checkNotNull;
-import android.annotation.Nullable;
import android.net.NetworkStats;
import android.net.NetworkStats.NonMonotonicObserver;
import android.net.NetworkStatsHistory;
@@ -37,14 +36,13 @@
import android.util.Slog;
import android.util.proto.ProtoOutputStream;
-import com.android.internal.net.VpnInfo;
import com.android.internal.util.FileRotator;
import com.android.internal.util.IndentingPrintWriter;
-import libcore.io.IoUtils;
-
import com.google.android.collect.Sets;
+import libcore.io.IoUtils;
+
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.File;
@@ -202,18 +200,12 @@
}
/**
- * Record any delta that occurred since last {@link NetworkStats} snapshot,
- * using the given {@link Map} to identify network interfaces. First
- * snapshot is considered bootstrap, and is not counted as delta.
- *
- * @param vpnArray Optional info about the currently active VPN, if any. This is used to
- * redistribute traffic from the VPN app to the underlying responsible apps.
- * This should always be set to null if the provided snapshot is aggregated
- * across all UIDs (e.g. contains UID_ALL buckets), regardless of VPN state.
+ * Record any delta that occurred since last {@link NetworkStats} snapshot, using the given
+ * {@link Map} to identify network interfaces. First snapshot is considered bootstrap, and is
+ * not counted as delta.
*/
public void recordSnapshotLocked(NetworkStats snapshot,
- Map<String, NetworkIdentitySet> ifaceIdent, @Nullable VpnInfo[] vpnArray,
- long currentTimeMillis) {
+ Map<String, NetworkIdentitySet> ifaceIdent, long currentTimeMillis) {
final HashSet<String> unknownIfaces = Sets.newHashSet();
// skip recording when snapshot missing
@@ -232,12 +224,6 @@
final long end = currentTimeMillis;
final long start = end - delta.getElapsedRealtime();
- if (vpnArray != null) {
- for (VpnInfo info : vpnArray) {
- delta.migrateTun(info.ownerUid, info.vpnIface, info.primaryUnderlyingIface);
- }
- }
-
NetworkStats.Entry entry = null;
for (int i = 0; i < delta.size(); i++) {
entry = delta.getValues(i, entry);
diff --git a/services/core/java/com/android/server/net/NetworkStatsService.java b/services/core/java/com/android/server/net/NetworkStatsService.java
index f34ace5..42802f6 100644
--- a/services/core/java/com/android/server/net/NetworkStatsService.java
+++ b/services/core/java/com/android/server/net/NetworkStatsService.java
@@ -131,7 +131,6 @@
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.net.VpnInfo;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FileRotator;
@@ -267,10 +266,6 @@
@GuardedBy("mStatsLock")
private Network[] mDefaultNetworks = new Network[0];
- /** Set containing info about active VPNs and their underlying networks. */
- @GuardedBy("mStatsLock")
- private VpnInfo[] mVpnInfos = new VpnInfo[0];
-
private final DropBoxNonMonotonicObserver mNonMonotonicObserver =
new DropBoxNonMonotonicObserver();
@@ -864,7 +859,6 @@
@Override
public void forceUpdateIfaces(
Network[] defaultNetworks,
- VpnInfo[] vpnArray,
NetworkState[] networkStates,
String activeIface) {
checkNetworkStackPermission(mContext);
@@ -872,7 +866,7 @@
final long token = Binder.clearCallingIdentity();
try {
- updateIfaces(defaultNetworks, vpnArray, networkStates, activeIface);
+ updateIfaces(defaultNetworks, networkStates, activeIface);
} finally {
Binder.restoreCallingIdentity(token);
}
@@ -1138,13 +1132,11 @@
private void updateIfaces(
Network[] defaultNetworks,
- VpnInfo[] vpnArray,
NetworkState[] networkStates,
String activeIface) {
synchronized (mStatsLock) {
mWakeLock.acquire();
try {
- mVpnInfos = vpnArray;
mActiveIface = activeIface;
updateIfacesLocked(defaultNetworks, networkStates);
} finally {
@@ -1154,10 +1146,9 @@
}
/**
- * Inspect all current {@link NetworkState} to derive mapping from {@code
- * iface} to {@link NetworkStatsHistory}. When multiple {@link NetworkInfo}
- * are active on a single {@code iface}, they are combined under a single
- * {@link NetworkIdentitySet}.
+ * Inspect all current {@link NetworkState} to derive mapping from {@code iface} to {@link
+ * NetworkStatsHistory}. When multiple {@link NetworkInfo} are active on a single {@code iface},
+ * they are combined under a single {@link NetworkIdentitySet}.
*/
@GuardedBy("mStatsLock")
private void updateIfacesLocked(Network[] defaultNetworks, NetworkState[] states) {
@@ -1274,27 +1265,24 @@
// For xt/dev, we pass a null VPN array because usage is aggregated by UID, so VPN traffic
// can't be reattributed to responsible apps.
Trace.traceBegin(TRACE_TAG_NETWORK, "recordDev");
- mDevRecorder.recordSnapshotLocked(
- devSnapshot, mActiveIfaces, null /* vpnArray */, currentTime);
+ mDevRecorder.recordSnapshotLocked(devSnapshot, mActiveIfaces, currentTime);
Trace.traceEnd(TRACE_TAG_NETWORK);
Trace.traceBegin(TRACE_TAG_NETWORK, "recordXt");
- mXtRecorder.recordSnapshotLocked(
- xtSnapshot, mActiveIfaces, null /* vpnArray */, currentTime);
+ mXtRecorder.recordSnapshotLocked(xtSnapshot, mActiveIfaces, currentTime);
Trace.traceEnd(TRACE_TAG_NETWORK);
// For per-UID stats, pass the VPN info so VPN traffic is reattributed to responsible apps.
- VpnInfo[] vpnArray = mVpnInfos;
Trace.traceBegin(TRACE_TAG_NETWORK, "recordUid");
- mUidRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, vpnArray, currentTime);
+ mUidRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, currentTime);
Trace.traceEnd(TRACE_TAG_NETWORK);
Trace.traceBegin(TRACE_TAG_NETWORK, "recordUidTag");
- mUidTagRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, vpnArray, currentTime);
+ mUidTagRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, currentTime);
Trace.traceEnd(TRACE_TAG_NETWORK);
// We need to make copies of member fields that are sent to the observer to avoid
// a race condition between the service handler thread and the observer's
mStatsObservers.updateStats(xtSnapshot, uidSnapshot, new ArrayMap<>(mActiveIfaces),
- new ArrayMap<>(mActiveUidIfaces), vpnArray, currentTime);
+ new ArrayMap<>(mActiveUidIfaces), currentTime);
}
/**
@@ -1667,8 +1655,6 @@
*/
private NetworkStats getNetworkStatsUidDetail(String[] ifaces)
throws RemoteException {
-
- // TODO: remove 464xlat adjustments from NetworkStatsFactory and apply all at once here.
final NetworkStats uidSnapshot = mNetworkManager.getNetworkStatsUidDetail(UID_ALL,
ifaces);
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 495a2ed..bd198dd 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -7151,6 +7151,10 @@
return false;
}
+ if (userId == UserHandle.USER_ALL) {
+ userId = USER_SYSTEM;
+ }
+
try {
final String[] pkgs = mPackageManager.getPackagesForUid(callingUid);
if (pkgs == null) {
diff --git a/services/core/java/com/android/server/policy/PermissionPolicyService.java b/services/core/java/com/android/server/policy/PermissionPolicyService.java
index 68feb4a..3a78aa2 100644
--- a/services/core/java/com/android/server/policy/PermissionPolicyService.java
+++ b/services/core/java/com/android/server/policy/PermissionPolicyService.java
@@ -365,7 +365,7 @@
*
* @see #syncPackages
*/
- private final @NonNull ArrayList<OpToRestrict> mOpsToDefault = new ArrayList<>();
+ private final @NonNull ArrayList<OpToChange> mOpsToDefault = new ArrayList<>();
/**
* All ops that need to be flipped to allow if default.
@@ -374,14 +374,14 @@
*
* @see #syncPackages
*/
- private final @NonNull ArrayList<OpToUnrestrict> mOpsToAllowIfDefault = new ArrayList<>();
+ private final @NonNull ArrayList<OpToChange> mOpsToAllowIfDefault = new ArrayList<>();
/**
* All ops that need to be flipped to allow.
*
* @see #syncPackages
*/
- private final @NonNull ArrayList<OpToUnrestrict> mOpsToAllow = new ArrayList<>();
+ private final @NonNull ArrayList<OpToChange> mOpsToAllow = new ArrayList<>();
/**
* All ops that need to be flipped to ignore if default.
@@ -390,14 +390,14 @@
*
* @see #syncPackages
*/
- private final @NonNull ArrayList<OpToUnrestrict> mOpsToIgnoreIfDefault = new ArrayList<>();
+ private final @NonNull ArrayList<OpToChange> mOpsToIgnoreIfDefault = new ArrayList<>();
/**
* All ops that need to be flipped to ignore.
*
* @see #syncPackages
*/
- private final @NonNull ArrayList<OpToUnrestrict> mOpsToIgnore = new ArrayList<>();
+ private final @NonNull ArrayList<OpToChange> mOpsToIgnore = new ArrayList<>();
/**
* All ops that need to be flipped to foreground.
@@ -406,7 +406,7 @@
*
* @see #syncPackages
*/
- private final @NonNull ArrayList<OpToUnrestrict> mOpsToForeground = new ArrayList<>();
+ private final @NonNull ArrayList<OpToChange> mOpsToForeground = new ArrayList<>();
/**
* All ops that need to be flipped to foreground if allow.
@@ -415,7 +415,7 @@
*
* @see #syncPackages
*/
- private final @NonNull ArrayList<OpToUnrestrict> mOpsToForegroundIfAllow =
+ private final @NonNull ArrayList<OpToChange> mOpsToForegroundIfAllow =
new ArrayList<>();
PermissionToOpSynchroniser(@NonNull Context context) {
@@ -432,38 +432,38 @@
private void syncPackages() {
final int allowCount = mOpsToAllow.size();
for (int i = 0; i < allowCount; i++) {
- final OpToUnrestrict op = mOpsToAllow.get(i);
+ final OpToChange op = mOpsToAllow.get(i);
setUidModeAllowed(op.code, op.uid, op.packageName);
}
final int allowIfDefaultCount = mOpsToAllowIfDefault.size();
for (int i = 0; i < allowIfDefaultCount; i++) {
- final OpToUnrestrict op = mOpsToAllowIfDefault.get(i);
+ final OpToChange op = mOpsToAllowIfDefault.get(i);
setUidModeAllowedIfDefault(op.code, op.uid, op.packageName);
}
final int foregroundCount = mOpsToForegroundIfAllow.size();
for (int i = 0; i < foregroundCount; i++) {
- final OpToUnrestrict op = mOpsToForegroundIfAllow.get(i);
+ final OpToChange op = mOpsToForegroundIfAllow.get(i);
setUidModeForegroundIfAllow(op.code, op.uid, op.packageName);
}
final int foregroundIfAllowCount = mOpsToForeground.size();
for (int i = 0; i < foregroundIfAllowCount; i++) {
- final OpToUnrestrict op = mOpsToForeground.get(i);
+ final OpToChange op = mOpsToForeground.get(i);
setUidModeForeground(op.code, op.uid, op.packageName);
}
final int ignoreCount = mOpsToIgnore.size();
for (int i = 0; i < ignoreCount; i++) {
- final OpToUnrestrict op = mOpsToIgnore.get(i);
+ final OpToChange op = mOpsToIgnore.get(i);
setUidModeIgnored(op.code, op.uid, op.packageName);
}
final int ignoreIfDefaultCount = mOpsToIgnoreIfDefault.size();
for (int i = 0; i < ignoreIfDefaultCount; i++) {
- final OpToUnrestrict op = mOpsToIgnoreIfDefault.get(i);
+ final OpToChange op = mOpsToIgnoreIfDefault.get(i);
setUidModeIgnoredIfDefault(op.code, op.uid, op.packageName);
}
final int defaultCount = mOpsToDefault.size();
for (int i = 0; i < defaultCount; i++) {
- final OpToRestrict op = mOpsToDefault.get(i);
- setUidModeDefault(op.code, op.uid);
+ final OpToChange op = mOpsToDefault.get(i);
+ setUidModeDefault(op.code, op.uid, op.packageName);
}
}
@@ -493,9 +493,9 @@
if (permissionInfo.isHardRestricted()) {
if (opCode != OP_NONE) {
if (applyRestriction) {
- mOpsToDefault.add(new OpToRestrict(uid, opCode));
+ mOpsToDefault.add(new OpToChange(uid, pkg.packageName, opCode));
} else {
- mOpsToAllowIfDefault.add(new OpToUnrestrict(uid, pkg.packageName, opCode));
+ mOpsToAllowIfDefault.add(new OpToChange(uid, pkg.packageName, opCode));
}
}
} else if (permissionInfo.isSoftRestricted()) {
@@ -505,9 +505,9 @@
if (opCode != OP_NONE) {
if (policy.canBeGranted()) {
- mOpsToAllowIfDefault.add(new OpToUnrestrict(uid, pkg.packageName, opCode));
+ mOpsToAllowIfDefault.add(new OpToChange(uid, pkg.packageName, opCode));
} else {
- mOpsToDefault.add(new OpToRestrict(uid, opCode));
+ mOpsToDefault.add(new OpToChange(uid, pkg.packageName, opCode));
}
}
@@ -515,15 +515,14 @@
if (op != OP_NONE) {
switch (policy.getDesiredOpMode()) {
case MODE_DEFAULT:
- mOpsToDefault.add(new OpToRestrict(uid, op));
+ mOpsToDefault.add(new OpToChange(uid, pkg.packageName, op));
break;
case MODE_ALLOWED:
if (policy.shouldSetAppOpIfNotDefault()) {
- mOpsToAllow.add(new OpToUnrestrict(uid, pkg.packageName, op));
+ mOpsToAllow.add(new OpToChange(uid, pkg.packageName, op));
} else {
mOpsToAllowIfDefault.add(
- new OpToUnrestrict(uid, pkg.packageName,
- op));
+ new OpToChange(uid, pkg.packageName, op));
}
break;
case MODE_FOREGROUND:
@@ -532,10 +531,10 @@
break;
case MODE_IGNORED:
if (policy.shouldSetAppOpIfNotDefault()) {
- mOpsToIgnore.add(new OpToUnrestrict(uid, pkg.packageName, op));
+ mOpsToIgnore.add(new OpToChange(uid, pkg.packageName, op));
} else {
mOpsToIgnoreIfDefault.add(
- new OpToUnrestrict(uid, pkg.packageName,
+ new OpToChange(uid, pkg.packageName,
op));
}
break;
@@ -597,7 +596,7 @@
if ((flags & FLAG_PERMISSION_REVIEW_REQUIRED) == 0
&& isBgPermRestricted(pkgName, bgPermissionName, uid)) {
- mOpsToForegroundIfAllow.add(new OpToUnrestrict(uid, pkgName, opCode));
+ mOpsToForegroundIfAllow.add(new OpToChange(uid, pkgName, opCode));
}
return;
@@ -611,12 +610,12 @@
pkgName) == PackageManager.PERMISSION_GRANTED;
if (!isBgHardRestricted && isBgPermGranted) {
- mOpsToAllow.add(new OpToUnrestrict(uid, pkgName, opCode));
+ mOpsToAllow.add(new OpToChange(uid, pkgName, opCode));
} else {
- mOpsToForeground.add(new OpToUnrestrict(uid, pkgName, opCode));
+ mOpsToForeground.add(new OpToChange(uid, pkgName, opCode));
}
} else {
- mOpsToIgnore.add(new OpToUnrestrict(uid, pkgName, opCode));
+ mOpsToIgnore.add(new OpToChange(uid, pkgName, opCode));
}
}
@@ -703,26 +702,16 @@
}
}
- private void setUidModeDefault(int opCode, int uid) {
- mAppOpsManager.setUidMode(opCode, uid, MODE_DEFAULT);
+ private void setUidModeDefault(int opCode, int uid, String packageName) {
+ setUidMode(opCode, uid, MODE_DEFAULT, packageName);
}
- private class OpToRestrict {
- final int uid;
- final int code;
-
- OpToRestrict(int uid, int code) {
- this.uid = uid;
- this.code = code;
- }
- }
-
- private class OpToUnrestrict {
+ private class OpToChange {
final int uid;
final @NonNull String packageName;
final int code;
- OpToUnrestrict(int uid, @NonNull String packageName, int code) {
+ OpToChange(int uid, @NonNull String packageName, int code) {
this.uid = uid;
this.packageName = packageName;
this.code = code;
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index da87b2f..2052b157 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -2517,14 +2517,21 @@
@Override
public Animation createHiddenByKeyguardExit(boolean onWallpaper,
- boolean goingToNotificationShade) {
+ boolean goingToNotificationShade, boolean subtleAnimation) {
if (goingToNotificationShade) {
return AnimationUtils.loadAnimation(mContext, R.anim.lock_screen_behind_enter_fade_in);
}
- AnimationSet set = (AnimationSet) AnimationUtils.loadAnimation(mContext, onWallpaper ?
- R.anim.lock_screen_behind_enter_wallpaper :
- R.anim.lock_screen_behind_enter);
+ final int resource;
+ if (onWallpaper) {
+ resource = R.anim.lock_screen_behind_enter_wallpaper;
+ } else if (subtleAnimation) {
+ resource = R.anim.lock_screen_behind_enter_subtle;
+ } else {
+ resource = R.anim.lock_screen_behind_enter;
+ }
+
+ AnimationSet set = (AnimationSet) AnimationUtils.loadAnimation(mContext, resource);
// TODO: Use XML interpolators when we have log interpolators available in XML.
final List<Animation> animations = set.getAnimations();
diff --git a/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java b/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java
index 1658833..d53f685 100644
--- a/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java
+++ b/services/core/java/com/android/server/policy/SoftRestrictedPermissionPolicy.java
@@ -91,8 +91,7 @@
// Storage uses a special app op to decide the mount state and supports soft restriction
// where the restricted state allows the permission but only for accessing the medial
// collections.
- case READ_EXTERNAL_STORAGE:
- case WRITE_EXTERNAL_STORAGE: {
+ case READ_EXTERNAL_STORAGE: {
final int flags;
final boolean applyRestriction;
final boolean isWhiteListed;
@@ -148,6 +147,42 @@
}
};
}
+ case WRITE_EXTERNAL_STORAGE: {
+ final boolean isWhiteListed;
+ final int targetSDK;
+
+ if (appInfo != null) {
+ final int flags = context.getPackageManager().getPermissionFlags(permission,
+ appInfo.packageName, user);
+ isWhiteListed = (flags & FLAGS_PERMISSION_RESTRICTION_ANY_EXEMPT) != 0;
+ targetSDK = appInfo.targetSdkVersion;
+ } else {
+ isWhiteListed = false;
+ targetSDK = 0;
+ }
+
+ return new SoftRestrictedPermissionPolicy() {
+ @Override
+ public int resolveAppOp() {
+ return OP_NONE;
+ }
+
+ @Override
+ public int getDesiredOpMode() {
+ return MODE_DEFAULT;
+ }
+
+ @Override
+ public boolean shouldSetAppOpIfNotDefault() {
+ return false;
+ }
+
+ @Override
+ public boolean canBeGranted() {
+ return isWhiteListed || targetSDK >= Build.VERSION_CODES.Q;
+ }
+ };
+ }
default:
return DUMMY_POLICY;
}
diff --git a/services/core/java/com/android/server/policy/WindowManagerPolicy.java b/services/core/java/com/android/server/policy/WindowManagerPolicy.java
index b196754..6d9c710 100644
--- a/services/core/java/com/android/server/policy/WindowManagerPolicy.java
+++ b/services/core/java/com/android/server/policy/WindowManagerPolicy.java
@@ -980,7 +980,7 @@
* Create and return an animation to re-display a window that was force hidden by Keyguard.
*/
public Animation createHiddenByKeyguardExit(boolean onWallpaper,
- boolean goingToNotificationShade);
+ boolean goingToNotificationShade, boolean subtleAnimation);
/**
* Create and return an animation to let the wallpaper disappear after being shown behind
diff --git a/services/core/java/com/android/server/stats/StatsCompanionService.java b/services/core/java/com/android/server/stats/StatsCompanionService.java
index 0e2d1db..c76bbb0 100644
--- a/services/core/java/com/android/server/stats/StatsCompanionService.java
+++ b/services/core/java/com/android/server/stats/StatsCompanionService.java
@@ -25,7 +25,9 @@
import static com.android.internal.util.Preconditions.checkNotNull;
import static com.android.server.am.MemoryStatUtil.readCmdlineFromProcfs;
+import static com.android.server.am.MemoryStatUtil.readMemoryStatFromFilesystem;
import static com.android.server.am.MemoryStatUtil.readMemoryStatFromProcfs;
+import static com.android.server.am.MemoryStatUtil.readProcessSystemIonHeapSizesFromDebugfs;
import static com.android.server.am.MemoryStatUtil.readRssHighWaterMarkFromProcfs;
import static com.android.server.am.MemoryStatUtil.readSystemIonHeapSizeFromDebugfs;
@@ -39,7 +41,6 @@
import android.app.AppOpsManager.HistoricalOpsRequest;
import android.app.AppOpsManager.HistoricalPackageOps;
import android.app.AppOpsManager.HistoricalUidOps;
-import android.app.ProcessMemoryHighWaterMark;
import android.app.ProcessMemoryState;
import android.app.StatsManager;
import android.bluetooth.BluetoothActivityEnergyInfo;
@@ -137,6 +138,7 @@
import com.android.server.LocalServices;
import com.android.server.SystemService;
import com.android.server.SystemServiceManager;
+import com.android.server.am.MemoryStatUtil.IonAllocations;
import com.android.server.am.MemoryStatUtil.MemoryStat;
import com.android.server.role.RoleManagerInternal;
import com.android.server.storage.DiskStatsFileLogger;
@@ -1170,17 +1172,23 @@
LocalServices.getService(
ActivityManagerInternal.class).getMemoryStateForProcesses();
for (ProcessMemoryState processMemoryState : processMemoryStates) {
+ final MemoryStat memoryStat = readMemoryStatFromFilesystem(processMemoryState.uid,
+ processMemoryState.pid);
+ if (memoryStat == null) {
+ continue;
+ }
StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
e.writeInt(processMemoryState.uid);
e.writeString(processMemoryState.processName);
e.writeInt(processMemoryState.oomScore);
- e.writeLong(processMemoryState.pgfault);
- e.writeLong(processMemoryState.pgmajfault);
- e.writeLong(processMemoryState.rssInBytes);
- e.writeLong(processMemoryState.cacheInBytes);
- e.writeLong(processMemoryState.swapInBytes);
+ e.writeLong(memoryStat.pgfault);
+ e.writeLong(memoryStat.pgmajfault);
+ e.writeLong(memoryStat.rssInBytes);
+ e.writeLong(memoryStat.cacheInBytes);
+ e.writeLong(memoryStat.swapInBytes);
e.writeLong(0); // unused
- e.writeLong(processMemoryState.startTimeNanos);
+ e.writeLong(memoryStat.startTimeNanos);
+ e.writeInt(anonAndSwapInKilobytes(memoryStat));
pulledData.add(e);
}
}
@@ -1213,20 +1221,31 @@
e.writeLong(0); // unused
e.writeLong(memoryStat.startTimeNanos);
e.writeLong(memoryStat.swapInBytes);
+ e.writeInt(anonAndSwapInKilobytes(memoryStat));
pulledData.add(e);
}
}
+ private static int anonAndSwapInKilobytes(MemoryStat memoryStat) {
+ return (int) ((memoryStat.anonRssInBytes + memoryStat.swapInBytes) / 1024);
+ }
+
private void pullProcessMemoryHighWaterMark(
int tagId, long elapsedNanos, long wallClockNanos,
List<StatsLogEventWrapper> pulledData) {
- List<ProcessMemoryHighWaterMark> results = LocalServices.getService(
- ActivityManagerInternal.class).getMemoryHighWaterMarkForProcesses();
- for (ProcessMemoryHighWaterMark processMemoryHighWaterMark : results) {
+ List<ProcessMemoryState> managedProcessList =
+ LocalServices.getService(
+ ActivityManagerInternal.class).getMemoryStateForProcesses();
+ for (ProcessMemoryState managedProcess : managedProcessList) {
+ final long rssHighWaterMarkInBytes =
+ readRssHighWaterMarkFromProcfs(managedProcess.pid);
+ if (rssHighWaterMarkInBytes == 0) {
+ continue;
+ }
StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
- e.writeInt(processMemoryHighWaterMark.uid);
- e.writeString(processMemoryHighWaterMark.processName);
- e.writeLong(processMemoryHighWaterMark.rssHighWaterMarkInBytes);
+ e.writeInt(managedProcess.uid);
+ e.writeString(managedProcess.processName);
+ e.writeLong(rssHighWaterMarkInBytes);
pulledData.add(e);
}
int[] pids = getPidsForCommands(MEMORY_INTERESTING_NATIVE_PROCESSES);
@@ -1254,6 +1273,21 @@
pulledData.add(e);
}
+ private void pullProcessSystemIonHeapSize(
+ int tagId, long elapsedNanos, long wallClockNanos,
+ List<StatsLogEventWrapper> pulledData) {
+ List<IonAllocations> result = readProcessSystemIonHeapSizesFromDebugfs();
+ for (IonAllocations allocations : result) {
+ StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
+ e.writeInt(getUidForPid(allocations.pid));
+ e.writeString(readCmdlineFromProcfs(allocations.pid));
+ e.writeInt((int) (allocations.totalSizeInBytes / 1024));
+ e.writeInt(allocations.count);
+ e.writeInt((int) (allocations.maxSizeInBytes / 1024));
+ pulledData.add(e);
+ }
+ }
+
private void pullBinderCallsStats(
int tagId, long elapsedNanos, long wallClockNanos,
List<StatsLogEventWrapper> pulledData) {
@@ -2316,6 +2350,10 @@
pullSystemIonHeapSize(tagId, elapsedNanos, wallClockNanos, ret);
break;
}
+ case StatsLog.PROCESS_SYSTEM_ION_HEAP_SIZE: {
+ pullProcessSystemIonHeapSize(tagId, elapsedNanos, wallClockNanos, ret);
+ break;
+ }
case StatsLog.BINDER_CALLS: {
pullBinderCallsStats(tagId, elapsedNanos, wallClockNanos, ret);
break;
diff --git a/services/core/java/com/android/server/trust/TrustManagerService.java b/services/core/java/com/android/server/trust/TrustManagerService.java
index a2eb40b..7408dd4 100644
--- a/services/core/java/com/android/server/trust/TrustManagerService.java
+++ b/services/core/java/com/android/server/trust/TrustManagerService.java
@@ -199,6 +199,7 @@
private final Uri LOCK_SCREEN_WHEN_TRUST_LOST =
Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_WHEN_TRUST_LOST);
+ private final boolean mIsAutomotive;
private final ContentResolver mContentResolver;
private boolean mTrustAgentsExtendUnlock;
private boolean mLockWhenTrustLost;
@@ -210,6 +211,10 @@
*/
SettingsObserver(Handler handler) {
super(handler);
+
+ PackageManager packageManager = getContext().getPackageManager();
+ mIsAutomotive = packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE);
+
mContentResolver = getContext().getContentResolver();
updateContentObserver();
}
@@ -233,11 +238,15 @@
@Override
public void onChange(boolean selfChange, Uri uri) {
if (TRUST_AGENTS_EXTEND_UNLOCK.equals(uri)) {
+ // Smart lock should only extend unlock. The only exception is for automotive,
+ // where it can actively unlock the head unit.
+ int defaultValue = mIsAutomotive ? 0 : 1;
+
mTrustAgentsExtendUnlock =
Settings.Secure.getIntForUser(
mContentResolver,
Settings.Secure.TRUST_AGENTS_EXTEND_UNLOCK,
- 0 /* default */,
+ defaultValue,
mCurrentUser) != 0;
} else if (LOCK_SCREEN_WHEN_TRUST_LOST.equals(uri)) {
mLockWhenTrustLost =
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index b6af939..557a609 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -23,6 +23,7 @@
import static android.view.WindowManager.TRANSIT_CRASHING_ACTIVITY_CLOSE;
import static android.view.WindowManager.TRANSIT_DOCK_TASK_FROM_RECENTS;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION;
+import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE;
import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY;
import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER;
@@ -1802,8 +1803,10 @@
}
final boolean toShade =
(mNextAppTransitionFlags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0;
+ final boolean subtle =
+ (mNextAppTransitionFlags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION) != 0;
return mService.mPolicy.createHiddenByKeyguardExit(
- transit == TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER, toShade);
+ transit == TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER, toShade, subtle);
}
int getAppStackClipMode() {
diff --git a/services/core/java/com/android/server/wm/AppTransitionController.java b/services/core/java/com/android/server/wm/AppTransitionController.java
index 6c5ef52..d4e95cf 100644
--- a/services/core/java/com/android/server/wm/AppTransitionController.java
+++ b/services/core/java/com/android/server/wm/AppTransitionController.java
@@ -23,6 +23,7 @@
import static android.view.WindowManager.TRANSIT_CRASHING_ACTIVITY_CLOSE;
import static android.view.WindowManager.TRANSIT_DOCK_TASK_FROM_RECENTS;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION;
+import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER;
import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY;
@@ -425,7 +426,8 @@
private void handleNonAppWindowsInTransition(int transit, int flags) {
if (transit == TRANSIT_KEYGUARD_GOING_AWAY) {
if ((flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER) != 0
- && (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION) == 0) {
+ && (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION) == 0
+ && (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION) == 0) {
Animation anim = mService.mPolicy.createKeyguardWallpaperExit(
(flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0);
if (anim != null) {
@@ -437,7 +439,8 @@
|| transit == TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER) {
mDisplayContent.startKeyguardExitOnNonAppWindows(
transit == TRANSIT_KEYGUARD_GOING_AWAY_ON_WALLPAPER,
- (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0);
+ (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE) != 0,
+ (flags & TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION) != 0);
}
}
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index be3b924..4a9a3f7 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -79,7 +79,6 @@
import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_WILL_PLACE_SURFACES;
import static com.android.server.wm.WindowManagerService.logWithStack;
import static com.android.server.wm.WindowState.LEGACY_POLICY_VISIBILITY;
-import static com.android.server.wm.WindowStateAnimator.HAS_DRAWN;
import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_AFTER_ANIM;
import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_BEFORE_ANIM;
@@ -541,14 +540,6 @@
// If the app was already visible, don't reset the waitingToShow state.
if (isHidden()) {
waitingToShow = true;
-
- // Let's reset the draw state in order to prevent the starting window to be
- // immediately dismissed when the app still has the surface.
- forAllWindows(w -> {
- if (w.mWinAnimator.mDrawState == HAS_DRAWN) {
- w.mWinAnimator.resetDrawState();
- }
- }, true /* traverseTopToBottom */);
}
}
@@ -1331,9 +1322,7 @@
if (prevDc == null || prevDc == mDisplayContent) {
return;
}
-
- prevDc.mOpeningApps.remove(this);
- if (prevDc.mChangingApps.remove(this)) {
+ if (prevDc.mChangingApps.contains(this)) {
// This gets called *after* the AppWindowToken has been reparented to the new display.
// That reparenting resulted in this window changing modes (eg. FREEFORM -> FULLSCREEN),
// so this token is now "frozen" while waiting for the animation to start on prevDc
@@ -1342,8 +1331,6 @@
// so we need to cancel the change transition here.
clearChangeLeash(getPendingTransaction(), true /* cancel */);
}
- prevDc.mClosingApps.remove(this);
-
if (prevDc.mFocusedApp == this) {
prevDc.setFocusedApp(null);
final TaskStack stack = dc.getTopStack();
@@ -3229,6 +3216,16 @@
true /* topToBottom */);
}
+ void removeFromPendingTransition() {
+ if (isWaitingForTransitionStart() && mDisplayContent != null) {
+ mDisplayContent.mOpeningApps.remove(this);
+ if (mDisplayContent.mChangingApps.remove(this)) {
+ clearChangeLeash(getPendingTransaction(), true /* cancel */);
+ }
+ mDisplayContent.mClosingApps.remove(this);
+ }
+ }
+
private void updateColorTransform() {
if (mSurfaceControl != null && mLastAppSaturationInfo != null) {
getPendingTransaction().setColorTransform(mSurfaceControl,
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 1332e6d..b3f3ba3 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -2377,6 +2377,9 @@
+ " to its current displayId=" + mDisplayId);
}
+ // Clean up all pending transitions when stack reparent to another display.
+ stack.forAllAppWindows(AppWindowToken::removeFromPendingTransition);
+
prevDc.mTaskStackContainers.removeChild(stack);
mTaskStackContainers.addStackToDisplay(stack, onTop);
}
@@ -3471,12 +3474,14 @@
/**
* Starts the Keyguard exit animation on all windows that don't belong to an app token.
*/
- void startKeyguardExitOnNonAppWindows(boolean onWallpaper, boolean goingToShade) {
+ void startKeyguardExitOnNonAppWindows(boolean onWallpaper, boolean goingToShade,
+ boolean subtle) {
final WindowManagerPolicy policy = mWmService.mPolicy;
forAllWindows(w -> {
if (w.mAppToken == null && policy.canBeHiddenByKeyguardLw(w)
&& w.wouldBeVisibleIfPolicyIgnored() && !w.isVisible()) {
- w.startAnimation(policy.createHiddenByKeyguardExit(onWallpaper, goingToShade));
+ w.startAnimation(policy.createHiddenByKeyguardExit(
+ onWallpaper, goingToShade, subtle));
}
}, true /* traverseTopToBottom */);
}
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index 7badc7a..cf87203 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -478,8 +478,10 @@
@Override
public void onSwipeFromRight() {
- final Region excludedRegion =
- mDisplayContent.calculateSystemGestureExclusion();
+ final Region excludedRegion;
+ synchronized (mLock) {
+ excludedRegion = mDisplayContent.calculateSystemGestureExclusion();
+ }
final boolean sideAllowed = mNavigationBarAlwaysShowOnSideGesture
|| mNavigationBarPosition == NAV_BAR_RIGHT;
if (mNavigationBar != null && sideAllowed
@@ -490,8 +492,10 @@
@Override
public void onSwipeFromLeft() {
- final Region excludedRegion =
- mDisplayContent.calculateSystemGestureExclusion();
+ final Region excludedRegion;
+ synchronized (mLock) {
+ excludedRegion = mDisplayContent.calculateSystemGestureExclusion();
+ }
final boolean sideAllowed = mNavigationBarAlwaysShowOnSideGesture
|| mNavigationBarPosition == NAV_BAR_LEFT;
if (mNavigationBar != null && sideAllowed
@@ -1494,8 +1498,6 @@
}
sTmpRect.setEmpty();
- sTmpDockedFrame.set(displayFrames.mDock);
-
final int displayId = displayFrames.mDisplayId;
final Rect dockFrame = displayFrames.mDock;
final int displayHeight = displayFrames.mDisplayHeight;
@@ -1508,11 +1510,13 @@
continue;
}
- w.getWindowFrames().setFrames(sTmpDockedFrame /* parentFrame */,
- sTmpDockedFrame /* displayFrame */, sTmpDockedFrame /* overscanFrame */,
- sTmpDockedFrame /* contentFrame */, sTmpDockedFrame /* visibleFrame */,
- sTmpRect /* decorFrame */, sTmpDockedFrame /* stableFrame */,
- sTmpDockedFrame /* outsetFrame */);
+ w.getWindowFrames().setFrames(displayFrames.mUnrestricted /* parentFrame */,
+ displayFrames.mUnrestricted /* displayFrame */,
+ displayFrames.mUnrestricted /* overscanFrame */,
+ displayFrames.mUnrestricted /* contentFrame */,
+ displayFrames.mUnrestricted /* visibleFrame */, sTmpRect /* decorFrame */,
+ displayFrames.mUnrestricted /* stableFrame */,
+ displayFrames.mUnrestricted /* outsetFrame */);
w.getWindowFrames().setDisplayCutout(displayFrames.mDisplayCutout);
w.computeFrameLw();
final Rect frame = w.getFrameLw();
diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java
index 169f03b..ca4749f 100644
--- a/services/core/java/com/android/server/wm/KeyguardController.java
+++ b/services/core/java/com/android/server/wm/KeyguardController.java
@@ -19,6 +19,7 @@
import static android.os.Trace.TRACE_TAG_ACTIVITY_MANAGER;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_NO_ANIMATION;
+import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_TO_SHADE;
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER;
import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY;
@@ -26,6 +27,7 @@
import static android.view.WindowManager.TRANSIT_KEYGUARD_UNOCCLUDE;
import static android.view.WindowManager.TRANSIT_UNSET;
import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_NO_WINDOW_ANIMATIONS;
+import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_SUBTLE_WINDOW_ANIMATIONS;
import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_SHADE;
import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER;
@@ -238,6 +240,9 @@
if ((keyguardGoingAwayFlags & KEYGUARD_GOING_AWAY_FLAG_WITH_WALLPAPER) != 0) {
result |= TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER;
}
+ if ((keyguardGoingAwayFlags & KEYGUARD_GOING_AWAY_FLAG_SUBTLE_WINDOW_ANIMATIONS) != 0) {
+ result |= TRANSIT_FLAG_KEYGUARD_GOING_AWAY_SUBTLE_ANIMATION;
+ }
return result;
}
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
index a7760a86..c3762d6 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java
@@ -317,6 +317,11 @@
throw new IllegalStateException("mSurface does not hold a valid surface.");
}
final SurfaceSession session = new SurfaceSession();
+ // We consider nearly matched dimensions as there can be rounding errors and the user won't
+ // notice very minute differences from scaling one dimension more than the other
+ final boolean aspectRatioMismatch = Math.abs(
+ ((float) buffer.getWidth() / buffer.getHeight())
+ - ((float) mFrame.width() / mFrame.height())) > 0.01f;
// Keep a reference to it such that it doesn't get destroyed when finalized.
mChildSurfaceControl = new SurfaceControl.Builder(session)
@@ -328,16 +333,21 @@
Surface surface = new Surface();
surface.copyFrom(mChildSurfaceControl);
- // Clip off ugly navigation bar.
- final Rect crop = calculateSnapshotCrop();
- final Rect frame = calculateSnapshotFrame(crop);
+ final Rect frame;
SurfaceControl.openTransaction();
try {
// We can just show the surface here as it will still be hidden as the parent is
// still hidden.
mChildSurfaceControl.show();
- mChildSurfaceControl.setWindowCrop(crop);
- mChildSurfaceControl.setPosition(frame.left, frame.top);
+ if (aspectRatioMismatch) {
+ // Clip off ugly navigation bar.
+ final Rect crop = calculateSnapshotCrop();
+ frame = calculateSnapshotFrame(crop);
+ mChildSurfaceControl.setWindowCrop(crop);
+ mChildSurfaceControl.setPosition(frame.left, frame.top);
+ } else {
+ frame = null;
+ }
// Scale the mismatch dimensions to fill the task bounds
final float scale = 1 / mSnapshot.getScale();
@@ -348,10 +358,12 @@
surface.attachAndQueueBuffer(buffer);
surface.release();
- final Canvas c = mSurface.lockCanvas(null);
- drawBackgroundAndBars(c, frame);
- mSurface.unlockCanvasAndPost(c);
- mSurface.release();
+ if (aspectRatioMismatch) {
+ final Canvas c = mSurface.lockCanvas(null);
+ drawBackgroundAndBars(c, frame);
+ mSurface.unlockCanvasAndPost(c);
+ mSurface.release();
+ }
}
/**
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index 481c3ba..114a56f 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -1936,8 +1936,12 @@
public boolean setPinnedStackAlpha(float alpha) {
// Hold the lock since this is called from the BoundsAnimator running on the UiThread
synchronized (mWmService.mGlobalLock) {
- getPendingTransaction().setAlpha(getSurfaceControl(),
- mCancelCurrentBoundsAnimation ? 1 : alpha);
+ final SurfaceControl sc = getSurfaceControl();
+ if (sc == null || !sc.isValid()) {
+ // If the stack is already removed, don't bother updating any stack animation
+ return false;
+ }
+ getPendingTransaction().setAlpha(sc, mCancelCurrentBoundsAnimation ? 1 : alpha);
scheduleAnimation();
return !mCancelCurrentBoundsAnimation;
}
diff --git a/services/core/java/com/android/server/wm/WallpaperController.java b/services/core/java/com/android/server/wm/WallpaperController.java
index da873b8..21410c4 100644
--- a/services/core/java/com/android/server/wm/WallpaperController.java
+++ b/services/core/java/com/android/server/wm/WallpaperController.java
@@ -24,7 +24,6 @@
import static android.view.WindowManager.TRANSIT_FLAG_KEYGUARD_GOING_AWAY_WITH_WALLPAPER;
import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
-import static com.android.server.wm.RecentsAnimationController.REORDER_MOVE_TO_ORIGINAL_POSITION;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_APP_TRANSITIONS;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_SCREENSHOT;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_WALLPAPER;
@@ -612,10 +611,10 @@
if (DEBUG_APP_TRANSITIONS || DEBUG_WALLPAPER) Slog.v(TAG,
"*** WALLPAPER DRAW TIMEOUT");
- // If there was a recents animation in progress, cancel that animation
+ // If there was a pending recents animation, start the animation anyways (it's better
+ // to not see the wallpaper than for the animation to not start)
if (mService.getRecentsAnimationController() != null) {
- mService.getRecentsAnimationController().cancelAnimation(
- REORDER_MOVE_TO_ORIGINAL_POSITION, "wallpaperDrawPendingTimeout");
+ mService.getRecentsAnimationController().startAnimation();
}
return true;
}
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index dc94d16..2c0a733 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1296,12 +1296,6 @@
return;
}
- // We don't apply animation for application main window here since this window type
- // should be controlled by AppWindowToken in general.
- if (mAttrType == TYPE_BASE_APPLICATION) {
- return;
- }
-
final int transit;
if (mEnterAnimationPending) {
mEnterAnimationPending = false;
@@ -1309,7 +1303,13 @@
} else {
transit = WindowManagerPolicy.TRANSIT_SHOW;
}
- applyAnimationLocked(transit, true);
+
+ // We don't apply animation for application main window here since this window type
+ // should be controlled by AppWindowToken in general.
+ if (mAttrType != TYPE_BASE_APPLICATION) {
+ applyAnimationLocked(transit, true);
+ }
+
if (mService.mAccessibilityController != null) {
mService.mAccessibilityController.onWindowTransitionLocked(mWin, transit);
}
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 8b61208..e5518d0 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -11018,7 +11018,11 @@
return false;
}
mLockPatternUtils.setLockScreenDisabled(disabled, userId);
- mInjector.getIWindowManager().dismissKeyguard(null /* callback */, null /* message */);
+ if (disabled) {
+ mInjector
+ .getIWindowManager()
+ .dismissKeyguard(null /* callback */, null /* message */);
+ }
DevicePolicyEventLogger
.createEvent(DevicePolicyEnums.SET_KEYGUARD_DISABLED)
.setAdmin(who)
diff --git a/services/net/java/android/net/ip/IpServer.java b/services/net/java/android/net/ip/IpServer.java
index 66884c6..6a6a130 100644
--- a/services/net/java/android/net/ip/IpServer.java
+++ b/services/net/java/android/net/ip/IpServer.java
@@ -433,6 +433,9 @@
}
}
ifcg.clearFlag("running");
+
+ // TODO: this may throw if the interface is already gone. Do proper handling and
+ // simplify the DHCP server start/stop.
mNMService.setInterfaceConfig(mIfaceName, ifcg);
if (!configureDhcp(enabled, (Inet4Address) addr, prefixLen)) {
@@ -440,6 +443,14 @@
}
} catch (Exception e) {
mLog.e("Error configuring interface " + e);
+ if (!enabled) {
+ try {
+ // Calling stopDhcp several times is fine
+ stopDhcp();
+ } catch (Exception dhcpError) {
+ mLog.e("Error stopping DHCP", dhcpError);
+ }
+ }
return false;
}
diff --git a/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java b/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
index 174571d..6678a78 100644
--- a/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
@@ -23,13 +23,18 @@
import static com.android.server.am.MemoryStatUtil.parseIonHeapSizeFromDebugfs;
import static com.android.server.am.MemoryStatUtil.parseMemoryStatFromMemcg;
import static com.android.server.am.MemoryStatUtil.parseMemoryStatFromProcfs;
+import static com.android.server.am.MemoryStatUtil.parseProcessIonHeapSizesFromDebugfs;
import static com.android.server.am.MemoryStatUtil.parseVmHWMFromProcfs;
+import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import androidx.test.filters.SmallTest;
+import com.android.server.am.MemoryStatUtil.IonAllocations;
+
import org.junit.Test;
import java.io.ByteArrayOutputStream;
@@ -178,32 +183,70 @@
+ "voluntary_ctxt_switches:\t903\n"
+ "nonvoluntary_ctxt_switches:\t104\n";
+ // Repeated lines have been removed.
private static final String DEBUG_SYSTEM_ION_HEAP_CONTENTS = String.join(
- " client pid size\n",
- "----------------------------------------------------\n",
- " audio@2.0-servi 765 4096\n",
- " audio@2.0-servi 765 61440\n",
- " audio@2.0-servi 765 4096\n",
- " voip_client 96 8192\n",
- " voip_client 96 4096\n",
- " system_server 1232 16728064\n",
- " surfaceflinger 611 50642944\n",
- "----------------------------------------------------\n",
- "orphaned allocations (info is from last known client):\n",
- "----------------------------------------------------\n",
- " total orphaned 0\n",
- " total 55193600\n",
- " deferred free 0\n",
- "----------------------------------------------------\n",
- "0 order 4 highmem pages in uncached pool = 0 total\n",
- "0 order 4 lowmem pages in uncached pool = 0 total\n",
- "1251 order 4 lowmem pages in cached pool = 81985536 total\n",
- "VMID 8: 0 order 4 highmem pages in secure pool = 0 total\n",
- "VMID 8: 0 order 4 lowmem pages in secure pool = 0 total\n",
- "--------------------------------------------\n",
- "uncached pool = 4096 cached pool = 83566592 secure pool = 0\n",
- "pool total (uncached + cached + secure) = 83570688\n",
- "--------------------------------------------\n");
+ "\n",
+ " client pid size",
+ "----------------------------------------------------",
+ " audio@2.0-servi 765 4096",
+ " audio@2.0-servi 765 61440",
+ " audio@2.0-servi 765 4096",
+ " voip_client 96 8192",
+ " voip_client 96 4096",
+ " system_server 1232 16728064",
+ " surfaceflinger 611 50642944",
+ "----------------------------------------------------",
+ "orphaned allocations (info is from last known client):",
+ "----------------------------------------------------",
+ " total orphaned 0",
+ " total 55193600",
+ " deferred free 0",
+ "----------------------------------------------------",
+ "0 order 4 highmem pages in uncached pool = 0 total",
+ "0 order 4 lowmem pages in uncached pool = 0 total",
+ "1251 order 4 lowmem pages in cached pool = 81985536 total",
+ "VMID 8: 0 order 4 highmem pages in secure pool = 0 total",
+ "VMID 8: 0 order 4 lowmem pages in secure pool = 0 total",
+ "--------------------------------------------",
+ "uncached pool = 4096 cached pool = 83566592 secure pool = 0",
+ "pool total (uncached + cached + secure) = 83570688",
+ "--------------------------------------------");
+
+ // Repeated lines have been removed.
+ private static final String DEBUG_SYSTEM_ION_HEAP_CONTENTS_SARGO = String.join(
+ "\n",
+ " client pid size page counts"
+ + "-------------------------------------------------- 4K 8K "
+ + "16K 32K 64K 128K 256K 512K 1M 2M "
+ + "4M >=8M",
+ " system_server 1705 58097664 13120 532 "
+ + "0 0 0 0 0 0 0 0 "
+ + "0 0M",
+ " audio@2.0-servi 851 16384 0 2 0 "
+ + "0 0 0 0 0 0 0 "
+ + "0 0M",
+ " audio@2.0-servi 851 4096 1 0 0 "
+ + " 0 0 0 0 0 0 0 0 "
+ + "0M",
+ " audio@2.0-servi 851 4096 1 0 "
+ + " 0 0 0 0 0 0 0 0 "
+ + "0 0M",
+ "----------------------------------------------------",
+ "orphaned allocations (info is from last known client):",
+ "----------------------------------------------------",
+ " total orphaned 0",
+ " total 159928320",
+ " deferred free 0",
+ "----------------------------------------------------",
+ "0 order 4 highmem pages in uncached pool = 0 total",
+ "0 order 4 lowmem pages in uncached pool = 0 total",
+ "1251 order 4 lowmem pages in cached pool = 81985536 total",
+ "VMID 8: 0 order 4 highmem pages in secure pool = 0 total",
+ "VMID 8: 0 order 4 lowmem pages in secure pool = 0 total",
+ "--------------------------------------------",
+ "uncached pool = 4096 cached pool = 83566592 secure pool = 0",
+ "pool total (uncached + cached + secure) = 83570688",
+ "--------------------------------------------");
@Test
public void testParseMemoryStatFromMemcg_parsesCorrectValues() {
@@ -233,6 +276,7 @@
assertEquals(0, stat.cacheInBytes);
assertEquals(22 * BYTES_IN_KILOBYTE, stat.swapInBytes);
assertEquals(2222 * JIFFY_NANOS, stat.startTimeNanos);
+ assertEquals(37860 * BYTES_IN_KILOBYTE, stat.anonRssInBytes);
}
@Test
@@ -322,5 +366,47 @@
@Test
public void testParseIonHeapSizeFromDebugfs_correctValue() {
assertEquals(55193600, parseIonHeapSizeFromDebugfs(DEBUG_SYSTEM_ION_HEAP_CONTENTS));
+
+ assertEquals(159928320, parseIonHeapSizeFromDebugfs(DEBUG_SYSTEM_ION_HEAP_CONTENTS_SARGO));
+ }
+
+ @Test
+ public void testParseProcessIonHeapSizesFromDebugfs_emptyContents() {
+ assertEquals(0, parseProcessIonHeapSizesFromDebugfs("").size());
+
+ assertEquals(0, parseProcessIonHeapSizesFromDebugfs(null).size());
+ }
+
+ @Test
+ public void testParseProcessIonHeapSizesFromDebugfs_invalidValue() {
+ assertEquals(0, parseProcessIonHeapSizesFromDebugfs("<<no-value>>").size());
+ }
+
+ @Test
+ public void testParseProcessIonHeapSizesFromDebugfs_correctValue1() {
+ assertThat(parseProcessIonHeapSizesFromDebugfs(DEBUG_SYSTEM_ION_HEAP_CONTENTS))
+ .containsExactly(
+ createIonAllocations(765, 61440 + 4096 + 4096, 3, 61440),
+ createIonAllocations(96, 8192 + 4096, 2, 8192),
+ createIonAllocations(1232, 16728064, 1, 16728064),
+ createIonAllocations(611, 50642944, 1, 50642944));
+ }
+
+ @Test
+ public void testParseProcessIonHeapSizesFromDebugfs_correctValue2() {
+ assertThat(parseProcessIonHeapSizesFromDebugfs(DEBUG_SYSTEM_ION_HEAP_CONTENTS_SARGO))
+ .containsExactly(
+ createIonAllocations(1705, 58097664, 1, 58097664),
+ createIonAllocations(851, 16384 + 4096 + 4096, 3, 16384));
+ }
+
+ private static IonAllocations createIonAllocations(int pid, long totalSizeInBytes, int count,
+ long maxSizeInBytes) {
+ IonAllocations allocations = new IonAllocations();
+ allocations.pid = pid;
+ allocations.totalSizeInBytes = totalSizeInBytes;
+ allocations.count = count;
+ allocations.maxSizeInBytes = maxSizeInBytes;
+ return allocations;
}
}
diff --git a/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java b/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java
index 8bb8aae..fb2913b 100644
--- a/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/display/color/ColorDisplayServiceTest.java
@@ -113,6 +113,8 @@
mUserId = UserHandle.USER_NULL;
mContext = null;
+ FakeSettingsProvider.clearSettingsProvider();
+
LocalServices.removeServiceForTest(ColorDisplayService.ColorDisplayServiceInternal.class);
}
@@ -924,11 +926,8 @@
startService();
assertUserColorMode(ColorDisplayManager.COLOR_MODE_NATURAL);
- if (isColorModeValid(ColorDisplayManager.COLOR_MODE_SATURATED)) {
- assertActiveColorMode(ColorDisplayManager.COLOR_MODE_SATURATED);
- } else if (isColorModeValid(ColorDisplayManager.COLOR_MODE_AUTOMATIC)) {
- assertActiveColorMode(ColorDisplayManager.COLOR_MODE_AUTOMATIC);
- }
+ assertActiveColorMode(mContext.getResources().getInteger(
+ R.integer.config_accessibilityColorMode));
}
@Test
@@ -942,11 +941,8 @@
startService();
assertUserColorMode(ColorDisplayManager.COLOR_MODE_NATURAL);
- if (isColorModeValid(ColorDisplayManager.COLOR_MODE_SATURATED)) {
- assertActiveColorMode(ColorDisplayManager.COLOR_MODE_SATURATED);
- } else if (isColorModeValid(ColorDisplayManager.COLOR_MODE_AUTOMATIC)) {
- assertActiveColorMode(ColorDisplayManager.COLOR_MODE_AUTOMATIC);
- }
+ assertActiveColorMode(mContext.getResources().getInteger(
+ R.integer.config_accessibilityColorMode));
}
@Test
@@ -961,11 +957,8 @@
startService();
assertUserColorMode(ColorDisplayManager.COLOR_MODE_NATURAL);
- if (isColorModeValid(ColorDisplayManager.COLOR_MODE_SATURATED)) {
- assertActiveColorMode(ColorDisplayManager.COLOR_MODE_SATURATED);
- } else if (isColorModeValid(ColorDisplayManager.COLOR_MODE_AUTOMATIC)) {
- assertActiveColorMode(ColorDisplayManager.COLOR_MODE_AUTOMATIC);
- }
+ assertActiveColorMode(mContext.getResources().getInteger(
+ R.integer.config_accessibilityColorMode));
}
@Test
@@ -1020,11 +1013,15 @@
@Test
public void displayWhiteBalance_enabledAfterLinearColorModeSelected() {
+ if (!isColorModeValid(ColorDisplayManager.COLOR_MODE_SATURATED)) {
+ return;
+ }
setDisplayWhiteBalanceEnabled(true);
- setNightDisplayActivated(false /* activated */, -30 /* lastActivatedTimeOffset */);
+ mBinderService.setColorMode(ColorDisplayManager.COLOR_MODE_SATURATED);
startService();
- mBinderService.setColorMode(ColorDisplayManager.COLOR_MODE_NATURAL);
+ assertDwbActive(false);
+ mBinderService.setColorMode(ColorDisplayManager.COLOR_MODE_NATURAL);
mCds.updateDisplayWhiteBalanceStatus();
assertDwbActive(true);
}
@@ -1032,10 +1029,8 @@
@Test
public void displayWhiteBalance_disabledWhileAccessibilityColorCorrectionEnabled() {
setDisplayWhiteBalanceEnabled(true);
- startService();
setAccessibilityColorCorrection(true);
-
- mCds.updateDisplayWhiteBalanceStatus();
+ startService();
assertDwbActive(false);
setAccessibilityColorCorrection(false);
@@ -1046,10 +1041,8 @@
@Test
public void displayWhiteBalance_disabledWhileAccessibilityColorInversionEnabled() {
setDisplayWhiteBalanceEnabled(true);
- startService();
setAccessibilityColorInversion(true);
-
- mCds.updateDisplayWhiteBalanceStatus();
+ startService();
assertDwbActive(false);
setAccessibilityColorInversion(false);
@@ -1159,7 +1152,7 @@
InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
mCds.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
- mCds.onStartUser(mUserId);
+ mCds.onUserChanged(mUserId);
});
}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index e75a30b..5ba1eb2 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -3807,6 +3807,20 @@
}
@Test
+ public void testIsCallerInstantApp_userAllNotification() throws Exception {
+ ApplicationInfo info = new ApplicationInfo();
+ info.privateFlags = ApplicationInfo.PRIVATE_FLAG_INSTANT;
+ when(mPackageManager.getApplicationInfo(anyString(), anyInt(), eq(UserHandle.USER_SYSTEM)))
+ .thenReturn(info);
+ when(mPackageManager.getPackagesForUid(anyInt())).thenReturn(new String[]{"any"});
+
+ assertTrue(mService.isCallerInstantApp(45770, UserHandle.USER_ALL));
+
+ info.privateFlags = 0;
+ assertFalse(mService.isCallerInstantApp(575370, UserHandle.USER_ALL ));
+ }
+
+ @Test
public void testResolveNotificationUid_sameApp_nonSystemUser() throws Exception {
ApplicationInfo info = new ApplicationInfo();
info.uid = Binder.getCallingUid();
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java
index 4a87aa4..de184b8 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayPolicyLayoutTests.java
@@ -16,6 +16,10 @@
package com.android.server.wm;
+import static android.view.Gravity.BOTTOM;
+import static android.view.Gravity.LEFT;
+import static android.view.Gravity.RIGHT;
+import static android.view.Gravity.TOP;
import static android.view.Surface.ROTATION_0;
import static android.view.Surface.ROTATION_270;
import static android.view.Surface.ROTATION_90;
@@ -26,9 +30,11 @@
import static android.view.WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR;
import static android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
+import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_SCREEN_DECOR;
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING;
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
@@ -66,6 +72,7 @@
private WindowState mWindow;
private int mRotation = ROTATION_0;
private boolean mHasDisplayCutout;
+ private static final int DECOR_WINDOW_INSET = 50;
@Before
public void setUp() throws Exception {
@@ -520,6 +527,58 @@
}
}
+ @Test
+ public void testScreenDecorWindows() {
+ synchronized (mWm.mGlobalLock) {
+ final WindowState decorWindow = createWindow(null, TYPE_APPLICATION_OVERLAY,
+ "decorWindow");
+ decorWindow.mAttrs.flags |= FLAG_NOT_FOCUSABLE;
+ decorWindow.mAttrs.privateFlags |= PRIVATE_FLAG_IS_SCREEN_DECOR;
+ addWindow(decorWindow);
+ addWindow(mWindow);
+
+ // Decor on top
+ updateDecorWindow(decorWindow, MATCH_PARENT, DECOR_WINDOW_INSET, TOP);
+ mDisplayPolicy.beginLayoutLw(mFrames, 0 /* UI mode */);
+ mDisplayPolicy.layoutWindowLw(mWindow, null, mFrames);
+ assertInsetByTopBottom(mWindow.getContentFrameLw(), DECOR_WINDOW_INSET, NAV_BAR_HEIGHT);
+
+ // Decor on bottom
+ updateDecorWindow(decorWindow, MATCH_PARENT, DECOR_WINDOW_INSET, BOTTOM);
+ mDisplayPolicy.beginLayoutLw(mFrames, 0 /* UI mode */);
+ mDisplayPolicy.layoutWindowLw(mWindow, null, mFrames);
+ assertInsetByTopBottom(mWindow.getContentFrameLw(), STATUS_BAR_HEIGHT,
+ DECOR_WINDOW_INSET);
+
+ // Decor on the left
+ updateDecorWindow(decorWindow, DECOR_WINDOW_INSET, MATCH_PARENT, LEFT);
+ mDisplayPolicy.beginLayoutLw(mFrames, 0 /* UI mode */);
+ mDisplayPolicy.layoutWindowLw(mWindow, null, mFrames);
+ assertInsetBy(mWindow.getContentFrameLw(), DECOR_WINDOW_INSET, STATUS_BAR_HEIGHT, 0,
+ NAV_BAR_HEIGHT);
+
+ // Decor on the right
+ updateDecorWindow(decorWindow, DECOR_WINDOW_INSET, MATCH_PARENT, RIGHT);
+ mDisplayPolicy.beginLayoutLw(mFrames, 0 /* UI mode */);
+ mDisplayPolicy.layoutWindowLw(mWindow, null, mFrames);
+ assertInsetBy(mWindow.getContentFrameLw(), 0, STATUS_BAR_HEIGHT, DECOR_WINDOW_INSET,
+ NAV_BAR_HEIGHT);
+
+ // Decor not allowed as inset
+ updateDecorWindow(decorWindow, DECOR_WINDOW_INSET, DECOR_WINDOW_INSET, TOP);
+ mDisplayPolicy.beginLayoutLw(mFrames, 0 /* UI mode */);
+ mDisplayPolicy.layoutWindowLw(mWindow, null, mFrames);
+ assertInsetByTopBottom(mWindow.getContentFrameLw(), STATUS_BAR_HEIGHT, NAV_BAR_HEIGHT);
+ }
+ }
+
+ private void updateDecorWindow(WindowState decorWindow, int width, int height, int gravity) {
+ decorWindow.mAttrs.width = width;
+ decorWindow.mAttrs.height = height;
+ decorWindow.mAttrs.gravity = gravity;
+ decorWindow.setRequestedSize(width, height);
+ }
+
/**
* Asserts that {@code actual} is inset by the given amounts from the full display rect.
*
diff --git a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java
index c3561f4..1c9e504 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java
@@ -141,7 +141,7 @@
@Override
public Animation createHiddenByKeyguardExit(boolean onWallpaper,
- boolean goingToNotificationShade) {
+ boolean goingToNotificationShade, boolean subtleAnimation) {
return null;
}
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
index 9806199..19f8203 100755
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -1021,6 +1021,15 @@
"support_manage_ims_conference_call_bool";
/**
+ * Determines whether the IMS conference merge process supports and returns its participants
+ * data. When {@code true}, on merge complete, conference call would have a list of its
+ * participants returned in XML format, {@code false otherwise}.
+ * @hide
+ */
+ public static final String KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL =
+ "support_ims_conference_event_package_bool";
+
+ /**
* Determines whether High Definition audio property is displayed in the dialer UI.
* If {@code false}, remove the HD audio property from the connection so that HD audio related
* UI is not displayed. If {@code true}, keep HD audio property as it is configured.
@@ -3148,6 +3157,7 @@
sDefaults.putBoolean(KEY_SUPPORT_CONFERENCE_CALL_BOOL, true);
sDefaults.putBoolean(KEY_SUPPORT_IMS_CONFERENCE_CALL_BOOL, true);
sDefaults.putBoolean(KEY_SUPPORT_MANAGE_IMS_CONFERENCE_CALL_BOOL, true);
+ sDefaults.putBoolean(KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL, true);
sDefaults.putBoolean(KEY_SUPPORT_VIDEO_CONFERENCE_CALL_BOOL, false);
sDefaults.putBoolean(KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL, false);
sDefaults.putInt(KEY_IMS_CONFERENCE_SIZE_LIMIT_INT, 5);
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index b7e4033..2651346 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -16,8 +16,6 @@
package android.telephony;
-import static android.telephony.TelephonyManager.NETWORK_TYPE_BITMASK_UNKNOWN;
-
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -1607,12 +1605,6 @@
}
}
- /** @hide */
- public static int networkTypeToAccessNetworkType(@TelephonyManager.NetworkType
- int networkType) {
- return rilRadioTechnologyToAccessNetworkType(networkTypeToRilRadioTechnology(networkType));
- }
-
/**
* Get current data network type.
*
@@ -1738,36 +1730,6 @@
return false;
}
- /**
- *
- * Returns whether the bearerBitmask includes a networkType that matches the accessNetworkType.
- *
- * The NetworkType refers to NetworkType in TelephonyManager. For example
- * {@link TelephonyManager#NETWORK_TYPE_GPRS}.
- *
- * The accessNetworkType refers to {@link AccessNetworkType}.
- *
- * @hide
- * */
- public static boolean networkBitmaskHasAccessNetworkType(
- @TelephonyManager.NetworkTypeBitMask int networkBitmask, int accessNetworkType) {
- if (networkBitmask == NETWORK_TYPE_BITMASK_UNKNOWN) return true;
- if (accessNetworkType == AccessNetworkType.UNKNOWN) return false;
-
- int networkType = 1;
- while (networkBitmask != 0) {
- if ((networkBitmask & 1) != 0) {
- if (networkTypeToAccessNetworkType(networkType) == accessNetworkType) {
- return true;
- }
- }
- networkBitmask = networkBitmask >> 1;
- networkType++;
- }
-
- return false;
- }
-
/** @hide */
public static int getBitmaskForTech(int radioTech) {
if (radioTech >= 1) {
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 037d4d5..758cd28 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -10874,6 +10874,9 @@
try {
IOns iOpportunisticNetworkService = getIOns();
if (iOpportunisticNetworkService == null || availableNetworks == null) {
+ if (executor == null || callback == null) {
+ return;
+ }
Binder.withCleanCallingIdentity(() -> executor.execute(() -> {
callback.accept(UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS);
}));
diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java
index 165be64..116c0512 100644
--- a/telephony/java/android/telephony/data/ApnSetting.java
+++ b/telephony/java/android/telephony/data/ApnSetting.java
@@ -1417,6 +1417,28 @@
return port == UNSPECIFIED_INT ? null : Integer.toString(port);
}
+ /**
+ * Check if this APN setting can support the given network
+ *
+ * @param networkType The network type
+ * @return {@code true} if this APN setting can support the given network.
+ *
+ * @hide
+ */
+ public boolean canSupportNetworkType(@TelephonyManager.NetworkType int networkType) {
+ // Do a special checking for GSM. In reality, GSM is a voice only network type and can never
+ // be used for data. We allow it here because in some DSDS corner cases, on the non-DDS
+ // sub, modem reports data rat unknown. In that case if voice is GSM and this APN supports
+ // GPRS or EDGE, this APN setting should be selected.
+ if (networkType == TelephonyManager.NETWORK_TYPE_GSM
+ && (mNetworkTypeBitmask & (TelephonyManager.NETWORK_TYPE_BITMASK_GPRS
+ | TelephonyManager.NETWORK_TYPE_BITMASK_EDGE)) != 0) {
+ return true;
+ }
+
+ return ServiceState.bitmaskHasTech(mNetworkTypeBitmask, networkType);
+ }
+
// Implement Parcelable.
@Override
/** @hide */
diff --git a/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl b/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl
index f2f3c2d..dc026d4 100644
--- a/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl
@@ -68,8 +68,7 @@
void notifyOtaspChanged(in int subId, in int otaspMode);
@UnsupportedAppUsage
void notifyCellInfo(in List<CellInfo> cellInfo);
- void notifyPhysicalChannelConfiguration(in List<PhysicalChannelConfig> configs);
- void notifyPhysicalChannelConfigurationForSubscriber(in int subId,
+ void notifyPhysicalChannelConfigurationForSubscriber(in int phoneId, in int subId,
in List<PhysicalChannelConfig> configs);
void notifyPreciseCallState(int phoneId, int subId, int ringingCallState,
int foregroundCallState, int backgroundCallState);
diff --git a/tests/net/java/android/net/NetworkStatsTest.java b/tests/net/java/android/net/NetworkStatsTest.java
index b5b0384..c16a0f4 100644
--- a/tests/net/java/android/net/NetworkStatsTest.java
+++ b/tests/net/java/android/net/NetworkStatsTest.java
@@ -569,7 +569,7 @@
.addValues(underlyingIface, tunUid, SET_FOREGROUND, TAG_NONE, METERED_NO, ROAMING_NO,
DEFAULT_NETWORK_NO, 0L, 0L, 0L, 0L, 0L);
- assertTrue(delta.toString(), delta.migrateTun(tunUid, tunIface, underlyingIface));
+ delta.migrateTun(tunUid, tunIface, new String[] {underlyingIface});
assertEquals(20, delta.size());
// tunIface and TEST_IFACE entries are not changed.
@@ -650,7 +650,7 @@
.addValues(underlyingIface, tunUid, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO,
DEFAULT_NETWORK_NO, 75500L, 37L, 130000L, 70L, 0L);
- assertTrue(delta.migrateTun(tunUid, tunIface, underlyingIface));
+ delta.migrateTun(tunUid, tunIface, new String[]{underlyingIface});
assertEquals(9, delta.size());
// tunIface entries should not be changed.
@@ -813,6 +813,37 @@
}
@Test
+ public void testFilterDebugEntries() {
+ NetworkStats.Entry entry1 = new NetworkStats.Entry(
+ "test1", 10100, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO,
+ DEFAULT_NETWORK_NO, 50000L, 25L, 100000L, 50L, 0L);
+
+ NetworkStats.Entry entry2 = new NetworkStats.Entry(
+ "test2", 10101, SET_DBG_VPN_IN, TAG_NONE, METERED_NO, ROAMING_NO,
+ DEFAULT_NETWORK_NO, 50000L, 25L, 100000L, 50L, 0L);
+
+ NetworkStats.Entry entry3 = new NetworkStats.Entry(
+ "test2", 10101, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO,
+ DEFAULT_NETWORK_NO, 50000L, 25L, 100000L, 50L, 0L);
+
+ NetworkStats.Entry entry4 = new NetworkStats.Entry(
+ "test2", 10101, SET_DBG_VPN_OUT, TAG_NONE, METERED_NO, ROAMING_NO,
+ DEFAULT_NETWORK_NO, 50000L, 25L, 100000L, 50L, 0L);
+
+ NetworkStats stats = new NetworkStats(TEST_START, 4)
+ .addValues(entry1)
+ .addValues(entry2)
+ .addValues(entry3)
+ .addValues(entry4);
+
+ stats.filterDebugEntries();
+
+ assertEquals(2, stats.size());
+ assertEquals(entry1, stats.getValues(0, null));
+ assertEquals(entry3, stats.getValues(1, null));
+ }
+
+ @Test
public void testApply464xlatAdjustments() {
final String v4Iface = "v4-wlan0";
final String baseIface = "wlan0";
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index 8c024a5a..37cc304 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -18,6 +18,7 @@
import static android.content.pm.PackageManager.GET_PERMISSIONS;
import static android.content.pm.PackageManager.MATCH_ANY_USER;
+import static android.net.ConnectivityManager.ACTION_CAPTIVE_PORTAL_SIGN_IN;
import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
import static android.net.ConnectivityManager.NETID_UNSET;
import static android.net.ConnectivityManager.PRIVATE_DNS_MODE_OFF;
@@ -80,13 +81,13 @@
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
@@ -141,6 +142,7 @@
import android.net.NetworkMisc;
import android.net.NetworkRequest;
import android.net.NetworkSpecifier;
+import android.net.NetworkStack;
import android.net.NetworkStackClient;
import android.net.NetworkState;
import android.net.NetworkUtils;
@@ -154,6 +156,7 @@
import android.net.shared.PrivateDnsConfig;
import android.net.util.MultinetworkPolicyTracker;
import android.os.Binder;
+import android.os.Bundle;
import android.os.ConditionVariable;
import android.os.Handler;
import android.os.HandlerThread;
@@ -191,11 +194,13 @@
import com.android.server.connectivity.IpConnectivityMetrics;
import com.android.server.connectivity.MockableSystemProperties;
import com.android.server.connectivity.Nat464Xlat;
+import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
import com.android.server.connectivity.ProxyTracker;
import com.android.server.connectivity.Tethering;
import com.android.server.connectivity.Vpn;
import com.android.server.net.NetworkPinner;
import com.android.server.net.NetworkPolicyManagerInternal;
+import com.android.server.net.NetworkStatsFactory;
import org.junit.After;
import org.junit.Before;
@@ -282,6 +287,7 @@
@Mock NetworkStackClient mNetworkStack;
@Mock PackageManager mPackageManager;
@Mock UserManager mUserManager;
+ @Mock NotificationManager mNotificationManager;
private ArgumentCaptor<ResolverParamsParcel> mResolverParamsParcelCaptor =
ArgumentCaptor.forClass(ResolverParamsParcel.class);
@@ -351,7 +357,7 @@
@Override
public Object getSystemService(String name) {
if (Context.CONNECTIVITY_SERVICE.equals(name)) return mCm;
- if (Context.NOTIFICATION_SERVICE.equals(name)) return mock(NotificationManager.class);
+ if (Context.NOTIFICATION_SERVICE.equals(name)) return mNotificationManager;
if (Context.NETWORK_STACK_SERVICE.equals(name)) return mNetworkStack;
if (Context.USER_SERVICE.equals(name)) return mUserManager;
return super.getSystemService(name);
@@ -371,7 +377,17 @@
public PackageManager getPackageManager() {
return mPackageManager;
}
- }
+
+ @Override
+ public void enforceCallingOrSelfPermission(String permission, String message) {
+ // The mainline permission can only be held if signed with the network stack certificate
+ // Skip testing for this permission.
+ if (NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK.equals(permission)) return;
+ // All other permissions should be held by the test or unnecessary: check as normal to
+ // make sure the code does not rely on unexpected permissions.
+ super.enforceCallingOrSelfPermission(permission, message);
+ }
+ }
public void waitForIdle(int timeoutMsAsInt) {
long timeoutMs = timeoutMsAsInt;
@@ -2856,6 +2872,9 @@
// Expect NET_CAPABILITY_VALIDATED onAvailable callback.
validatedCallback.expectAvailableDoubleValidatedCallbacks(mWiFiNetworkAgent);
+ // Expect no notification to be shown when captive portal disappears by itself
+ verify(mNotificationManager, never()).notifyAsUser(
+ anyString(), eq(NotificationType.LOGGED_IN.eventId), any(), any());
// Break network connectivity.
// Expect NET_CAPABILITY_VALIDATED onLost callback.
@@ -2885,6 +2904,8 @@
// Check that calling startCaptivePortalApp does nothing.
final int fastTimeoutMs = 100;
mCm.startCaptivePortalApp(wifiNetwork);
+ waitForIdle();
+ verify(mWiFiNetworkAgent.mNetworkMonitor, never()).launchCaptivePortalApp();
mServiceContext.expectNoStartActivityIntent(fastTimeoutMs);
// Turn into a captive portal.
@@ -2895,14 +2916,26 @@
// Check that startCaptivePortalApp sends the expected command to NetworkMonitor.
mCm.startCaptivePortalApp(wifiNetwork);
- verify(mWiFiNetworkAgent.mNetworkMonitor, timeout(TIMEOUT_MS).times(1))
- .launchCaptivePortalApp();
+ waitForIdle();
+ verify(mWiFiNetworkAgent.mNetworkMonitor).launchCaptivePortalApp();
+
+ // NetworkMonitor uses startCaptivePortal(Network, Bundle) (startCaptivePortalAppInternal)
+ final Bundle testBundle = new Bundle();
+ final String testKey = "testkey";
+ final String testValue = "testvalue";
+ testBundle.putString(testKey, testValue);
+ mCm.startCaptivePortalApp(wifiNetwork, testBundle);
+ final Intent signInIntent = mServiceContext.expectStartActivityIntent(TIMEOUT_MS);
+ assertEquals(ACTION_CAPTIVE_PORTAL_SIGN_IN, signInIntent.getAction());
+ assertEquals(testValue, signInIntent.getStringExtra(testKey));
// Report that the captive portal is dismissed, and check that callbacks are fired
mWiFiNetworkAgent.setNetworkValid();
mWiFiNetworkAgent.mNetworkMonitor.forceReevaluation(Process.myUid());
validatedCallback.expectAvailableCallbacksValidated(mWiFiNetworkAgent);
captivePortalCallback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+ verify(mNotificationManager, times(1)).notifyAsUser(anyString(),
+ eq(NotificationType.LOGGED_IN.eventId), any(), eq(UserHandle.ALL));
mCm.unregisterNetworkCallback(validatedCallback);
mCm.unregisterNetworkCallback(captivePortalCallback);
@@ -4904,9 +4937,9 @@
verify(mStatsService, atLeastOnce())
.forceUpdateIfaces(
eq(onlyCell),
- eq(new VpnInfo[0]),
any(NetworkState[].class),
eq(MOBILE_IFNAME));
+ assertEquals(new VpnInfo[0], NetworkStatsFactory.getVpnInfos());
reset(mStatsService);
// Default network switch should update ifaces.
@@ -4917,9 +4950,9 @@
verify(mStatsService, atLeastOnce())
.forceUpdateIfaces(
eq(onlyWifi),
- eq(new VpnInfo[0]),
any(NetworkState[].class),
eq(WIFI_IFNAME));
+ assertEquals(new VpnInfo[0], NetworkStatsFactory.getVpnInfos());
reset(mStatsService);
// Disconnect should update ifaces.
@@ -4928,9 +4961,9 @@
verify(mStatsService, atLeastOnce())
.forceUpdateIfaces(
eq(onlyCell),
- eq(new VpnInfo[0]),
any(NetworkState[].class),
eq(MOBILE_IFNAME));
+ assertEquals(new VpnInfo[0], NetworkStatsFactory.getVpnInfos());
reset(mStatsService);
// Metered change should update ifaces
@@ -4939,9 +4972,9 @@
verify(mStatsService, atLeastOnce())
.forceUpdateIfaces(
eq(onlyCell),
- eq(new VpnInfo[0]),
any(NetworkState[].class),
eq(MOBILE_IFNAME));
+ assertEquals(new VpnInfo[0], NetworkStatsFactory.getVpnInfos());
reset(mStatsService);
mCellNetworkAgent.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED);
@@ -4949,9 +4982,9 @@
verify(mStatsService, atLeastOnce())
.forceUpdateIfaces(
eq(onlyCell),
- eq(new VpnInfo[0]),
any(NetworkState[].class),
eq(MOBILE_IFNAME));
+ assertEquals(new VpnInfo[0], NetworkStatsFactory.getVpnInfos());
reset(mStatsService);
// Captive portal change shouldn't update ifaces
@@ -4960,9 +4993,9 @@
verify(mStatsService, never())
.forceUpdateIfaces(
eq(onlyCell),
- eq(new VpnInfo[0]),
any(NetworkState[].class),
eq(MOBILE_IFNAME));
+ assertEquals(new VpnInfo[0], NetworkStatsFactory.getVpnInfos());
reset(mStatsService);
// Roaming change should update ifaces
@@ -4971,9 +5004,9 @@
verify(mStatsService, atLeastOnce())
.forceUpdateIfaces(
eq(onlyCell),
- eq(new VpnInfo[0]),
any(NetworkState[].class),
eq(MOBILE_IFNAME));
+ assertEquals(new VpnInfo[0], NetworkStatsFactory.getVpnInfos());
reset(mStatsService);
}
diff --git a/tests/net/java/com/android/server/net/NetworkStatsBaseTest.java b/tests/net/java/com/android/server/net/NetworkStatsBaseTest.java
new file mode 100644
index 0000000..28785f7
--- /dev/null
+++ b/tests/net/java/com/android/server/net/NetworkStatsBaseTest.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2011 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.server.net;
+
+import static android.net.NetworkStats.DEFAULT_NETWORK_ALL;
+import static android.net.NetworkStats.DEFAULT_NETWORK_NO;
+import static android.net.NetworkStats.DEFAULT_NETWORK_YES;
+import static android.net.NetworkStats.METERED_ALL;
+import static android.net.NetworkStats.METERED_NO;
+import static android.net.NetworkStats.METERED_YES;
+import static android.net.NetworkStats.ROAMING_ALL;
+import static android.net.NetworkStats.ROAMING_NO;
+import static android.net.NetworkStats.ROAMING_YES;
+import static android.net.NetworkStats.SET_ALL;
+import static android.net.NetworkStats.SET_DEFAULT;
+import static android.net.NetworkStats.SET_FOREGROUND;
+import static android.net.NetworkStats.TAG_NONE;
+
+import static org.junit.Assert.assertEquals;
+
+import android.net.NetworkStats;
+
+import com.android.internal.net.VpnInfo;
+
+/** Superclass with utilities for NetworkStats(Service|Factory)Test */
+abstract class NetworkStatsBaseTest {
+ static final String TEST_IFACE = "test0";
+ static final String TEST_IFACE2 = "test1";
+ static final String TUN_IFACE = "test_nss_tun0";
+
+ static final int UID_RED = 1001;
+ static final int UID_BLUE = 1002;
+ static final int UID_GREEN = 1003;
+ static final int UID_VPN = 1004;
+
+ void assertValues(NetworkStats stats, String iface, int uid, long rxBytes,
+ long rxPackets, long txBytes, long txPackets) {
+ assertValues(
+ stats, iface, uid, SET_ALL, TAG_NONE, METERED_ALL, ROAMING_ALL, DEFAULT_NETWORK_ALL,
+ rxBytes, rxPackets, txBytes, txPackets, 0);
+ }
+
+ void assertValues(NetworkStats stats, String iface, int uid, int set, int tag,
+ int metered, int roaming, int defaultNetwork, long rxBytes, long rxPackets,
+ long txBytes, long txPackets, long operations) {
+ final NetworkStats.Entry entry = new NetworkStats.Entry();
+ final int[] sets;
+ if (set == SET_ALL) {
+ sets = new int[] {SET_ALL, SET_DEFAULT, SET_FOREGROUND};
+ } else {
+ sets = new int[] {set};
+ }
+
+ final int[] roamings;
+ if (roaming == ROAMING_ALL) {
+ roamings = new int[] {ROAMING_ALL, ROAMING_YES, ROAMING_NO};
+ } else {
+ roamings = new int[] {roaming};
+ }
+
+ final int[] meterings;
+ if (metered == METERED_ALL) {
+ meterings = new int[] {METERED_ALL, METERED_YES, METERED_NO};
+ } else {
+ meterings = new int[] {metered};
+ }
+
+ final int[] defaultNetworks;
+ if (defaultNetwork == DEFAULT_NETWORK_ALL) {
+ defaultNetworks =
+ new int[] {DEFAULT_NETWORK_ALL, DEFAULT_NETWORK_YES, DEFAULT_NETWORK_NO};
+ } else {
+ defaultNetworks = new int[] {defaultNetwork};
+ }
+
+ for (int s : sets) {
+ for (int r : roamings) {
+ for (int m : meterings) {
+ for (int d : defaultNetworks) {
+ final int i = stats.findIndex(iface, uid, s, tag, m, r, d);
+ if (i != -1) {
+ entry.add(stats.getValues(i, null));
+ }
+ }
+ }
+ }
+ }
+
+ assertEquals("unexpected rxBytes", rxBytes, entry.rxBytes);
+ assertEquals("unexpected rxPackets", rxPackets, entry.rxPackets);
+ assertEquals("unexpected txBytes", txBytes, entry.txBytes);
+ assertEquals("unexpected txPackets", txPackets, entry.txPackets);
+ assertEquals("unexpected operations", operations, entry.operations);
+ }
+
+ VpnInfo createVpnInfo(String[] underlyingIfaces) {
+ VpnInfo info = new VpnInfo();
+ info.ownerUid = UID_VPN;
+ info.vpnIface = TUN_IFACE;
+ info.underlyingIfaces = underlyingIfaces;
+ return info;
+ }
+}
diff --git a/tests/net/java/com/android/server/net/NetworkStatsFactoryTest.java b/tests/net/java/com/android/server/net/NetworkStatsFactoryTest.java
index 95bc7d9..7329474 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsFactoryTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsFactoryTest.java
@@ -16,8 +16,11 @@
package com.android.server.net;
+import static android.net.NetworkStats.DEFAULT_NETWORK_ALL;
import static android.net.NetworkStats.DEFAULT_NETWORK_NO;
+import static android.net.NetworkStats.METERED_ALL;
import static android.net.NetworkStats.METERED_NO;
+import static android.net.NetworkStats.ROAMING_ALL;
import static android.net.NetworkStats.ROAMING_NO;
import static android.net.NetworkStats.SET_ALL;
import static android.net.NetworkStats.SET_DEFAULT;
@@ -39,6 +42,7 @@
import androidx.test.runner.AndroidJUnit4;
import com.android.frameworks.tests.net.R;
+import com.android.internal.net.VpnInfo;
import libcore.io.IoUtils;
import libcore.io.Streams;
@@ -54,12 +58,12 @@
import java.io.InputStream;
import java.io.OutputStream;
-/**
- * Tests for {@link NetworkStatsFactory}.
- */
+/** Tests for {@link NetworkStatsFactory}. */
@RunWith(AndroidJUnit4.class)
@SmallTest
-public class NetworkStatsFactoryTest {
+public class NetworkStatsFactoryTest extends NetworkStatsBaseTest {
+ private static final String CLAT_PREFIX = "v4-";
+
private File mTestProc;
private NetworkStatsFactory mFactory;
@@ -75,6 +79,8 @@
// related to networkStatsFactory is compiled to a minimal native library and loaded here.
System.loadLibrary("networkstatsfactorytestjni");
mFactory = new NetworkStatsFactory(mTestProc, false);
+ NetworkStatsFactory.updateVpnInfos(new VpnInfo[0]);
+ NetworkStatsFactory.clearStackedIfaces();
}
@After
@@ -99,6 +105,236 @@
}
@Test
+ public void vpnRewriteTrafficThroughItself() throws Exception {
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ //
+ // 1000 bytes (100 packets) were sent, and 2000 bytes (200 packets) were received by UID_RED
+ // over VPN.
+ // 500 bytes (50 packets) were sent, and 1000 bytes (100 packets) were received by UID_BLUE
+ // over VPN.
+ //
+ // VPN UID rewrites packets read from TUN back to TUN, plus some of its own traffic
+
+ final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_rewrite_through_self);
+
+ assertValues(tunStats, TUN_IFACE, UID_RED, SET_ALL, TAG_NONE, METERED_ALL, ROAMING_ALL,
+ DEFAULT_NETWORK_ALL, 2000L, 200L, 1000L, 100L, 0);
+ assertValues(tunStats, TUN_IFACE, UID_BLUE, SET_ALL, TAG_NONE, METERED_ALL, ROAMING_ALL,
+ DEFAULT_NETWORK_ALL, 1000L, 100L, 500L, 50L, 0);
+ assertValues(tunStats, TUN_IFACE, UID_VPN, SET_ALL, TAG_NONE, METERED_ALL, ROAMING_ALL,
+ DEFAULT_NETWORK_ALL, 0L, 0L, 1600L, 160L, 0);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
+ assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 300L, 0L, 260L, 26L);
+ }
+
+ @Test
+ public void vpnWithClat() throws Exception {
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {CLAT_PREFIX + TEST_IFACE})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+ NetworkStatsFactory.noteStackedIface(CLAT_PREFIX + TEST_IFACE, TEST_IFACE);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ // 1000 bytes (100 packets) were sent, and 2000 bytes (200 packets) were received by UID_RED
+ // over VPN.
+ // 500 bytes (50 packets) were sent, and 1000 bytes (100 packets) were received by UID_BLUE
+ // over VPN.
+ // VPN sent 1650 bytes (150 packets), and received 3300 (300 packets) over v4-WiFi, and clat
+ // added 20 bytes per packet of extra overhead
+ //
+ // For 1650 bytes sent over v4-WiFi, 4650 bytes were actually sent over WiFi, which is
+ // expected to be split as follows:
+ // UID_RED: 1000 bytes, 100 packets
+ // UID_BLUE: 500 bytes, 50 packets
+ // UID_VPN: 3150 bytes, 0 packets
+ //
+ // For 3300 bytes received over v4-WiFi, 9300 bytes were actually sent over WiFi, which is
+ // expected to be split as follows:
+ // UID_RED: 2000 bytes, 200 packets
+ // UID_BLUE: 1000 bytes, 100 packets
+ // UID_VPN: 6300 bytes, 0 packets
+ final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_with_clat);
+
+ assertValues(tunStats, CLAT_PREFIX + TEST_IFACE, UID_RED, 2000L, 200L, 1000, 100L);
+ assertValues(tunStats, CLAT_PREFIX + TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
+ assertValues(tunStats, CLAT_PREFIX + TEST_IFACE, UID_VPN, 6300L, 0L, 3150L, 0L);
+ }
+
+ @Test
+ public void vpnWithOneUnderlyingIface() throws Exception {
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ // 1000 bytes (100 packets) were sent, and 2000 bytes (200 packets) were received by UID_RED
+ // over VPN.
+ // 500 bytes (50 packets) were sent, and 1000 bytes (100 packets) were received by UID_BLUE
+ // over VPN.
+ // VPN sent 1650 bytes (150 packets), and received 3300 (300 packets) over WiFi.
+ // Of 1650 bytes sent over WiFi, expect 1000 bytes attributed to UID_RED, 500 bytes
+ // attributed to UID_BLUE, and 150 bytes attributed to UID_VPN.
+ // Of 3300 bytes received over WiFi, expect 2000 bytes attributed to UID_RED, 1000 bytes
+ // attributed to UID_BLUE, and 300 bytes attributed to UID_VPN.
+ final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_one_underlying);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
+ assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 300L, 0L, 150L, 0L);
+ }
+
+ @Test
+ public void vpnWithOneUnderlyingIfaceAndOwnTraffic() throws Exception {
+ // WiFi network is connected and VPN is using WiFi (which has TEST_IFACE).
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ // 1000 bytes (100 packets) were sent, and 2000 bytes (200 packets) were received by UID_RED
+ // over VPN.
+ // 500 bytes (50 packets) were sent, and 1000 bytes (100 packets) were received by UID_BLUE
+ // over VPN.
+ // Additionally, the VPN sends 6000 bytes (600 packets) of its own traffic into the tun
+ // interface (passing that traffic to the VPN endpoint), and receives 5000 bytes (500
+ // packets) from it. Including overhead that is 6600/5500 bytes.
+ // VPN sent 8250 bytes (750 packets), and received 8800 (800 packets) over WiFi.
+ // Of 8250 bytes sent over WiFi, expect 1000 bytes attributed to UID_RED, 500 bytes
+ // attributed to UID_BLUE, and 6750 bytes attributed to UID_VPN.
+ // Of 8800 bytes received over WiFi, expect 2000 bytes attributed to UID_RED, 1000 bytes
+ // attributed to UID_BLUE, and 5800 bytes attributed to UID_VPN.
+ final NetworkStats tunStats =
+ parseDetailedStats(R.raw.xt_qtaguid_vpn_one_underlying_own_traffic);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 2000L, 200L, 1000L, 100L);
+ assertValues(tunStats, TEST_IFACE, UID_BLUE, 1000L, 100L, 500L, 50L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 5800L, 500L, 6750L, 600L);
+ }
+
+ @Test
+ public void vpnWithOneUnderlyingIface_withCompression() throws Exception {
+ // WiFi network is connected and VPN is using WiFi (which has TEST_IFACE).
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ // 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
+ // 3000 bytes (300 packets) were sent/received by UID_BLUE over VPN.
+ // VPN sent/received 1000 bytes (100 packets) over WiFi.
+ // Of 1000 bytes over WiFi, expect 250 bytes attributed UID_RED and 750 bytes to UID_BLUE,
+ // with nothing attributed to UID_VPN for both rx/tx traffic.
+ final NetworkStats tunStats =
+ parseDetailedStats(R.raw.xt_qtaguid_vpn_one_underlying_compression);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 250L, 25L, 250L, 25L);
+ assertValues(tunStats, TEST_IFACE, UID_BLUE, 750L, 75L, 750L, 75L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 0L, 0L, 0L, 0L);
+ }
+
+ @Test
+ public void vpnWithTwoUnderlyingIfaces_packetDuplication() throws Exception {
+ // WiFi and Cell networks are connected and VPN is using WiFi (which has TEST_IFACE) and
+ // Cell (which has TEST_IFACE2) and has declared both of them in its underlying network set.
+ // Additionally, VPN is duplicating traffic across both WiFi and Cell.
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE, TEST_IFACE2})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ // 1000 bytes (100 packets) were sent/received by UID_RED and UID_BLUE over VPN.
+ // VPN sent/received 4400 bytes (400 packets) over both WiFi and Cell (8800 bytes in total).
+ // Of 8800 bytes over WiFi/Cell, expect:
+ // - 500 bytes rx/tx each over WiFi/Cell attributed to both UID_RED and UID_BLUE.
+ // - 1200 bytes rx/tx each over WiFi/Cell for VPN_UID.
+ final NetworkStats tunStats =
+ parseDetailedStats(R.raw.xt_qtaguid_vpn_two_underlying_duplication);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 500L, 50L, 500L, 50L);
+ assertValues(tunStats, TEST_IFACE, UID_BLUE, 500L, 50L, 500L, 50L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 1200L, 100L, 1200L, 100L);
+ assertValues(tunStats, TEST_IFACE2, UID_RED, 500L, 50L, 500L, 50L);
+ assertValues(tunStats, TEST_IFACE2, UID_BLUE, 500L, 50L, 500L, 50L);
+ assertValues(tunStats, TEST_IFACE2, UID_VPN, 1200L, 100L, 1200L, 100L);
+ }
+
+ @Test
+ public void vpnWithTwoUnderlyingIfaces_splitTraffic() throws Exception {
+ // WiFi and Cell networks are connected and VPN is using WiFi (which has TEST_IFACE) and
+ // Cell (which has TEST_IFACE2) and has declared both of them in its underlying network set.
+ // Additionally, VPN is arbitrarily splitting traffic across WiFi and Cell.
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE, TEST_IFACE2})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ // 1000 bytes (100 packets) were sent, and 500 bytes (50 packets) received by UID_RED over
+ // VPN.
+ // VPN sent 660 bytes (60 packets) over WiFi and 440 bytes (40 packets) over Cell.
+ // And, it received 330 bytes (30 packets) over WiFi and 220 bytes (20 packets) over Cell.
+ // For UID_RED, expect 600 bytes attributed over WiFi and 400 bytes over Cell for sent (tx)
+ // traffic. For received (rx) traffic, expect 300 bytes over WiFi and 200 bytes over Cell.
+ //
+ // For UID_VPN, expect 60 bytes attributed over WiFi and 40 bytes over Cell for tx traffic.
+ // And, 30 bytes over WiFi and 20 bytes over Cell for rx traffic.
+ final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_two_underlying_split);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 300L, 30L, 600L, 60L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 30L, 0L, 60L, 0L);
+ assertValues(tunStats, TEST_IFACE2, UID_RED, 200L, 20L, 400L, 40L);
+ assertValues(tunStats, TEST_IFACE2, UID_VPN, 20L, 0L, 40L, 0L);
+ }
+
+ @Test
+ public void vpnWithTwoUnderlyingIfaces_splitTrafficWithCompression() throws Exception {
+ // WiFi and Cell networks are connected and VPN is using WiFi (which has TEST_IFACE) and
+ // Cell (which has TEST_IFACE2) and has declared both of them in its underlying network set.
+ // Additionally, VPN is arbitrarily splitting compressed traffic across WiFi and Cell.
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE, TEST_IFACE2})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface:
+ // 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
+ // VPN sent/received 600 bytes (60 packets) over WiFi and 200 bytes (20 packets) over Cell.
+ // For UID_RED, expect 600 bytes attributed over WiFi and 200 bytes over Cell for both
+ // rx/tx.
+ // UID_VPN gets nothing attributed to it (avoiding negative stats).
+ final NetworkStats tunStats =
+ parseDetailedStats(R.raw.xt_qtaguid_vpn_two_underlying_split_compression);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 600L, 60L, 600L, 60L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 0L, 0L, 0L, 0L);
+ assertValues(tunStats, TEST_IFACE2, UID_RED, 200L, 20L, 200L, 20L);
+ assertValues(tunStats, TEST_IFACE2, UID_VPN, 0L, 0L, 0L, 0L);
+ }
+
+ @Test
+ public void vpnWithIncorrectUnderlyingIface() throws Exception {
+ // WiFi and Cell networks are connected and VPN is using Cell (which has TEST_IFACE2),
+ // but has declared only WiFi (TEST_IFACE) in its underlying network set.
+ VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(new String[] {TEST_IFACE})};
+ NetworkStatsFactory.updateVpnInfos(vpnInfos);
+
+ // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
+ // overhead per packet):
+ // 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
+ // VPN sent/received 1100 bytes (100 packets) over Cell.
+ // Of 1100 bytes over Cell, expect all of it attributed to UID_VPN for both rx/tx traffic.
+ final NetworkStats tunStats = parseDetailedStats(R.raw.xt_qtaguid_vpn_incorrect_iface);
+
+ assertValues(tunStats, TEST_IFACE, UID_RED, 0L, 0L, 0L, 0L);
+ assertValues(tunStats, TEST_IFACE, UID_VPN, 0L, 0L, 0L, 0L);
+ assertValues(tunStats, TEST_IFACE2, UID_RED, 0L, 0L, 0L, 0L);
+ assertValues(tunStats, TEST_IFACE2, UID_VPN, 1100L, 100L, 1100L, 100L);
+ }
+
+ @Test
public void testKernelTags() throws Exception {
assertEquals(0, kernelToTag("0x0000000000000000"));
assertEquals(0x32, kernelToTag("0x0000003200000000"));
@@ -146,7 +382,7 @@
}
@Test
- public void testDoubleClatAccounting() throws Exception {
+ public void testDoubleClatAccountingSimple() throws Exception {
NetworkStatsFactory.noteStackedIface("v4-wlan0", "wlan0");
// xt_qtaguid_with_clat_simple is a synthetic file that simulates
@@ -154,12 +390,17 @@
// - 41 sent 464xlat packets of size 100 bytes
// - no other traffic on base interface for root uid.
NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_with_clat_simple);
- assertEquals(4, stats.size());
+ assertEquals(3, stats.size());
assertStatsEntry(stats, "v4-wlan0", 10060, SET_DEFAULT, 0x0, 46860L, 4920L);
assertStatsEntry(stats, "wlan0", 0, SET_DEFAULT, 0x0, 0L, 0L);
+ }
- stats = parseDetailedStats(R.raw.xt_qtaguid_with_clat);
+ @Test
+ public void testDoubleClatAccounting() throws Exception {
+ NetworkStatsFactory.noteStackedIface("v4-wlan0", "wlan0");
+
+ NetworkStats stats = parseDetailedStats(R.raw.xt_qtaguid_with_clat);
assertEquals(42, stats.size());
assertStatsEntry(stats, "v4-wlan0", 0, SET_DEFAULT, 0x0, 356L, 276L);
@@ -272,11 +513,19 @@
private static void assertStatsEntry(NetworkStats stats, String iface, int uid, int set,
int tag, long rxBytes, long rxPackets, long txBytes, long txPackets) {
- final int i = stats.findIndex(iface, uid, set, tag, METERED_NO, ROAMING_NO,
- DEFAULT_NETWORK_NO);
+ assertStatsEntry(stats, iface, uid, set, tag, METERED_NO, ROAMING_NO, DEFAULT_NETWORK_NO,
+ rxBytes, rxPackets, txBytes, txPackets);
+ }
+
+ private static void assertStatsEntry(NetworkStats stats, String iface, int uid, int set,
+ int tag, int metered, int roaming, int defaultNetwork, long rxBytes, long rxPackets,
+ long txBytes, long txPackets) {
+ final int i = stats.findIndex(iface, uid, set, tag, metered, roaming, defaultNetwork);
+
if (i < 0) {
- fail(String.format("no NetworkStats for (iface: %s, uid: %d, set: %d, tag: %d)",
- iface, uid, set, tag));
+ fail(String.format("no NetworkStats for (iface: %s, uid: %d, set: %d, tag: %d, metered:"
+ + " %d, roaming: %d, defaultNetwork: %d)",
+ iface, uid, set, tag, metered, roaming, defaultNetwork));
}
final NetworkStats.Entry entry = stats.getValues(i, null);
assertEquals("unexpected rxBytes", rxBytes, entry.rxBytes);
diff --git a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
index 43a3803..f21a7dd 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
@@ -54,7 +54,6 @@
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
-import com.android.internal.net.VpnInfo;
import com.android.server.net.NetworkStatsServiceTest.LatchedHandler;
import org.junit.Before;
@@ -94,8 +93,6 @@
private static final long BASE_BYTES = 7 * MB_IN_BYTES;
private static final int INVALID_TYPE = -1;
- private static final VpnInfo[] VPN_INFO = new VpnInfo[0];
-
private long mElapsedRealtime;
private HandlerThread mObserverHandlerThread;
@@ -248,8 +245,7 @@
NetworkStats uidSnapshot = null;
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
waitForObserverToIdle();
}
@@ -272,15 +268,13 @@
.addIfaceValues(TEST_IFACE, BASE_BYTES, 8L, BASE_BYTES, 16L);
NetworkStats uidSnapshot = null;
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
// Delta
xtSnapshot = new NetworkStats(TEST_START, 1 /* initialSize */)
.addIfaceValues(TEST_IFACE, BASE_BYTES + 1024L, 10L, BASE_BYTES + 2048L, 20L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
waitForObserverToIdle();
}
@@ -304,16 +298,14 @@
.addIfaceValues(TEST_IFACE, BASE_BYTES, 8L, BASE_BYTES, 16L);
NetworkStats uidSnapshot = null;
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
// Delta
xtSnapshot = new NetworkStats(TEST_START + MINUTE_IN_MILLIS, 1 /* initialSize */)
.addIfaceValues(TEST_IFACE, BASE_BYTES + THRESHOLD_BYTES, 12L,
BASE_BYTES + THRESHOLD_BYTES, 22L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
waitForObserverToIdle();
assertEquals(NetworkStatsManager.CALLBACK_LIMIT_REACHED, mHandler.lastMessageType);
}
@@ -338,8 +330,7 @@
.addValues(TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO,
DEFAULT_NETWORK_YES, BASE_BYTES, 2L, BASE_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
// Delta
uidSnapshot = new NetworkStats(TEST_START + 2 * MINUTE_IN_MILLIS, 2 /* initialSize */)
@@ -347,8 +338,7 @@
DEFAULT_NETWORK_NO, BASE_BYTES + THRESHOLD_BYTES, 2L,
BASE_BYTES + THRESHOLD_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
waitForObserverToIdle();
assertEquals(NetworkStatsManager.CALLBACK_LIMIT_REACHED, mHandler.lastMessageType);
}
@@ -373,8 +363,7 @@
.addValues(TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO,
DEFAULT_NETWORK_NO, BASE_BYTES, 2L, BASE_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
// Delta
uidSnapshot = new NetworkStats(TEST_START + 2 * MINUTE_IN_MILLIS, 2 /* initialSize */)
@@ -382,8 +371,7 @@
DEFAULT_NETWORK_NO, BASE_BYTES + THRESHOLD_BYTES, 2L,
BASE_BYTES + THRESHOLD_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
waitForObserverToIdle();
}
@@ -407,8 +395,7 @@
.addValues(TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, METERED_NO, ROAMING_NO,
DEFAULT_NETWORK_YES, BASE_BYTES, 2L, BASE_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
// Delta
uidSnapshot = new NetworkStats(TEST_START + 2 * MINUTE_IN_MILLIS, 2 /* initialSize */)
@@ -416,8 +403,7 @@
DEFAULT_NETWORK_YES, BASE_BYTES + THRESHOLD_BYTES, 2L,
BASE_BYTES + THRESHOLD_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
waitForObserverToIdle();
assertEquals(NetworkStatsManager.CALLBACK_LIMIT_REACHED, mHandler.lastMessageType);
}
@@ -442,8 +428,7 @@
.addValues(TEST_IFACE, UID_ANOTHER_USER, SET_DEFAULT, TAG_NONE, METERED_NO,
ROAMING_NO, DEFAULT_NETWORK_YES, BASE_BYTES, 2L, BASE_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
// Delta
uidSnapshot = new NetworkStats(TEST_START + 2 * MINUTE_IN_MILLIS, 2 /* initialSize */)
@@ -451,8 +436,7 @@
ROAMING_NO, DEFAULT_NETWORK_NO, BASE_BYTES + THRESHOLD_BYTES, 2L,
BASE_BYTES + THRESHOLD_BYTES, 2L, 0L);
mStatsObservers.updateStats(
- xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces,
- VPN_INFO, TEST_START);
+ xtSnapshot, uidSnapshot, mActiveIfaces, mActiveUidIfaces, TEST_START);
waitForObserverToIdle();
}
diff --git a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
index bce526d..956b2a7 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
@@ -23,7 +23,6 @@
import static android.net.ConnectivityManager.TYPE_WIFI;
import static android.net.ConnectivityManager.TYPE_WIMAX;
import static android.net.NetworkStats.DEFAULT_NETWORK_ALL;
-import static android.net.NetworkStats.DEFAULT_NETWORK_NO;
import static android.net.NetworkStats.DEFAULT_NETWORK_YES;
import static android.net.NetworkStats.IFACE_ALL;
import static android.net.NetworkStats.INTERFACES_ALL;
@@ -42,7 +41,6 @@
import static android.net.NetworkStats.UID_ALL;
import static android.net.NetworkStatsHistory.FIELD_ALL;
import static android.net.NetworkTemplate.buildTemplateMobileAll;
-import static android.net.NetworkTemplate.buildTemplateMobileWildcard;
import static android.net.NetworkTemplate.buildTemplateWifiWildcard;
import static android.net.TrafficStats.MB_IN_BYTES;
import static android.net.TrafficStats.UID_REMOVED;
@@ -61,7 +59,6 @@
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
@@ -99,7 +96,6 @@
import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
-import com.android.internal.net.VpnInfo;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.test.BroadcastInterceptingContext;
import com.android.server.net.NetworkStatsService.NetworkStatsSettings;
@@ -129,13 +125,9 @@
*/
@RunWith(AndroidJUnit4.class)
@SmallTest
-public class NetworkStatsServiceTest {
+public class NetworkStatsServiceTest extends NetworkStatsBaseTest {
private static final String TAG = "NetworkStatsServiceTest";
- private static final String TEST_IFACE = "test0";
- private static final String TEST_IFACE2 = "test1";
- private static final String TUN_IFACE = "test_nss_tun0";
-
private static final long TEST_START = 1194220800000L;
private static final String IMSI_1 = "310004";
@@ -146,11 +138,6 @@
private static NetworkTemplate sTemplateImsi1 = buildTemplateMobileAll(IMSI_1);
private static NetworkTemplate sTemplateImsi2 = buildTemplateMobileAll(IMSI_2);
- private static final int UID_RED = 1001;
- private static final int UID_BLUE = 1002;
- private static final int UID_GREEN = 1003;
- private static final int UID_VPN = 1004;
-
private static final Network WIFI_NETWORK = new Network(100);
private static final Network MOBILE_NETWORK = new Network(101);
private static final Network VPN_NETWORK = new Network(102);
@@ -217,10 +204,12 @@
expectSystemReady();
mService.systemReady();
+ // Verify that system ready fetches realtime stats
+ verify(mNetManager).getNetworkStatsUidDetail(UID_ALL, INTERFACES_ALL);
+
mSession = mService.openSession();
assertNotNull("openSession() failed", mSession);
-
// catch INetworkManagementEventObserver during systemReady()
ArgumentCaptor<INetworkManagementEventObserver> networkObserver =
ArgumentCaptor.forClass(INetworkManagementEventObserver.class);
@@ -252,7 +241,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// verify service has empty history for wifi
assertNetworkTotal(sTemplateWifi, 0L, 0L, 0L, 0L, 0);
@@ -296,7 +285,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// verify service has empty history for wifi
assertNetworkTotal(sTemplateWifi, 0L, 0L, 0L, 0L, 0);
@@ -370,8 +359,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// modify some number on wifi, and trigger poll event
incrementCurrentTime(2 * HOUR_IN_MILLIS);
@@ -412,8 +400,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, states, getActiveIface(states));
// create some traffic on first network
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -448,7 +435,7 @@
.addValues(TEST_IFACE, UID_BLUE, SET_DEFAULT, TAG_NONE, 512L, 4L, 0L, 0L, 0L));
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, states, getActiveIface(states));
forcePollAndWaitForIdle();
@@ -488,8 +475,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// create some traffic
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -547,8 +533,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, states, getActiveIface(states));
// create some traffic
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -575,7 +560,7 @@
.addValues(TEST_IFACE, UID_RED, SET_DEFAULT, 0xF00D, 512L, 4L, 512L, 4L, 0L));
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, states, getActiveIface(states));
forcePollAndWaitForIdle();
@@ -605,8 +590,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// create some traffic for two apps
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -664,7 +648,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
NetworkStats.Entry entry1 = new NetworkStats.Entry(
TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 50L, 5L, 50L, 5L, 0L);
@@ -708,7 +692,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
NetworkStats.Entry uidStats = new NetworkStats.Entry(
TEST_IFACE, UID_BLUE, SET_DEFAULT, 0xF00D, 1024L, 8L, 512L, 4L, 0L);
@@ -733,11 +717,17 @@
NetworkStats stats = mService.getDetailedUidStats(ifaceFilter);
- verify(mNetManager, times(1)).getNetworkStatsUidDetail(eq(UID_ALL), argThat(ifaces ->
- ifaces != null && ifaces.length == 2
- && ArrayUtils.contains(ifaces, TEST_IFACE)
- && ArrayUtils.contains(ifaces, stackedIface)));
-
+ // mNetManager#getNetworkStatsUidDetail(UID_ALL, INTERFACES_ALL) has following invocations:
+ // 1) NetworkStatsService#systemReady from #setUp.
+ // 2) mService#forceUpdateIfaces in the test above.
+ //
+ // Additionally, we should have one call from the above call to mService#getDetailedUidStats
+ // with the augmented ifaceFilter
+ verify(mNetManager, times(2)).getNetworkStatsUidDetail(UID_ALL, INTERFACES_ALL);
+ verify(mNetManager, times(1)).getNetworkStatsUidDetail(
+ eq(UID_ALL), eq(NetworkStatsFactory.augmentWithStackedInterfaces(ifaceFilter)));
+ assertTrue(ArrayUtils.contains(stats.getUniqueIfaces(), TEST_IFACE));
+ assertTrue(ArrayUtils.contains(stats.getUniqueIfaces(), stackedIface));
assertEquals(2, stats.size());
assertEquals(uidStats, stats.getValues(0, null));
assertEquals(tetheredStats1, stats.getValues(1, null));
@@ -752,8 +742,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// create some initial traffic
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -810,8 +799,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// create some initial traffic
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -851,8 +839,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, states, getActiveIface(states));
// Create some traffic
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -890,8 +877,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
-
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, states, getActiveIface(states));
// create some tethering traffic
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -923,113 +909,6 @@
}
@Test
- public void vpnWithOneUnderlyingIface() throws Exception {
- // WiFi network is connected and VPN is using WiFi (which has TEST_IFACE).
- expectDefaultSettings();
- NetworkState[] networkStates = new NetworkState[] {buildWifiState(), buildVpnState()};
- VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(TEST_IFACE)};
- expectNetworkStatsUidDetail(buildEmptyStats());
- expectBandwidthControlCheck();
-
- mService.forceUpdateIfaces(
- new Network[] {WIFI_NETWORK, VPN_NETWORK},
- vpnInfos,
- networkStates,
- getActiveIface(networkStates));
- // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
- // overhead per packet):
- // 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
- // 500 bytes (50 packets) were sent/received by UID_BLUE over VPN.
- // VPN sent/received 1650 bytes (150 packets) over WiFi.
- // Of 1650 bytes over WiFi, expect 1000 bytes attributed to UID_RED, 500 bytes attributed to
- // UID_BLUE, and 150 bytes attributed to UID_VPN for both rx/tx traffic.
- incrementCurrentTime(HOUR_IN_MILLIS);
- expectNetworkStatsUidDetail(new NetworkStats(getElapsedRealtime(), 3)
- .addValues(TUN_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 1000L, 100L, 1000L, 100L, 1L)
- .addValues(TUN_IFACE, UID_BLUE, SET_DEFAULT, TAG_NONE, 500L, 50L, 500L, 50L, 1L)
- .addValues(
- TEST_IFACE, UID_VPN, SET_DEFAULT, TAG_NONE, 1650L, 150L, 1650L, 150L, 2L));
-
- forcePollAndWaitForIdle();
-
- assertUidTotal(sTemplateWifi, UID_RED, 1000L, 100L, 1000L, 100L, 1);
- assertUidTotal(sTemplateWifi, UID_BLUE, 500L, 50L, 500L, 50L, 1);
- assertUidTotal(sTemplateWifi, UID_VPN, 150L, 0L, 150L, 0L, 2);
- }
-
- @Test
- public void vpnWithOneUnderlyingIface_withCompression() throws Exception {
- // WiFi network is connected and VPN is using WiFi (which has TEST_IFACE).
- expectDefaultSettings();
- NetworkState[] networkStates = new NetworkState[] {buildWifiState(), buildVpnState()};
- VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(TEST_IFACE)};
- expectNetworkStatsUidDetail(buildEmptyStats());
- expectBandwidthControlCheck();
-
- mService.forceUpdateIfaces(
- new Network[] {WIFI_NETWORK, VPN_NETWORK},
- vpnInfos,
- networkStates,
- getActiveIface(networkStates));
- // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
- // overhead per packet):
- // 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
- // 3000 bytes (300 packets) were sent/received by UID_BLUE over VPN.
- // VPN sent/received 1000 bytes (100 packets) over WiFi.
- // Of 1000 bytes over WiFi, expect 250 bytes attributed UID_RED and 750 bytes to UID_BLUE,
- // with nothing attributed to UID_VPN for both rx/tx traffic.
- incrementCurrentTime(HOUR_IN_MILLIS);
- expectNetworkStatsUidDetail(new NetworkStats(getElapsedRealtime(), 3)
- .addValues(TUN_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 1000L, 100L, 1000L, 100L, 1L)
- .addValues(TUN_IFACE, UID_BLUE, SET_DEFAULT, TAG_NONE, 3000L, 300L, 3000L, 300L, 1L)
- .addValues(
- TEST_IFACE, UID_VPN, SET_DEFAULT, TAG_NONE, 1000L, 100L, 1000L, 100L, 0L));
-
- forcePollAndWaitForIdle();
-
- assertUidTotal(sTemplateWifi, UID_RED, 250L, 25L, 250L, 25L, 0);
- assertUidTotal(sTemplateWifi, UID_BLUE, 750L, 75L, 750L, 75L, 0);
- assertUidTotal(sTemplateWifi, UID_VPN, 0L, 0L, 0L, 0L, 0);
- }
-
- @Test
- public void vpnWithIncorrectUnderlyingIface() throws Exception {
- // WiFi and Cell networks are connected and VPN is using Cell (which has TEST_IFACE2),
- // but has declared only WiFi (TEST_IFACE) in its underlying network set.
- expectDefaultSettings();
- NetworkState[] networkStates =
- new NetworkState[] {
- buildWifiState(), buildMobile4gState(TEST_IFACE2), buildVpnState()
- };
- VpnInfo[] vpnInfos = new VpnInfo[] {createVpnInfo(TEST_IFACE)};
- expectNetworkStatsUidDetail(buildEmptyStats());
- expectBandwidthControlCheck();
-
- mService.forceUpdateIfaces(
- new Network[] {WIFI_NETWORK, VPN_NETWORK},
- vpnInfos,
- networkStates,
- getActiveIface(networkStates));
- // create some traffic (assume 10 bytes of MTU for VPN interface and 1 byte encryption
- // overhead per packet):
- // 1000 bytes (100 packets) were sent/received by UID_RED over VPN.
- // VPN sent/received 1100 bytes (100 packets) over Cell.
- // Of 1100 bytes over Cell, expect all of it attributed to UID_VPN for both rx/tx traffic.
- incrementCurrentTime(HOUR_IN_MILLIS);
- expectNetworkStatsUidDetail(new NetworkStats(getElapsedRealtime(), 2)
- .addValues(TUN_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 1000L, 100L, 1000L, 100L, 1L)
- .addValues(
- TEST_IFACE2, UID_VPN, SET_DEFAULT, TAG_NONE, 1100L, 100L, 1100L, 100L, 1L));
-
- forcePollAndWaitForIdle();
-
- assertUidTotal(sTemplateWifi, UID_RED, 0L, 0L, 0L, 0L, 0);
- assertUidTotal(sTemplateWifi, UID_VPN, 0L, 0L, 0L, 0L, 0);
- assertUidTotal(buildTemplateMobileWildcard(), UID_RED, 0L, 0L, 0L, 0L, 0);
- assertUidTotal(buildTemplateMobileWildcard(), UID_VPN, 1100L, 100L, 1100L, 100L, 1);
- }
-
- @Test
public void testRegisterUsageCallback() throws Exception {
// pretend that wifi network comes online; service should ask about full
// network state, and poll any existing interfaces before updating.
@@ -1039,7 +918,7 @@
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
+ mService.forceUpdateIfaces(NETWORKS_WIFI, states, getActiveIface(states));
// verify service has empty history for wifi
assertNetworkTotal(sTemplateWifi, 0L, 0L, 0L, 0L, 0);
@@ -1264,59 +1143,6 @@
}
}
- private static void assertValues(NetworkStats stats, String iface, int uid, int set,
- int tag, int metered, int roaming, int defaultNetwork, long rxBytes, long rxPackets,
- long txBytes, long txPackets, int operations) {
- final NetworkStats.Entry entry = new NetworkStats.Entry();
- final int[] sets;
- if (set == SET_ALL) {
- sets = new int[] { SET_ALL, SET_DEFAULT, SET_FOREGROUND };
- } else {
- sets = new int[] { set };
- }
-
- final int[] roamings;
- if (roaming == ROAMING_ALL) {
- roamings = new int[] { ROAMING_ALL, ROAMING_YES, ROAMING_NO };
- } else {
- roamings = new int[] { roaming };
- }
-
- final int[] meterings;
- if (metered == METERED_ALL) {
- meterings = new int[] { METERED_ALL, METERED_YES, METERED_NO };
- } else {
- meterings = new int[] { metered };
- }
-
- final int[] defaultNetworks;
- if (defaultNetwork == DEFAULT_NETWORK_ALL) {
- defaultNetworks = new int[] { DEFAULT_NETWORK_ALL, DEFAULT_NETWORK_YES,
- DEFAULT_NETWORK_NO };
- } else {
- defaultNetworks = new int[] { defaultNetwork };
- }
-
- for (int s : sets) {
- for (int r : roamings) {
- for (int m : meterings) {
- for (int d : defaultNetworks) {
- final int i = stats.findIndex(iface, uid, s, tag, m, r, d);
- if (i != -1) {
- entry.add(stats.getValues(i, null));
- }
- }
- }
- }
- }
-
- assertEquals("unexpected rxBytes", rxBytes, entry.rxBytes);
- assertEquals("unexpected rxPackets", rxPackets, entry.rxPackets);
- assertEquals("unexpected txBytes", txBytes, entry.txBytes);
- assertEquals("unexpected txPackets", txPackets, entry.txPackets);
- assertEquals("unexpected operations", operations, entry.operations);
- }
-
private static void assertValues(NetworkStatsHistory stats, long start, long end, long rxBytes,
long rxPackets, long txBytes, long txPackets, int operations) {
final NetworkStatsHistory.Entry entry = stats.getValues(start, end, null);
@@ -1382,14 +1208,6 @@
return new NetworkState(info, prop, new NetworkCapabilities(), VPN_NETWORK, null, null);
}
- private static VpnInfo createVpnInfo(String underlyingIface) {
- VpnInfo info = new VpnInfo();
- info.ownerUid = UID_VPN;
- info.vpnIface = TUN_IFACE;
- info.primaryUnderlyingIface = underlyingIface;
- return info;
- }
-
private long getElapsedRealtime() {
return mElapsedRealtime;
}
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_incorrect_iface b/tests/net/res/raw/xt_qtaguid_vpn_incorrect_iface
new file mode 100644
index 0000000..fc92715
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_incorrect_iface
@@ -0,0 +1,3 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test1 0x0 1004 0 1100 100 1100 100 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_one_underlying b/tests/net/res/raw/xt_qtaguid_vpn_one_underlying
new file mode 100644
index 0000000..1ef1889
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_one_underlying
@@ -0,0 +1,5 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 2000 200 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
+4 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+5 test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_one_underlying_compression b/tests/net/res/raw/xt_qtaguid_vpn_one_underlying_compression
new file mode 100644
index 0000000..6d6bf55
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_one_underlying_compression
@@ -0,0 +1,4 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test_nss_tun0 0x0 1002 0 3000 300 3000 300 0 0 0 0 0 0 0 0 0 0 0 0
+4 test0 0x0 1004 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_one_underlying_own_traffic b/tests/net/res/raw/xt_qtaguid_vpn_one_underlying_own_traffic
new file mode 100644
index 0000000..2c2e5d2
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_one_underlying_own_traffic
@@ -0,0 +1,6 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 2000 200 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
+4 test_nss_tun0 0x0 1004 0 5000 500 6000 600 0 0 0 0 0 0 0 0 0 0 0 0
+5 test0 0x0 1004 0 8800 800 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+6 test0 0x0 1004 1 0 0 8250 750 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_rewrite_through_self b/tests/net/res/raw/xt_qtaguid_vpn_rewrite_through_self
new file mode 100644
index 0000000..afcdd71
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_rewrite_through_self
@@ -0,0 +1,6 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 2000 200 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
+4 test_nss_tun0 0x0 1004 0 0 0 1600 160 0 0 0 0 0 0 0 0 0 0 0 0
+5 test0 0x0 1004 1 0 0 1760 176 0 0 0 0 0 0 0 0 0 0 0 0
+6 test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_duplication b/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_duplication
new file mode 100644
index 0000000..d7c7eb9
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_duplication
@@ -0,0 +1,5 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test_nss_tun0 0x0 1002 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+4 test0 0x0 1004 0 2200 200 2200 200 0 0 0 0 0 0 0 0 0 0 0 0
+5 test1 0x0 1004 0 2200 200 2200 200 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_split b/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_split
new file mode 100644
index 0000000..38a3dce
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_split
@@ -0,0 +1,4 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 500 50 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test0 0x0 1004 0 330 30 660 60 0 0 0 0 0 0 0 0 0 0 0 0
+4 test1 0x0 1004 0 220 20 440 40 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_split_compression b/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_split_compression
new file mode 100644
index 0000000..d35244b
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_two_underlying_split_compression
@@ -0,0 +1,4 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 1000 100 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test0 0x0 1004 0 600 60 600 60 0 0 0 0 0 0 0 0 0 0 0 0
+4 test1 0x0 1004 0 200 20 200 20 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_vpn_with_clat b/tests/net/res/raw/xt_qtaguid_vpn_with_clat
new file mode 100644
index 0000000..0d893d5
--- /dev/null
+++ b/tests/net/res/raw/xt_qtaguid_vpn_with_clat
@@ -0,0 +1,8 @@
+idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
+2 test_nss_tun0 0x0 1001 0 2000 200 1000 100 0 0 0 0 0 0 0 0 0 0 0 0
+3 test_nss_tun0 0x0 1002 0 1000 100 500 50 0 0 0 0 0 0 0 0 0 0 0 0
+4 v4-test0 0x0 1004 0 3300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+5 v4-test0 0x0 1004 1 0 0 1650 150 0 0 0 0 0 0 0 0 0 0 0 0
+6 test0 0x0 0 0 9300 300 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+7 test0 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+8 test0 0x0 1029 0 0 0 4650 150 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file
diff --git a/tests/net/res/raw/xt_qtaguid_with_clat_simple b/tests/net/res/raw/xt_qtaguid_with_clat_simple
index 8c132e7..b37fae6 100644
--- a/tests/net/res/raw/xt_qtaguid_with_clat_simple
+++ b/tests/net/res/raw/xt_qtaguid_with_clat_simple
@@ -2,5 +2,4 @@
2 v4-wlan0 0x0 10060 0 42600 213 4100 41 42600 213 0 0 0 0 4100 41 0 0 0 0
3 v4-wlan0 0x0 10060 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 wlan0 0x0 0 0 46860 213 0 0 46860 213 0 0 0 0 0 0 0 0 0 0
-5 wlan0 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-6 wlan0 0x0 1029 0 0 0 4920 41 0 0 0 0 0 0 4920 41 0 0 0 0
+5 wlan0 0x0 1029 0 0 0 4920 41 0 0 0 0 0 0 4920 41 0 0 0 0
diff --git a/tests/permission/src/com/android/framework/permission/tests/VibratorServicePermissionTest.java b/tests/permission/src/com/android/framework/permission/tests/VibratorServicePermissionTest.java
index 388c7d0..c50229a 100644
--- a/tests/permission/src/com/android/framework/permission/tests/VibratorServicePermissionTest.java
+++ b/tests/permission/src/com/android/framework/permission/tests/VibratorServicePermissionTest.java
@@ -16,9 +16,7 @@
package com.android.framework.permission.tests;
-import junit.framework.TestCase;
-
-import android.media.AudioManager;
+import android.media.AudioAttributes;
import android.os.Binder;
import android.os.IVibratorService;
import android.os.Process;
@@ -27,6 +25,9 @@
import android.os.VibrationEffect;
import android.test.suitebuilder.annotation.SmallTest;
+import junit.framework.TestCase;
+
+
/**
* Verify that Hardware apis cannot be called without required permissions.
*/
@@ -51,7 +52,10 @@
try {
final VibrationEffect effect =
VibrationEffect.createOneShot(100, VibrationEffect.DEFAULT_AMPLITUDE);
- mVibratorService.vibrate(Process.myUid(), null, effect, AudioManager.STREAM_ALARM,
+ final AudioAttributes attrs = new AudioAttributes.Builder()
+ .setUsage(AudioAttributes.USAGE_ALARM)
+ .build();
+ mVibratorService.vibrate(Process.myUid(), null, effect, attrs,
"testVibrate", new Binder());
fail("vibrate did not throw SecurityException as expected");
} catch (SecurityException e) {